diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0e90856 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +**/output/ +**/bin/ +**/obj/ +**/*.log +.vs/ \ No newline at end of file diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/INSTALL.txt b/INSTALL.txt new file mode 100644 index 0000000..943315f --- /dev/null +++ b/INSTALL.txt @@ -0,0 +1,48 @@ +[Last update: 2007/02/18] + +-= INTRO=- + +This top level projects: + + - pjlib: portability and basic framework library + - pjlib-util: lexical scanner, XML, STUN, MD5, DNS, etc. + - pjmedia: media framework and codecs + - pjsip: SIP stacks (core, UA layer, SIMPLE, etc.) + - pjsip-apps: SIP apps (pjsua, pjsip-perf) + + +-= COMPILING =- + +On Windows: + - Visual Studio 6: open pjproject.dsw + - Visual Studio 8/2005: open pjproject-vs8.sln + - Embedded VisualC 4: open open pjsip-apps\build\wince-evc4\wince_demos.vcw + - Build pjsua + +With Makefile: + - on top level dir (e.g. ~/pjproject) + - ./configure && make dep && make clean && make + +Binaries will be in pjsip-apps/bin. + + +-= PYTHON MODULE =- + +On Windows: + - Visual Studio 6: open pjsip-apps\build\pjsip_apps.dsw + - Build py_pjsua module + +With GNU and Python: + - cd pjsip-apps/src/py_pjsua + - python setup.py install + +One Python sample application is provided: + pjsip-apps/src/py_pjsua/pjsua_app.py + + +-= PORTING =- + + - Just need to port pjlib. + - PJLIB doc has detailed info how to do this. + - Must pass pjlib-test! + diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..20af077 --- /dev/null +++ b/Makefile @@ -0,0 +1,147 @@ +include build.mak +include build/host-$(HOST_NAME).mak +-include user.mak +include version.mak + +LIB_DIRS = pjlib/build pjlib-util/build pjnath/build third_party/build pjmedia/build pjsip/build +DIRS = $(LIB_DIRS) pjsip-apps/build $(EXTRA_DIRS) + +ifdef MINSIZE +MAKE_FLAGS := MINSIZE=1 +endif + +all clean dep depend print: + for dir in $(DIRS); do \ + if $(MAKE) $(MAKE_FLAGS) -C $$dir $@; then \ + true; \ + else \ + exit 1; \ + fi; \ + done + +distclean realclean: + for dir in $(DIRS); do \ + if $(MAKE) $(MAKE_FLAGS) -C $$dir $@; then \ + true; \ + else \ + exit 1; \ + fi; \ + done + $(HOST_RM) config.log + $(HOST_RM) config.status + +lib: + for dir in $(LIB_DIRS); do \ + if $(MAKE) $(MAKE_FLAGS) -C $$dir lib; then \ + true; \ + else \ + exit 1; \ + fi; \ + done; \ + + +.PHONY: lib doc + +doc: + @if test \( ! "$(WWWDIR)" == "" \) -a \( ! -d $(WWWDIR)/pjlib/docs/html \) ; then \ + echo 'Directory "$(WWWDIR)" does not look like a valid pjsip web directory'; \ + exit 1; \ + fi + for dir in $(DIRS); do \ + if $(MAKE) $(MAKE_FLAGS) -C $$dir $@; then \ + true; \ + else \ + exit 1; \ + fi; \ + done + +LIBS = pjlib/lib/libpj-$(TARGET_NAME).a \ + pjlib-util/lib/libpjlib-util-$(TARGET_NAME).a \ + pjnath/lib/libpjnath-$(TARGET_NAME).a \ + pjmedia/lib/libpjmedia-$(TARGET_NAME).a \ + pjmedia/lib/libpjmedia-audiodev-$(TARGET_NAME).a \ + pjmedia/lib/libpjmedia-codec-$(TARGET_NAME).a \ + pjsip/lib/libpjsip-$(TARGET_NAME).a \ + pjsip/lib/libpjsip-ua-$(TARGET_NAME).a \ + pjsip/lib/libpjsip-simple-$(TARGET_NAME).a \ + pjsip/lib/libpjsua-$(TARGET_NAME).a +BINS = pjsip-apps/bin/pjsua-$(TARGET_NAME)$(HOST_EXE) + +size: + @echo -n 'Date: ' + @date + @echo + @for lib in $(LIBS); do \ + echo "$$lib:"; \ + size -t $$lib | awk '{print $$1 "\t" $$2 "\t" $$3 "\t" $$6}'; \ + echo; \ + done + @echo + @for bin in $(BINS); do \ + echo "size $$bin:"; \ + size $$bin; \ + done + +#dos2unix: +# for f in `find . | egrep '(mak|h|c|S|s|Makefile)$$'`; do \ +# dos2unix "$$f" > dos2unix.tmp; \ +# cp dos2unix.tmp "$$f"; \ +# done +# rm -f dos2unix.tmp + +xhdrid: + for f in `find . | egrep '\.(h|c|S|s|cpp|hpp)$$'`; do \ + echo Processing $$f...; \ + cat $$f | sed 's/.*\$$Author\$$/ */' > /tmp/id; \ + cp /tmp/id $$f; \ + done + +selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test + +pjlib-test: pjlib/bin/pjlib-test-$(TARGET_NAME) + cd pjlib/build && ../bin/pjlib-test-$(TARGET_NAME) + +pjlib-util-test: pjlib-util/bin/pjlib-util-test-$(TARGET_NAME) + cd pjlib-util/build && ../bin/pjlib-util-test-$(TARGET_NAME) + +pjnath-test: pjnath/bin/pjnath-test-$(TARGET_NAME) + cd pjnath/build && ../bin/pjnath-test-$(TARGET_NAME) + +pjmedia-test: pjmedia/bin/pjmedia-test-$(TARGET_NAME) + cd pjmedia/build && ../bin/pjmedia-test-$(TARGET_NAME) + +pjsip-test: pjsip/bin/pjsip-test-$(TARGET_NAME) + cd pjsip/build && ../bin/pjsip-test-$(TARGET_NAME) + +pjsua-test: + cd tests/pjsua && python runall.py + +install: + mkdir -p $(DESTDIR)$(libdir)/ +# cp -af $(APP_LIB_FILES) $(DESTDIR)$(libdir)/ + cp -af $(APP_LIBXX_FILES) $(DESTDIR)$(libdir)/ + mkdir -p $(DESTDIR)$(includedir)/ + for d in pjlib pjlib-util pjnath pjmedia pjsip; do \ + cp -RLf $$d/include/* $(DESTDIR)$(includedir)/; \ + done + mkdir -p $(DESTDIR)$(libdir)/pkgconfig + sed -e "s!@PREFIX@!$(prefix)!" libpjproject.pc.in | \ + sed -e "s!@INCLUDEDIR@!$(includedir)!" | \ + sed -e "s!@LIBDIR@!$(libdir)!" | \ + sed -e "s/@PJ_VERSION@/$(PJ_VERSION)/" | \ + sed -e "s!@PJ_LDLIBS@!!" | \ + sed -e "s!@PJ_LDXXLIBS@!$(PJ_LDXXLIBS)!" | \ + sed -e "s!@PJ_INSTALL_CFLAGS@!!" | \ + sed -e "s!@PJ_INSTALL_CXXFLAGS@!$(PJ_INSTALL_CXXFLAGS)!" > $(DESTDIR)/$(libdir)/pkgconfig/libpjproject.pc + +uninstall: + $(RM) $(DESTDIR)$(libdir)/pkgconfig/libpjproject.pc + -rmdir $(DESTDIR)$(libdir)/pkgconfig 2> /dev/null + for d in pjlib pjlib-util pjnath pjmedia pjsip; do \ + for f in $$d/include/*; do \ + $(RM) -r "$(DESTDIR)$(includedir)/`basename $$f`"; \ + done; \ + done + -rmdir $(DESTDIR)$(includedir) 2> /dev/null + $(RM) $(addprefix $(DESTDIR)$(libdir)/,$(notdir $(APP_LIB_FILES))) + -rmdir $(DESTDIR)$(libdir) 2> /dev/null diff --git a/README-RTEMS b/README-RTEMS new file mode 100644 index 0000000..9132319 --- /dev/null +++ b/README-RTEMS @@ -0,0 +1,87 @@ + + + + Build Instructions for PJLIB/PJMEDIA/PJSIP RTEMS Port + + + +The RTEMS port uses the POSIX abstraction layer at the moment, and has been +tested with RTEMS 4.6 on i386 target. + + +Building RTEMS +--------------- +I use RTEMS 4.6 on a cygwin host with i386/pc386 as target, but I think it +should work with different RTEMS versions/hosts/targets. + +RTEMS was built with the following commands: + + $ /opt/src/rtems-4.6.6/configure --enable-cxx --enable-posix --enable-networking --enable-rdbg --enable-tests --enable-rtemsbsp=pc386 --target=i386-rtems + $ make + $ make install + + +Supported Targets +----------------- +At the moment, pjlib supports i386 and mpc860 CPU target. For other targets, +you would need to create/tweak the appropriate "m-xxx.mak" in "build" directory +and the corresponding "m_xxx.h" header file in "pj/compat" directory. + +Please refer to pjlib porting guide about how to port PJLIB to new CPU target. + + +Building PJLIB/PJMEDIA/PJSIP +---------------------------- +Use the following steps to build the libraries: + + +1. Set RTEMS_LIBRARY_PATH environment variable to point to your BSP directory + (which is /). + + For example (with sh): + + $ export RTEMS_LIBRARY_PATH=/opt/rtems-4.6/i386-rtems/pc386 + + +2. Unfortunately pjproject's configure script is unable to create "build.mak" + for cross compilation (but this may change in the future), so we need to + create "build.mak" manually. + + The file "README-configure" has some info about the variables in "build.mak". + + For example, the "build.mak" for i386 target: + + export MACHINE_NAME := i386 + export OS_NAME := rtems + export HOST_NAME := mingw + export CC_NAME := gcc + export TARGET_NAME := i386-rtems + export CROSS_COMPILE := i386-rtems- + + +3. Put additional CFLAGS or LDFLAGS that are specific to your target in + "user.mak". + + For example, my "user.mak" looks like this: + + export CFLAGS += + export LDFLAGS += -Wl,-Ttext,0x00100000 -Wl,--defsym -Wl,HeapSize=0x400000 + + +4. Build the libraries: + + $ make dep && make distclean && make + + +5. That should be it. The libraries should be in "lib" directory and + applications in "bin" directory. + + + +Acknowledgements +---------------- +Many thanks for Phil Torre , who did most of the +initial porting and testing with pjlib etc. All credits go to him. + + + diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..bc45da8 --- /dev/null +++ b/README.txt @@ -0,0 +1,964 @@ + Copyright (C) 2003-2008 Benny Prijono + Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation, either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License along + with this program. If not, see http://www.gnu.org/licenses/. + + +Getting Started: Building and Using PJSIP and PJMEDIA + + [Last Update: $Date: 2007-02-02 20:42:44 +0000 (Fri, 02 Feb 2007) $] + + Print Friendly Page + _________________________________________________________________ + + This article describes how to download, customize, build, and use the open + source PJSIP and PJMEDIA SIP and media stack. The online (and HTML) version + of this file can be downloaded from http://www.pjsip.org/using.htm + + +Quick Info + _________________________________________________________________ + + Building with GNU tools (Linux, *BSD, MacOS X, mingw, etc.) + Generally these should be all that are needed to build the libraries, + applications, and samples: + + $ ./configure + $ make dep && make clean && make + + Building Win32 Target with Microsoft Visual Studio + Generally we can just do these steps: + + 1. Visual Studio 6: open pjproject.dsw workspace, + 2. Visual Studio 2005: open pjproject-vs8.sln solution, + 3. Create an empty pjlib/include/pj/config_site.h, and + 4. build the pjsua application. + + Building for Windows Mobile + Generally these are all that are needed: + + 1. Open pjsip-apps/build/wince-evc4/wince_demos.vcw EVC4 workspace, + 2. Create an empty pjlib/include/pj/config_site.h, and + 3. build the pjsua_wince application. + + Invoking Older Build System (e.g. for RTEMS) + Generally these should be all that are needed to build the libraries, + applications, and samples: + + $ ./configure-legacy + $ make dep && make clean && make + + Locating Output Binaries/Libraries + Libraries will be put in lib directory, and binaries will be put in + bin directory, under each projects. + + Running the Applications + After successful build, you can try running pjsua application on + pjsip-apps/bin directory. PJSUA manual can be found in + http://www.pjsip.org/pjsua.htm page. + + +Table of Contents: + _________________________________________________________________ + + 1. Getting the Source Distribution + + 1.1 Getting the Release tarball + + 1.2 Getting from Subversion trunk + + 1.3 Source Directories Layout + + 2. Build Preparation + + 2.1 config_site.h file + + 2.2 Disk Space Requirements + + 3. Building Linux, *nix, *BSD, and MacOS X Targets with GNU Build + Systems + + 3.1 Supported Targets + + 3.2 Requirements + + 3.3 Running configure + + 3.4 Running make + + 3.5 Cross Compilation + + 3.6 Build Customizations + + 4. Building for Windows Targets with Microsoft Visual Studio + + 4.1 Requirements + + 4.2 Building the Projects + + 4.3 Debugging the Sample Application + + 5. Building for Windows Mobile Targets (Windows CE/WinCE/PDA/SmartPhone) + + 5.1 Requirements + + 5.2 Building the Projects + + 6. Older PJLIB Build System for Non-Autoconf Targets (e.g. RTEMS) + + 6.1 Supported Targets + + 6.2 Invoking the Build System + + 7. Running the Applications + + 7.1 pjsua + + 7.2 Sample Applications + + 7.3 pjlib-test + + 7.4 pjsip-test + + 8. Using PJPROJECT with Applications + + + Appendix I: Common Problems/Frequently Asked Question (FAQ) + + I.1 fatal error C1083: Cannot open include file: 'pj/config_site.h': + No such file or directory + + +1. Getting the Source Code Distribution + _________________________________________________________________ + + All libraries (PJLIB, PJLIB-UTIL, PJSIP, PJMEDIA, and PJMEDIA-CODEC) are + currently distributed under a single source tree, collectively named as + PJPROJECT or just PJ libraries. These libraries can be obtained by either + downloading the release tarball or getting them from the Subversion trunk. + + +1.1 Getting the Release tarball + _________________________________________________________________ + + Getting the released tarball is a convenient way to obtain stable version of + PJPROJECT. The tarball may not contain the latest features or bug-fixes, but + normally it is considered more stable as each will be tested more rigorously + before released. + + The latest released tarball can be downloaded from the + http://www.pjsip.org/download.htm. + + +1.2 Getting from Subversion trunk + _________________________________________________________________ + + PJPROJECT Subversion repository will always contain the latest/most + up-to-date version of the sources. Normally the Subversion repository is + always kept in a "good" state. However, there's always a chance that things + break and the tree doesn't build correctly (particularly for the + "not-so-popular" targets), so please consult the mailing list should there + be any problems. + + Using Subversion also has benefits of keeping the local copy of the source + up to date with the main PJ source tree and to easily track the changes made + to the local copy, if any. + + +What is Subversion + + Subversion (SVN) is Open Source version control system similar to CVS. + Subversion homepage is in http://subversion.tigris.org/ + + +Getting Subversion Client + + A Subversion (SVN) client is needed to download the PJ source files from + pjsip.org SVN tree. SVN client binaries can be downloaded from + http://subversion.tigris.org/, and the program should be available for + Windows, Linux, MacOS X, and many more platforms. + + +Getting the Source for The First Time + + Once Subversion client is installed, we can use these commands to initially + retrieve the latest sources from the Subversion trunk: + + + + $ svn co http://svn.pjproject.net/repos/pjproject/trunk pjproject + $ cd pjproject + + +Keeping The Local Copy Up-to-Date + + Once sources have been downloaded, we can keep the local copy up to date by + periodically synchronizing the local source with the latest revision from + the PJ's Subversion trunk. The mailing list provides best source of + information about the availability of new updates in the trunk. + + To update the local copy with the latest changes in the main PJ's + repository: + + + + $ cd pjproject + $ svn update + + +Tracking Local and Remote Changes + + To see what files have been changed locally: + + + + $ cd pjproject + $ svn status + + The above command only compares local file against the original local copy, + so it doesn't require Internet connection while performing the check. + + To see both what files have been changed locally and what files have been + updated in the PJ's Subversion repository: + + + + $ cd pjproject + $ svn status -u + + Note that this command requires active Internet connection to query the + status of PJPROJECT's source repository. + + +1.3 Source Directories Layout + _________________________________________________________________ + +Top-Level Directory Layout + + The top-level directories (denoted as $TOP here) in the source distribution + contains the following sub-directories: + + $TOP/build + Contains makefiles that are common for all projects. + + $TOP/pjlib + Contains header and source files of PJLIB. PJLIB is the base + portability and framework library which is used by all other + libraries + + $TOP/pjlib-util + Contains PJLIB-UTIL header and source files. PJLIB-UTIL is an + auxiliary library that contains utility functions such as scanner, + XML, STUN, MD5 algorithm, getopt() implementation, etc. + + $TOP/pjmedia + Contains PJMEDIA and PJMEDIA-CODEC header and source files. The + sources of various codecs (such as GSM, Speex, and iLBC) can be found + under this directory. + + $TOP/pjsip + Contains PJSIP header and source files. + + $TOP/pjsip-apps + Contains source code for PJSUA and various sample applications. + + +Individual Directory Inside Each Project + + Each library directory further contains these sub-directories: + + bin + Contains binaries produced by the build process. + + build + Contains build scripts/makefiles, project files, project workspace, + etc. to build the project. In particular, it contains one Makefile + file to build the project with GNU build systems, and a *.dsw + workspace file to build the library with Microsoft Visual Studio 6 or + later. + + build/output + The build/output directory contains the object files and other files + generated by the build process. To support building multiple targets + with a single source tree, each build target will occupy a different + subdirectory under this directory. + + build/wince-evc4 + This directory contains the project/workspace files to build Windows + CE/WinCE version of the project using Microsoft Embedded Visual C++ + 4. + + build/wince-evc4/output + This directory contains the library, executable, and object files + generated by Windows Mobile build process. + + docs + Contains Doxygen configuration file (doxygen.cfg) to generate online + documentation from the source files. The output documentation will be + put in this directory as well (for example, docs/html directory for + the HTML files). + + (to generate Doxygen documentation from the source tree, just run + "doxygen docs/doxygen.cfg" in the individual project directory. The + generated files will reside in docs directory). + + include + Contains the header files for the project. + + lib + Contains libraries produced by the build process. + + src + Contains the source files of the project. + + +2. Build Preparation + _________________________________________________________________ + +2.1 Create config_site.h file + _________________________________________________________________ + + Before source files can be built, the pjlib/include/pj/config_site.h file + must be created (it can just be an empty file). + + Note: + When the Makefile based build system is used, this process is taken + care by the Makefiles. But when non-Makefile based build system (such + as Visual Studio) is used, the config_site.h file must be created + manually. + + +What is config_site.h File + + The pjlib/include/pj/config_site.h contains local customizations to the + libraries. + + All customizations should be put in this file instead of modifying PJ's + files, because if PJ's files get modified, then those modified files will + not be updated the next time the source is synchronized. Or in other case, + the local modification may be overwritten with the fresh copy from the SVN. + + Putting the local customization to the config_site.h solves this problem, + because this file is not included in the version control, so it will never + be overwritten by "svn update" command. + + Please find list of configuration macros that can be overriden from these + files: + * PJLIB Configuration (the pjlib/config.h file) + * PJLIB-UTIL Configuration (the pjlib-util/config.h file) + * PJMEDIA Configuration (the pjmedia/config.h file) + * PJSIP Configuration (the pjsip/sip_config.h file) + + A sample config_site.h file is also available in + pjlib/include/config_site_sample.h. + + +Creating config_site.h file + + The simplest way is just to create an empty file, to use whetever default + values set by the libraries. + + Another way to create the config_site.h file is to write something like the + following: + + + // Uncomment to get minimum footprint (suitable for 1-2 concurrent calls + only) + //#define PJ_CONFIG_MINIMAL_SIZE + // Uncomment to get maximum performance + //#define PJ_CONFIG_MAXIMUM_SPEED + #include + + +2.2 Disk Space Requirements + _________________________________________________________________ + + The building process needs: + about 50-60 MB of disk space to store the uncompressed source files, and + * about 30-50 MB of additional space for building each target + + (Visual Studio Debug and Release are considered as separate targets) + + +3. Building Linux, *nix, *BSD, and MacOS X Targets with GNU Build Systems + _________________________________________________________________ + +3.1 Supported Targets + _________________________________________________________________ + + The new, autoconf based GNU build system can be used to build the + libraries/applications for the following targets: + * Linux/uC-Linux (i386, Opteron, Itanium, MIPS, PowerPC, etc.), + * MacOS X (PowerPC), + * mingw (i386), + * FreeBSD and maybe other BSD's (i386, Opteron, etc.), + * RTEMS with cross compilation (ARM, powerpc), + * etc. + + +3.2 Requirements + _________________________________________________________________ + + In order to use PJ's GNU build system, these typical GNU tools are needed: + * GNU make (other make will not work), + * GNU binutils for the target, and + * GNU gcc for the target. + * OpenSSL header files/libraries (optional) if TLS support is wanted. + + In addition, the appropriate "SDK" must be installed for the particular + target (this could just be a libc and the appropriate system abstraction + library such as Posix). + + The build system is known to work on the following hosts: + * Linux, many types of distributions. + * MacOS X 10.2 + * mingw (Win2K, XP) + * FreeBSD (must use gmake instead of make) + + Building Win32 applications with Cygwin is currently not supported by the + autoconf script (there is some Windows header conflicts), but one can still + use the old configure script by calling ./configure-legacy. More over, + cross-compilations might also work with Cygwin. + + +3.3 Running configure + _________________________________________________________________ + +Using Default Settings + + Run "./configure" without any options to let the script detect the + appropriate settings for the host: + + + + $ cd pjproject + $ ./configure + ... + + Notes: + The default settings build the libraries in "release" mode, with + default CFLAGS set to "-O2 -DNDEBUG". To change the default CFLAGS, + we can use the usual "./configure CFLAGS='-g'" construct. + + Features Customization + + With the new autoconf based build system, most configuration/customization + can be specified as configure arguments. The list of customizable features + can be viewed by running "./configure --help" command: + + + + $ cd pjproject + $ ./configure --help + ... + Optional Features: + --disable-floating-point Disable floating point where possible + --disable-sound Exclude sound (i.e. use null sound) + --disable-small-filter Exclude small filter in resampling + --disable-large-filter Exclude large filter in resampling + --disable-g711-plc Exclude G.711 Annex A PLC + --disable-speex-aec Exclude Speex Acoustic Echo Canceller/AEC + --disable-g711-codec Exclude G.711 codecs from the build + --disable-l16-codec Exclude Linear/L16 codec family from the build + --disable-gsm-codec Exclude GSM codec in the build + --disable-speex-codec Exclude Speex codecs in the build + --disable-ilbc-codec Exclude iLBC codec in the build + --disable-tls Force excluding TLS support (default is autodetected based on + OpenSSL availability) + ... + + Configuring Debug Version and Other Customizations + + The configure script accepts standard customization, which details can be + obtained by executing ./configure --help. + + Below is an example of specifying CFLAGS in configure: + + + + $ ./configure CFLAGS="-O3 -DNDEBUG -msoft-float -fno-builtin" + ... + + Configuring TLS Support + + By default, TLS support is configured based on the availability of OpenSSL + header files and libraries. If OpenSSL is available at the default include + and library path locations, TLS will be enabled by the configure script. + + You can explicitly disable TLS support by giving the configure script + --disable-tls option. + + + 3.4 Cross Compilation + _________________________________________________________________ + + Cross compilation should be supported, using the usual autoconf syntax: + + + + $ ./configure --host=arm-elf-linux + ... + + Since cross-compilation is not tested as often as the "normal" build, please + watch for the ./configure output for incorrect settings (well ideally this + should be done for normal build too). + + Please refer to Porting Guide for further information about porting PJ + software. + + + 3.5 Running make + _________________________________________________________________ + + Once the configure script completes successfully, start the build process by + invoking these commands: + + + + $ cd pjproject + $ make dep + $ make + + Note: + gmake may need to be specified instead of make for some hosts, to + invoke GNU make instead of the native make. + + + Description of all make targets supported by the Makefile's: + + all + The default (or first) target to build the libraries/binaries. + + dep, depend + Build dependencies rule from the source files. + + clean + Clean the object files for current target, but keep the output + library/binary files intact. + + distclean, realclean + Remove all generated files (object, libraries, binaries, and + dependency files) for current target. + + + Note: + make can be invoked either in the top-level PJ directory or in build + directory under each project to build only the particular project. + + + 3.6 Build Customizations + _________________________________________________________________ + + Build features can be customized by specifying the options when running + ./configure as described in Running Configure above. + + In addition, additional CFLAGS and LDFLAGS options can be put in user.mak + file in PJ root directory (this file may need to be created if it doesn't + exist). Below is a sample of user.mak file contents: + + + + export CFLAGS += -msoft-float -fno-builtin + export LDFLAGS += + + +4. Building for Windows Targets with Microsoft Visual Studio + _________________________________________________________________ + + 4.1 Requirements + _________________________________________________________________ + + The Microsoft Visual Studio based project files can be used with one of the + following: + + * Microsoft Visual Studio 6, + * Microsoft Visual Studio .NET 2002, + * Microsoft Visual Studio .NET 2003, + * Microsoft Visual C++ 2005 (including Express edition), + + In addition, the following SDK's are needed: + * Platform SDK, if you're using Visual Studio 2005 Express (tested with + Platform SDK for Windows Server 2003 SP1), + * DirectX SDK (tested with DirectX version 8 and 9), + * OpenSSL development kit would be needed if TLS support is wanted, or + otherwise this is optional. + + For the host, the following are required: + * Windows NT, 2000, XP, 2003, or later , + * Windows 95/98 should work too, but this has not been tested, + * Sufficient amount of RAM for the build process (at least 256MB). + + + Enabling TLS Support with OpenSSL + + If TLS support is wanted, then OpenSSL SDK must be installed in the + development host. + + To install OpenSSL SDK from the Win32 binary distribution: + 1. Install OpenSSL SDK to any folder (e.g. C:\OpenSSL) + 2. Add OpenSSL DLL location to the system PATH. + 3. Add OpenSSL include path to Visual Studio includes search directory. + Make sure that OpenSSL header files can be accessed from the program + with #include construct. + 4. Add OpenSSL library path to Visual Studio library search directory. Make + sure the following libraries are accessible: + + For Debug build: libeay32MTd and ssleay32MTd. + + For Release build: libeay32MT and ssleay32MT. + + Then to enable TLS transport support in PJSIP, just add + + #define PJSIP_HAS_TLS_TRANSPORT 1 + + in your pj/config_site.h. When this macro is defined, OpenSSL libraries will + be automatically linked to the application via the #pragma construct in + sip_transport_tls_ossl.c file. + + + 4.2 Building the Projects + _________________________________________________________________ + + Follow the steps below to build the libraries/application using Visual + Studio: + 1. For Visual Studio 6: open pjproject.dsw workspace file. + 2. For Visual Studio 8 (VS 2005): open pjproject-vs8.sln solution file. + 3. Set pjsua as Active Project. + 4. Select Debug or Release build as appropriate. + 5. Build the project. This will build pjsua application and all libraries + needed by pjsua. + 6. After successful build, the pjsua application will be placed in + pjsip-apps/bin directory, and the libraries in lib directory under each + projects. + + To build the samples: + 1. (Still using the same workspace) + 2. Set samples project as Active Project + 3. Select Debug or Release build as appropriate. + 4. Build the project. This will build all sample applications and all + libraries needed. + 5. After successful build, the sample applications will be placed in + pjsip-apps/bin/samples directory, and the libraries in lib directory + under each projects. + + 4.3 Debugging the Sample Application + _________________________________________________________________ + + The sample applications are build using Samples.mak makefile, therefore it + is difficult to setup debugging session in Visual Studio for these + applications. To solve this issue, the pjsip_apps workspace contain one + project called sample_debug which can be used to debug the sample + application. + + To setup debugging using sample_debug project: + 1. (Still using pjsip_apps workspace) + 2. Set sample_debug project as Active Project + 3. Edit debug.c file inside this project. + 4. Modify the #include line to include the particular sample application to + debug + 5. Select Debug build. + 6. Build and debug the project. + + +5. Building for Windows Mobile Targets (Windows CE/WinCE/PDA/SmartPhone) + _________________________________________________________________ + + PJ supports building SIP and media stacks and applications for Windows + Mobile targets. A very simple WinCE SIP user agent (with media) application + is provided just as proof of concept that the port works. + + 5.1 Requirements + _________________________________________________________________ + + One of the following development tools is needed to build SIP and media + components for Windows Mobile: + * Microsoft Embedded Visual C++ 4 with appropriate SDKs, or + * Microsoft Visual Studio 2005 for Windows Mobile with appropriate SDKs. + + Note that VS2005 is not directly supported (as I don't have the tools), but + it is reported to work (I assumed that VS2005 for Windows Mobile can import + EVC4 workspace file). + + 5.2 Building the Projects + _________________________________________________________________ + + The Windows Mobile port is included in the main source distribution. Please + follow the following steps to build the WinCE libraries and sample + application: + 1. Open pjsip-apps/build/wince-evc4/wince_demos.vcw workspace file. If + later version of EVC4 is being used, this may cause the workspace file + to be converted to the appropriate format. + 2. Select pjsua_wince project as the Active Project. + 3. Select the appropriate SDK (for example Pocket PC 2003 SDK or SmartPhone + 2003 SDK) + 4. Select the appropriate configuration (for example, Win32 (WCE Emulator + Debug) to debug the program in emulator, or other configurations such as + ARMV4, MIPS, SH3, SH4, or whatever suitable for the device) + 5. Select the appropriate device (Emulator or the actual Device). + 6. Build the project. This will build the sample WinCE application and all + libraries (SIP, Media, etc.) needed by this application. + + Notes + + + If the config_site.h includes config_site_sample.h file, then + there are certain configuration in config_site_sample.h that get + activated for Windows CE targets. Please make sure that these + configurations are suitable for the application. + + The libraries, binaries and object files produced by the build + process are located under build/wince-evc4/output directory of each + projects. + + +6. Older PJLIB Build System for Non-Autoconf Targets (e.g. RTEMS) + _________________________________________________________________ + + The old PJLIB build system can still be used for building PJ libraries, for + example for RTEMS target. Please see the Porting PJLIB page in PJLIB + Reference documentation for information on how to support new target using + this build system. + + 6.1 Supported Targets + _________________________________________________________________ + + The older build system supports building PJ libraries for the following + operating systems: + * RTEMS + * Linux + * MacOS X + * Cygwin and Mingw + + And it supports the following target architectures: + * i386, x86_64, itanium + * ARM + * mips + * powerpc + * mpc860 + * etc. + + For other targets, specific files need to be added to the build system, + please see the Porting PJLIB page in PJLIB Reference documentation for + details. + + 6.2 Invoking the Build System + _________________________________________________________________ + + To invoke the older build system, run the following: + + + + $ cd pjproject + $ ./configure-legacy + $ make dep && make clean && make + + + +7. Running the Applications + _________________________________________________________________ + + Upon successful build, the output libraries (PJLIB, PJLIB-UTIL, PJMEDIA, + PJSIP, etc.) are put under ./lib sub-directory under each project directory. + In addition, some applications may also be built, and such applications will + be put in ./bin sub-directory under each project directory. + + + 7.1 pjsua + _________________________________________________________________ + + pjsua is the reference implementation for both PJSIP and PJMEDIA stack, and + is the main target of the build system. Upon successful build, pjsua + application will be put in pjsip-apps/bin directory. + + pjsua manual can be found in pjsua Manual Page. + + + 7.2 Sample Applications + _________________________________________________________________ + + Sample applications will be built with the Makefile build system. For Visual + Studio, you have to build the samples manually by selecting and building the + Samples project inside pjsip-apps/build/pjsip_apps.dsw project workspace. + + Upon successful build, the sample applications are put in + pjsip-apps/bin/samples directory. + + The sample applications are described in PJMEDIA Samples Page and + PJSIP Samples Page in the website. + + + 7.3 pjlib-test + _________________________________________________________________ + + pjlib-test contains comprehensive tests for testing PJLIB functionality. + This application will only be built when the Makefile build system is used; + with Visual Studio, one has to open pjlib.dsw project in pjlib/build + directory to build this application. + + If you're porting PJLIB to new target, it is recommended to run this + application to make sure that all functionalities works as expected. + + + 7.4 pjsip-test + _________________________________________________________________ + + pjsip-test contains codes for testing various SIP functionalities in PJSIP + and also to benchmark static performance metrics such as message parsing per + second. + + + +8. Using PJPROJECT with Applications + _________________________________________________________________ + + Regardless of the build system being used, the following tasks are normally + needed to be done in order to build application to use PJSIP and PJMEDIA: + 1. Put these include directories in the include search path: + + pjlib/include + + pjlib-util/include + + pjmedia/include + + pjsip/include + 2. Put these library directories in the library search path: + + pjlib/lib + + pjlib-util/lib + + pjmedia/lib + + pjsip/lib + 3. Include the relevant PJ header files in the application source file. For + example, using these would include ALL APIs exported by PJ: + + #include + #include + #include + #include + #include + #include + #include + #include + (Note: the documentation of the relevant libraries should say which + header files should be included to get the declaration of the APIs). + 4. Declare the OS macros. + + For Windows applications built with Visual Studio, we need to + declare PJ_WIN32=1 macro in the project settings (declaring the + macro in the source file may not be sufficient). + + For Windows Mobile applications build with Visual C++, we need to + declare PJ_WIN32_WINCE=1 macro in the project settings. + + For GNU build system/autoconf based build system, we need to + declare PJ_AUTOCONF=1 macro when compiling the applications. + (Note: the old PJ build system requires declaring the target processor + with PJ_M_XXX=1 macro, but this has been made obsolete. The target + processor will be detected from compiler's predefined macro by + pjlib/config.h file). + 5. Link with the appropriate PJ libraries. The following libraries will + need to be included in the library link specifications: + + pjlib + Base library used by all libraries. + + pjlib-util + Auxiliary library containing scanner, XML, STUN, MD5, getopt, + etc, used by the SIP and media stack. + + pjsip + SIP core stack library. + + pjsip-ua + SIP user agent library containing INVITE session, call + transfer, client registration, etc. + + pjsip-simple + SIP SIMPLE library for base event framework, presence, instant + messaging, etc. + + pjsua + High level SIP UA library, combining SIP and media stack into + high-level easy to use API. + + pjmedia + The media framework. + + pjmedia-codec + Container library for various codecs such as GSM, Speex, and + iLBC. + + + Note: the actual library names will be appended with the target name and the + build configuration. For example: + + For Visual Studio builds + The actual library names will look like + pjlib-i386-win32-vc6-debug.lib, + pjlib-i386-win32-vc6-release.lib, etc., depending on whether we + are building the Debug or Release version of the library. + + An easier way to link with the libraries is to include PJ + project files in the workspace, and to configure project + dependencies so that the application depends on the PJ + libraries. This way, we don't need to manually add each PJ + libraries to the input library file specification, since VS + will automatically link the dependency libraries with the + application. + + For Windows Mobile builds + Unfortunately the PJ libraries built for Windows Mobile will + not be placed in the usual lib directory, but rather under the + output directory under build/wince-evc4 project directory. + + An easier way to link with the libraries is to include PJ + project files in the workspace, and to configure project + dependencies so that the application depends on the PJ + libraries. This way, we don't need to manually add each PJ + libraries to the input library file specification, since VS + will automatically link the dependency libraries with the + application. + + For GNU builds + Application's Makefile can get the PJ library suffix by + including PJ's build.mak file from the root PJ directory (the + suffix is contained in TARGET_NAME variable). For example, to + link with PJLIB and PJMEDIA, we can use this syntax in the + LDFLAGS: "-lpj-$(TARGET_NAME) -lpjmedia-$(TARGET_NAME)" + + + 6. Link with system spesific libraries: + + Windows + Add (among other things): wsock32.lib, ws2_32.lib, ole32.lib, + dsound.lib + + Linux, *nix, *BSD + Add (among other things): '-lpthread -lm' (at least). + + MacOS X + Add (among other things): '-framework CoreAudio -lpthread -lm'. + + +Appendix I: Common Problems/Frequently Asked Question (FAQ) + _________________________________________________________________ + + I.1 fatal error C1083: Cannot open include file: 'pj/config_site.h': No such + file or directory + + This error normally occurs when the config_site.h file has not been created. + This file needs to be created manually (an empty file is sufficient). Please + follow the Build Preparation instructions above to create this file. + + + + + + + + + _________________________________________________________________ + + Feedback: + Thanks for using PJ libraries and for reading this document. Please + send feedbacks or general comments to . + diff --git a/aconfigure b/aconfigure new file mode 100644 index 0000000..83fc5d7 --- /dev/null +++ b/aconfigure @@ -0,0 +1,9503 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69 for pjproject 2.x. +# +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='pjproject' +PACKAGE_TARNAME='pjproject' +PACKAGE_VERSION='2.x' +PACKAGE_STRING='pjproject 2.x' +PACKAGE_BUGREPORT='' +PACKAGE_URL='' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='LTLIBOBJS +LIBOBJS +ac_main_obj +ac_host +ac_linux_poll +silk_present +silk_h_present +ac_no_silk +opencore_amrwb_dec_present +opencore_amrwb_dec_h_present +opencore_amrwb_enc_present +opencore_amrwb_enc_h_present +opencore_amrnb_present +opencore_amrnb_h_present +ac_no_opencore_amrwb +ac_no_opencore_amrnb +libcrypto_present +libssl_present +openssl_h_present +ac_no_ssl +ac_libyuv_ldflags +ac_libyuv_cflags +ac_openh264_ldflags +ac_openh264_cflags +ac_v4l2_ldflags +ac_v4l2_cflags +PKG_CONFIG +SAVED_PKG_CONFIG_PATH +ac_ffmpeg_ldflags +ac_ffmpeg_cflags +ac_has_ffmpeg +ac_sdl_ldflags +ac_sdl_cflags +SDL_CONFIG +ac_resample_dll +ac_no_ilbc_codec +ac_no_speex_codec +ac_no_g7221_codec +ac_no_g722_codec +ac_no_gsm_codec +ac_no_l16_codec +ac_no_g711_codec +ac_no_speex_aec +ac_no_large_filter +ac_no_small_filter +ac_qt_cflags +ac_pjmedia_video_has_qt +ac_ios_cflags +ac_pjmedia_video_has_ios +ac_android_cflags +ac_pjmedia_video_has_android +ac_pjmedia_video +ac_pa_use_oss +ac_pa_use_alsa +ac_pjmedia_audiodev_objs +ac_pa_cflags +ac_external_pa +ac_pjmedia_snd +ac_pjmedia_resample +ac_srtp_shutdown_present +ac_srtp_deinit_present +ac_external_srtp +ac_external_gsm +ac_external_speex +ac_shared_libraries +ac_os_objs +EGREP +GREP +CPP +ac_cross_compile +ac_shlib_suffix +ac_build_mak_vars +ac_pjdir +CC_CFLAGS +CC_OPTIMIZE +CC_DEF +CC_INC +CC_OUT +LIBEXT2 +LIBEXT +LDOUT +LD +AR_FLAGS +ac_ct_AR +AR +RANLIB +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +target_os +target_vendor +target_cpu +target +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_floating_point +enable_epoll +enable_shared +with_external_speex +with_external_gsm +with_external_srtp +enable_resample +enable_sound +with_external_pa +enable_oss +enable_video +enable_ext_sound +enable_small_filter +enable_large_filter +enable_speex_aec +enable_g711_codec +enable_l16_codec +enable_gsm_codec +enable_g722_codec +enable_g7221_codec +enable_speex_codec +enable_ilbc_codec +enable_libsamplerate +enable_resample_dll +with_sdl +enable_sdl +with_ffmpeg +enable_ffmpeg +enable_v4l2 +with_openh264 +enable_openh264 +with_libyuv +enable_libyuv +enable_ipp +with_ipp +with_ipp_samples +with_ipp_arch +with_ssl +enable_ssl +with_opencore_amrnb +with_opencore_amr +with_opencore_amrwbenc +enable_opencore_amr +with_silk +enable_silk +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +CPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures pjproject 2.x to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/pjproject] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] + --target=TARGET configure for building compilers for TARGET [HOST] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of pjproject 2.x:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-floating-point + Disable floating point where possible + --enable-epoll Use /dev/epoll ioqueue on Linux (experimental) + --enable-shared Build shared libraries + --disable-resample Disable resampling implementations + --disable-sound Exclude sound (i.e. use null sound) + --disable-oss Disable OSS audio (default: not disabled) + --disable-video Disable video feature + --enable-ext-sound PJMEDIA will not provide any sound device backend + --disable-small-filter Exclude small filter in resampling + --disable-large-filter Exclude large filter in resampling + --disable-speex-aec Exclude Speex Acoustic Echo Canceller/AEC + --disable-g711-codec Exclude G.711 codecs from the build + --disable-l16-codec Exclude Linear/L16 codec family from the build + --disable-gsm-codec Exclude GSM codec in the build + --disable-g722-codec Exclude G.722 codec in the build + --disable-g7221-codec Exclude G.7221 codec in the build + --disable-speex-codec Exclude Speex codecs in the build + --disable-ilbc-codec Exclude iLBC codec in the build + --enable-libsamplerate Link with libsamplerate when available. + --enable-resample-dll Build libresample as shared library + --disable-sdl Disable SDL (default: not disabled) + --disable-ffmpeg Disable ffmpeg (default: not disabled) + --disable-v4l2 Disable Video4Linux2 (default: not disabled) + --disable-openh264 Disable OpenH264 (default: not disabled) + --disable-libyuv Exclude libyuv in the build + --enable-ipp Enable Intel IPP support. Specify the Intel IPP + package and samples location using IPPROOT and + IPPSAMPLES env var or with --with-ipp and + --with-ipp-samples options + --disable-ssl Exclude SSL support the build (default: autodetect) + + --disable-opencore-amr Exclude OpenCORE AMR support from the build + (default: autodetect) + + --disable-silk Exclude SILK support from the build (default: + autodetect) + + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-external-speex Use external Speex development files, not the one in + "third_party" directory. When this option is set, + make sure that Speex is accessible to use (hint: use + CFLAGS and LDFLAGS env var to set the include/lib + paths) + --with-external-gsm Use external GSM codec library, not the one in + "third_party" directory. When this option is set, + make sure that the GSM include/lib files are + accessible to use (hint: use CFLAGS and LDFLAGS env + var to set the include/lib paths) + --with-external-srtp Use external SRTP development files, not the one in + "third_party" directory. When this option is set, + make sure that SRTP is accessible to use (hint: use + CFLAGS and LDFLAGS env var to set the include/lib + paths) + --with-external-pa Use external PortAudio development files, not the + one in "third_party" directory. When this option is + set, make sure that PortAudio is accessible to use + (hint: use CFLAGS and LDFLAGS env var to set the + include/lib paths) + --with-sdl=DIR Specify alternate libSDL prefix + --with-ffmpeg=DIR Specify alternate FFMPEG prefix + --with-openh264=DIR Specify alternate OpenH264 prefix + --with-libyuv=DIR Specify alternate libyuv prefix + --with-ipp=DIR Specify the Intel IPP location + --with-ipp-samples=DIR Specify the Intel IPP samples location + --with-ipp-arch=ARCH Specify the Intel IPP ARCH suffix, e.g. "64" or + "em64t. Default is blank for IA32" + --with-ssl=DIR Specify alternate libssl prefix + --with-opencore-amrnb=DIR + This option is obsolete and replaced by + --with-opencore-amr=DIR + --with-opencore-amr=DIR Specify alternate libopencore-amr prefix + --with-opencore-amrwbenc=DIR + Specify alternate libvo-amrwbenc prefix + --with-silk=DIR Specify alternate SILK prefix + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to the package provider. +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +pjproject configure 2.x +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_compile + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by pjproject $as_me 2.x, which was +generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +host_orig="$host" + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +$as_echo_n "checking target system type... " >&6; } +if ${ac_cv_target+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$target_alias" = x; then + ac_cv_target=$ac_cv_host +else + ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +$as_echo "$ac_cv_target" >&6; } +case $ac_cv_target in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; +esac +target=$ac_cv_target +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_target +shift +target_cpu=$1 +target_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +target_os=$* +IFS=$ac_save_IFS +case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac + + +# The aliases save the names the user supplied, while $host etc. +# will get canonicalized. +test -n "$target_alias" && + test "$program_prefix$program_suffix$program_transform_name" = \ + NONENONEs,x,x, && + program_prefix=${target_alias}- +ac_config_headers="$ac_config_headers pjlib/include/pj/compat/os_auto.h pjlib/include/pj/compat/m_auto.h pjmedia/include/pjmedia/config_auto.h pjmedia/include/pjmedia-codec/config_auto.h pjsip/include/pjsip/sip_autoconf.h" + +ac_config_files="$ac_config_files build.mak build/os-auto.mak build/cc-auto.mak pjlib/build/os-auto.mak pjlib-util/build/os-auto.mak pjmedia/build/os-auto.mak pjsip/build/os-auto.mak third_party/build/os-auto.mak third_party/build/portaudio/os-auto.mak" + + + +if test "$CFLAGS" = ""; then + CFLAGS="-O2" +else + CFLAGS="$CFLAGS" +fi + +CXXFLAGS="$CFLAGS $CXXFLAGS" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if ${ac_cv_cxx_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if ${ac_cv_prog_cxx_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +else + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar gar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar gar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + + +if test "$AR_FLAGS" = ""; then AR_FLAGS="rv"; fi + +if test "$LD" = ""; then LD="$CC"; fi + +if test "$LDOUT" = ""; then LDOUT="-o "; fi + +if test "$OBJEXT" = ""; then OBJEXT='o'; fi + +if test "$LIBEXT" = ""; then LIBEXT='a'; fi + +if test "$LIBEXT2" = ""; then LIBEXT2=""; fi + +if test "$CC_OUT" = ""; then CC_OUT="-o "; fi + +if test "$CC_INC" = ""; then CC_INC="-I"; fi + +if test "$CC_DEF" = ""; then CC_DEF="-D"; fi + +if test "$CC_OPTIMIZE" = ""; then CC_OPTIMIZE="-O2"; fi + +if test "$CC_CFLAGS" = ""; then CC_CFLAGS="-Wall"; fi + + + + + + + +case $host in + *mingw* | *cygw* | *win32* | *w32* ) + if pwd -W 2&> /dev/null; then + ac_pjdir=`pwd -W` + else + # We're probably cross-compiling mingw on Linux + ac_pjdir=`pwd` + fi + ;; + *) + ac_pjdir=`pwd` + ;; +esac + + +case $target in + *mingw* | *cygw* | *win32* | *w32* ) + ac_shlib_suffix=dll + ;; + *darwin*) + ac_shlib_suffix=dylib + ;; + *) + ac_shlib_suffix=so + ;; +esac + + +if test "$build" = "$host"; then + ac_cross_compile= +else + ac_cross_compile=${host_orig}- +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 +$as_echo_n "checking for pthread_create in -lpthread... " >&6; } +if ${ac_cv_lib_pthread_pthread_create+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpthread $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_create (); +int +main () +{ +return pthread_create (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_pthread_pthread_create=yes +else + ac_cv_lib_pthread_pthread_create=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5 +$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; } +if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBPTHREAD 1 +_ACEOF + + LIBS="-lpthread $LIBS" + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for puts in -lwsock32" >&5 +$as_echo_n "checking for puts in -lwsock32... " >&6; } +if ${ac_cv_lib_wsock32_puts+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lwsock32 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char puts (); +int +main () +{ +return puts (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_wsock32_puts=yes +else + ac_cv_lib_wsock32_puts=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_wsock32_puts" >&5 +$as_echo "$ac_cv_lib_wsock32_puts" >&6; } +if test "x$ac_cv_lib_wsock32_puts" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBWSOCK32 1 +_ACEOF + + LIBS="-lwsock32 $LIBS" + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for puts in -lws2_32" >&5 +$as_echo_n "checking for puts in -lws2_32... " >&6; } +if ${ac_cv_lib_ws2_32_puts+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lws2_32 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char puts (); +int +main () +{ +return puts (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ws2_32_puts=yes +else + ac_cv_lib_ws2_32_puts=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ws2_32_puts" >&5 +$as_echo "$ac_cv_lib_ws2_32_puts" >&6; } +if test "x$ac_cv_lib_ws2_32_puts" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBWS2_32 1 +_ACEOF + + LIBS="-lws2_32 $LIBS" + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for puts in -lole32" >&5 +$as_echo_n "checking for puts in -lole32... " >&6; } +if ${ac_cv_lib_ole32_puts+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lole32 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char puts (); +int +main () +{ +return puts (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ole32_puts=yes +else + ac_cv_lib_ole32_puts=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ole32_puts" >&5 +$as_echo "$ac_cv_lib_ole32_puts" >&6; } +if test "x$ac_cv_lib_ole32_puts" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBOLE32 1 +_ACEOF + + LIBS="-lole32 $LIBS" + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for puts in -lwinmm" >&5 +$as_echo_n "checking for puts in -lwinmm... " >&6; } +if ${ac_cv_lib_winmm_puts+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lwinmm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char puts (); +int +main () +{ +return puts (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_winmm_puts=yes +else + ac_cv_lib_winmm_puts=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_winmm_puts" >&5 +$as_echo "$ac_cv_lib_winmm_puts" >&6; } +if test "x$ac_cv_lib_winmm_puts" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBWINMM 1 +_ACEOF + + LIBS="-lwinmm $LIBS" + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for puts in -lsocket" >&5 +$as_echo_n "checking for puts in -lsocket... " >&6; } +if ${ac_cv_lib_socket_puts+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsocket $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char puts (); +int +main () +{ +return puts (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_socket_puts=yes +else + ac_cv_lib_socket_puts=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_puts" >&5 +$as_echo "$ac_cv_lib_socket_puts" >&6; } +if test "x$ac_cv_lib_socket_puts" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBSOCKET 1 +_ACEOF + + LIBS="-lsocket $LIBS" + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for puts in -lrt" >&5 +$as_echo_n "checking for puts in -lrt... " >&6; } +if ${ac_cv_lib_rt_puts+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lrt $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char puts (); +int +main () +{ +return puts (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_rt_puts=yes +else + ac_cv_lib_rt_puts=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_puts" >&5 +$as_echo "$ac_cv_lib_rt_puts" >&6; } +if test "x$ac_cv_lib_rt_puts" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBRT 1 +_ACEOF + + LIBS="-lrt $LIBS" + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5 +$as_echo_n "checking for sin in -lm... " >&6; } +if ${ac_cv_lib_m_sin+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sin (); +int +main () +{ +return sin (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_m_sin=yes +else + ac_cv_lib_m_sin=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5 +$as_echo "$ac_cv_lib_m_sin" >&6; } +if test "x$ac_cv_lib_m_sin" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate in -luuid" >&5 +$as_echo_n "checking for uuid_generate in -luuid... " >&6; } +if ${ac_cv_lib_uuid_uuid_generate+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-luuid $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char uuid_generate (); +int +main () +{ +return uuid_generate (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_uuid_uuid_generate=yes +else + ac_cv_lib_uuid_uuid_generate=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_generate" >&5 +$as_echo "$ac_cv_lib_uuid_uuid_generate" >&6; } +if test "x$ac_cv_lib_uuid_uuid_generate" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBUUID 1 +_ACEOF + + LIBS="-luuid $LIBS" + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_generate in -luuid" >&5 +$as_echo_n "checking for uuid_generate in -luuid... " >&6; } +if ${ac_cv_lib_uuid_uuid_generate+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-luuid $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char uuid_generate (); +int +main () +{ +return uuid_generate (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_uuid_uuid_generate=yes +else + ac_cv_lib_uuid_uuid_generate=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_generate" >&5 +$as_echo "$ac_cv_lib_uuid_uuid_generate" >&6; } +if test "x$ac_cv_lib_uuid_uuid_generate" = xyes; then : + ac_has_uuid_lib=1 +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 +$as_echo_n "checking for library containing gethostbyname... " >&6; } +if ${ac_cv_search_gethostbyname+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +for ac_lib in '' nsl; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_gethostbyname=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_gethostbyname+:} false; then : + break +fi +done +if ${ac_cv_search_gethostbyname+:} false; then : + +else + ac_cv_search_gethostbyname=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 +$as_echo "$ac_cv_search_gethostbyname" >&6; } +ac_res=$ac_cv_search_gethostbyname +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Setting PJ_M_NAME to $target_cpu" >&5 +$as_echo "Setting PJ_M_NAME to $target_cpu" >&6; } +cat >>confdefs.h <<_ACEOF +#define PJ_M_NAME "$target_cpu" +_ACEOF + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking memory alignment" >&5 +$as_echo_n "checking memory alignment... " >&6; } +case $target in + sparc64-* | ia64-* | x86_64-* | arm64-* | aarch64-* | mips64* ) + $as_echo "#define PJ_POOL_ALIGNMENT 8" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: 8 bytes" >&5 +$as_echo "8 bytes" >&6; } + ;; + * ) + $as_echo "#define PJ_POOL_ALIGNMENT 4" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: 4 bytes (default)" >&5 +$as_echo "4 bytes (default)" >&6; } + ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if ${ac_cv_c_bigendian+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +#ifndef _BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; + +int +main () +{ +return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_bigendian=no +else + ac_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h +;; #( + no) + ;; #( + universal) + +$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) + as_fn_error $? "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + esac + + +if test "x$ac_cv_c_bigendian" = "xyes"; then + CFLAGS="$CFLAGS -DPJ_IS_BIG_ENDIAN=1 -DPJ_IS_LITTLE_ENDIAN=0" +else + CFLAGS="$CFLAGS -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1" +fi + +case $target in + *android*) + $as_echo "#define PJ_ANDROID 1" >>confdefs.h + + ;; + *mingw* | *cygw* | *win32* | *w32* ) + $as_echo "#define PJ_WIN32 1" >>confdefs.h + + $as_echo "#define PJ_WIN32_WINNT 0x0400" >>confdefs.h + + $as_echo "#define WIN32_LEAN_AND_MEAN 1" >>confdefs.h + + ;; + *darwin*) + $as_echo "#define PJ_DARWINOS 1" >>confdefs.h + + ;; + *linux*) + $as_echo "#define PJ_LINUX 1" >>confdefs.h + + ;; + *rtems*) + $as_echo "#define PJ_RTEMS 1" >>confdefs.h + + ;; + *sunos* | *solaris* ) + $as_echo "#define PJ_SUNOS 1" >>confdefs.h + + ;; + *) + ;; +esac + + + + +# Check whether --enable-floating-point was given. +if test "${enable_floating_point+set}" = set; then : + enableval=$enable_floating_point; if test "$enable_floating_point" = "no"; then + $as_echo "#define PJ_HAS_FLOATING_POINT 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if floating point is disabled... yes" >&5 +$as_echo "Checking if floating point is disabled... yes" >&6; } + fi +else + + $as_echo "#define PJ_HAS_FLOATING_POINT 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if floating point is disabled... no" >&5 +$as_echo "Checking if floating point is disabled... no" >&6; } + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "arpa/inet.h" "ac_cv_header_arpa_inet_h" "$ac_includes_default" +if test "x$ac_cv_header_arpa_inet_h" = xyes; then : + $as_echo "#define PJ_HAS_ARPA_INET_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "assert.h" "ac_cv_header_assert_h" "$ac_includes_default" +if test "x$ac_cv_header_assert_h" = xyes; then : + $as_echo "#define PJ_HAS_ASSERT_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "ctype.h" "ac_cv_header_ctype_h" "$ac_includes_default" +if test "x$ac_cv_header_ctype_h" = xyes; then : + $as_echo "#define PJ_HAS_CTYPE_H 1" >>confdefs.h + +fi + + + +case $target in + *mingw* | *cygw* | *win32* | *w32* ) + $as_echo "#define PJ_HAS_ERRNO_H 0" >>confdefs.h + + ;; + *) + ac_fn_c_check_header_mongrel "$LINENO" "errno.h" "ac_cv_header_errno_h" "$ac_includes_default" +if test "x$ac_cv_header_errno_h" = xyes; then : + $as_echo "#define PJ_HAS_ERRNO_H 1" >>confdefs.h + +fi + + + ;; +esac + +ac_fn_c_check_header_mongrel "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "$ac_includes_default" +if test "x$ac_cv_header_fcntl_h" = xyes; then : + $as_echo "#define PJ_HAS_FCNTL_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "linux/socket.h" "ac_cv_header_linux_socket_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_socket_h" = xyes; then : + $as_echo "#define PJ_HAS_LINUX_SOCKET_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "limits.h" "ac_cv_header_limits_h" "$ac_includes_default" +if test "x$ac_cv_header_limits_h" = xyes; then : + $as_echo "#define PJ_HAS_LIMITS_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "malloc.h" "ac_cv_header_malloc_h" "$ac_includes_default" +if test "x$ac_cv_header_malloc_h" = xyes; then : + $as_echo "#define PJ_HAS_MALLOC_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "netdb.h" "ac_cv_header_netdb_h" "$ac_includes_default" +if test "x$ac_cv_header_netdb_h" = xyes; then : + $as_echo "#define PJ_HAS_NETDB_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "netinet/in_systm.h" "ac_cv_header_netinet_in_systm_h" "$ac_includes_default" +if test "x$ac_cv_header_netinet_in_systm_h" = xyes; then : + $as_echo "#define PJ_HAS_NETINET_IN_SYSTM_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "netinet/in.h" "ac_cv_header_netinet_in_h" "$ac_includes_default" +if test "x$ac_cv_header_netinet_in_h" = xyes; then : + $as_echo "#define PJ_HAS_NETINET_IN_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_compile "$LINENO" "netinet/ip.h" "ac_cv_header_netinet_ip_h" "#if PJ_HAS_SYS_TYPES_H + # include + #endif + #if PJ_HAS_NETINET_IN_SYSTM_H + # include + #endif + #if PJ_HAS_NETINET_IN_H + # include + #endif + +" +if test "x$ac_cv_header_netinet_ip_h" = xyes; then : + $as_echo "#define PJ_HAS_NETINET_IP_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "netinet/tcp.h" "ac_cv_header_netinet_tcp_h" "$ac_includes_default" +if test "x$ac_cv_header_netinet_tcp_h" = xyes; then : + $as_echo "#define PJ_HAS_NETINET_TCP_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "ifaddrs.h" "ac_cv_header_ifaddrs_h" "$ac_includes_default" +if test "x$ac_cv_header_ifaddrs_h" = xyes; then : + ac_fn_c_check_func "$LINENO" "getifaddrs" "ac_cv_func_getifaddrs" +if test "x$ac_cv_func_getifaddrs" = xyes; then : + $as_echo "#define PJ_HAS_IFADDRS_H 1" >>confdefs.h + +fi + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "semaphore.h" "ac_cv_header_semaphore_h" "$ac_includes_default" +if test "x$ac_cv_header_semaphore_h" = xyes; then : + $as_echo "#define PJ_HAS_SEMAPHORE_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "setjmp.h" "ac_cv_header_setjmp_h" "$ac_includes_default" +if test "x$ac_cv_header_setjmp_h" = xyes; then : + $as_echo "#define PJ_HAS_SETJMP_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "stdarg.h" "ac_cv_header_stdarg_h" "$ac_includes_default" +if test "x$ac_cv_header_stdarg_h" = xyes; then : + $as_echo "#define PJ_HAS_STDARG_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "stddef.h" "ac_cv_header_stddef_h" "$ac_includes_default" +if test "x$ac_cv_header_stddef_h" = xyes; then : + $as_echo "#define PJ_HAS_STDDEF_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "stdio.h" "ac_cv_header_stdio_h" "$ac_includes_default" +if test "x$ac_cv_header_stdio_h" = xyes; then : + $as_echo "#define PJ_HAS_STDIO_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "$ac_includes_default" +if test "x$ac_cv_header_stdint_h" = xyes; then : + $as_echo "#define PJ_HAS_STDINT_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = xyes; then : + $as_echo "#define PJ_HAS_STDLIB_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "string.h" "ac_cv_header_string_h" "$ac_includes_default" +if test "x$ac_cv_header_string_h" = xyes; then : + $as_echo "#define PJ_HAS_STRING_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/ioctl.h" "ac_cv_header_sys_ioctl_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_ioctl_h" = xyes; then : + $as_echo "#define PJ_HAS_SYS_IOCTL_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/select.h" "ac_cv_header_sys_select_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_select_h" = xyes; then : + $as_echo "#define PJ_HAS_SYS_SELECT_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_socket_h" = xyes; then : + $as_echo "#define PJ_HAS_SYS_SOCKET_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_time_h" = xyes; then : + $as_echo "#define PJ_HAS_SYS_TIME_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/timeb.h" "ac_cv_header_sys_timeb_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_timeb_h" = xyes; then : + $as_echo "#define PJ_HAS_SYS_TIMEB_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_types_h" = xyes; then : + $as_echo "#define PJ_HAS_SYS_TYPES_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/filio.h" "ac_cv_header_sys_filio_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_filio_h" = xyes; then : + $as_echo "#define PJ_HAS_SYS_FILIO_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/sockio.h" "ac_cv_header_sys_sockio_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_sockio_h" = xyes; then : + $as_echo "#define PJ_HAS_SYS_SOCKIO_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/utsname.h" "ac_cv_header_sys_utsname_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_utsname_h" = xyes; then : + $as_echo "#define PJ_HAS_SYS_UTSNAME_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "time.h" "ac_cv_header_time_h" "$ac_includes_default" +if test "x$ac_cv_header_time_h" = xyes; then : + $as_echo "#define PJ_HAS_TIME_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" +if test "x$ac_cv_header_unistd_h" = xyes; then : + $as_echo "#define PJ_HAS_UNISTD_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "winsock.h" "ac_cv_header_winsock_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock_h" = xyes; then : + $as_echo "#define PJ_HAS_WINSOCK_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "winsock2.h" "ac_cv_header_winsock2_h" "$ac_includes_default" +if test "x$ac_cv_header_winsock2_h" = xyes; then : + $as_echo "#define PJ_HAS_WINSOCK2_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_compile "$LINENO" "mswsock.h" "ac_cv_header_mswsock_h" "#if PJ_HAS_WINSOCK2_H + # include + #elif PJ_HAS_WINSOCK_H + # include + #endif + +" +if test "x$ac_cv_header_mswsock_h" = xyes; then : + $as_echo "#define PJ_HAS_MSWSOCK_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default" +if test "x$ac_cv_header_ws2tcpip_h" = xyes; then : + $as_echo "#define PJ_HAS_WS2TCPIP_H 1" >>confdefs.h + +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default" +if test "x$ac_cv_header_uuid_uuid_h" = xyes; then : + ac_has_uuid_h=1 +fi + + +ac_fn_c_check_header_compile "$LINENO" "net/if.h" "ac_cv_header_net_if_h" "#if PJ_HAS_SYS_TYPES_H + # include + #endif + #if PJ_HAS_SYS_SOCKET_H + + # include + #endif + +" +if test "x$ac_cv_header_net_if_h" = xyes; then : + $as_echo "#define PJ_HAS_NET_IF_H 1" >>confdefs.h + +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Setting PJ_OS_NAME to $target" >&5 +$as_echo "Setting PJ_OS_NAME to $target" >&6; } +cat >>confdefs.h <<_ACEOF +#define PJ_OS_NAME "$target" +_ACEOF + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Setting PJ_HAS_ERRNO_VAR to 1" >&5 +$as_echo "Setting PJ_HAS_ERRNO_VAR to 1" >&6; } +$as_echo "#define PJ_HAS_ERRNO_VAR 1" >>confdefs.h + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Setting PJ_HAS_HIGH_RES_TIMER to 1" >&5 +$as_echo "Setting PJ_HAS_HIGH_RES_TIMER to 1" >&6; } +$as_echo "#define PJ_HAS_HIGH_RES_TIMER 1" >>confdefs.h + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Setting PJ_HAS_MALLOC to 1" >&5 +$as_echo "Setting PJ_HAS_MALLOC to 1" >&6; } +$as_echo "#define PJ_HAS_MALLOC 1" >>confdefs.h + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Setting PJ_NATIVE_STRING_IS_UNICODE to 0" >&5 +$as_echo "Setting PJ_NATIVE_STRING_IS_UNICODE to 0" >&6; } +$as_echo "#define PJ_NATIVE_STRING_IS_UNICODE 0" >>confdefs.h + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Setting PJ_ATOMIC_VALUE_TYPE to long" >&5 +$as_echo "Setting PJ_ATOMIC_VALUE_TYPE to long" >&6; } +$as_echo "#define PJ_ATOMIC_VALUE_TYPE long" >>confdefs.h + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if inet_aton() is available" >&5 +$as_echo_n "checking if inet_aton() is available... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include +int +main () +{ +inet_aton(0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + $as_echo "#define PJ_SOCK_HAS_INET_ATON 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if inet_pton() is available" >&5 +$as_echo_n "checking if inet_pton() is available... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include +int +main () +{ +inet_pton(0, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + $as_echo "#define PJ_SOCK_HAS_INET_PTON 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if inet_ntop() is available" >&5 +$as_echo_n "checking if inet_ntop() is available... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include +int +main () +{ +inet_ntop(0, 0, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + $as_echo "#define PJ_SOCK_HAS_INET_NTOP 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if getaddrinfo() is available" >&5 +$as_echo_n "checking if getaddrinfo() is available... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include +int +main () +{ +getaddrinfo(0, 0, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + $as_echo "#define PJ_SOCK_HAS_GETADDRINFO 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if sockaddr_in has sin_len member" >&5 +$as_echo_n "checking if sockaddr_in has sin_len member... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include + #include +int +main () +{ +struct sockaddr_in a; a.sin_len=0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + $as_echo "#define PJ_SOCKADDR_HAS_LEN 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if socklen_t is available" >&5 +$as_echo_n "checking if socklen_t is available... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include +int +main () +{ +socklen_t xxx = 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + $as_echo "#define PJ_HAS_SOCKLEN_T 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if SO_ERROR is available" >&5 +$as_echo_n "checking if SO_ERROR is available... " >&6; } +case $target in + *mingw* | *cygw* | *win32* | *w32* ) + $as_echo "#define PJ_HAS_SO_ERROR 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + ;; + *) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include + #include +int +main () +{ +int i=SO_ERROR; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + $as_echo "#define PJ_HAS_SO_ERROR 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; +esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if pthread_rwlock_t is available" >&5 +$as_echo_n "checking if pthread_rwlock_t is available... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +pthread_rwlock_t *x; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + $as_echo "#define PJ_EMULATE_RWMUTEX 0" >>confdefs.h + + ac_rwmutex="yes" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + $as_echo "#define PJ_EMULATE_RWMUTEX 1" >>confdefs.h + + ac_rwmutex="no" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test "$ac_rwmutex" = "no"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if pthread_rwlock_t is available with _POSIX_READER_WRITER_LOCKS" >&5 +$as_echo_n "checking if pthread_rwlock_t is available with _POSIX_READER_WRITER_LOCKS... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _POSIX_READER_WRITER_LOCKS + #include +int +main () +{ +pthread_rwlock_t *x; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + $as_echo "#define PJ_EMULATE_RWMUTEX 0" >>confdefs.h + + CFLAGS="$CFLAGS -D_POSIX_THREADS -D_POSIX_READER_WRITER_LOCKS" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + $as_echo "#define PJ_EMULATE_RWMUTEX 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if pthread_mutexattr_settype() is available" >&5 +$as_echo_n "checking if pthread_mutexattr_settype() is available... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +pthread_mutexattr_settype(0,PTHREAD_MUTEX_FAST_NP); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + $as_echo "#define PJ_HAS_PTHREAD_MUTEXATTR_SETTYPE 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if pthread_mutexattr_t has recursive member" >&5 +$as_echo_n "checking if pthread_mutexattr_t has recursive member... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +pthread_mutexattr_t attr; + attr.recursive=1; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + $as_echo "#define PJ_PTHREAD_MUTEXATTR_T_HAS_RECURSIVE 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking ioqueue backend" >&5 +$as_echo_n "checking ioqueue backend... " >&6; } +# Check whether --enable-epoll was given. +if test "${enable_epoll+set}" = set; then : + enableval=$enable_epoll; + ac_os_objs=ioqueue_epoll.o + { $as_echo "$as_me:${as_lineno-$LINENO}: result: /dev/epoll" >&5 +$as_echo "/dev/epoll" >&6; } + +else + + ac_os_objs=ioqueue_select.o + { $as_echo "$as_me:${as_lineno-$LINENO}: result: select()" >&5 +$as_echo "select()" >&6; } + +fi + + + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then : + enableval=$enable_shared; if test "$enable_shared" = "yes"; then + ac_shared_libraries=1 + CFLAGS="$CFLAGS -fPIC" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Building shared libraries... yes" >&5 +$as_echo "Building shared libraries... yes" >&6; } + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Building shared libraries... no" >&5 +$as_echo "Building shared libraries... no" >&6; } + +fi + + + +case $target in + *mingw* | *cygw* | *win32* | *w32* ) + ac_os_objs="$ac_os_objs file_access_win32.o file_io_win32.o os_core_win32.o os_error_win32.o os_time_win32.o os_timestamp_win32.o guid_win32.o" + ;; + *) + ac_os_objs="$ac_os_objs file_access_unistd.o file_io_ansi.o os_core_unix.o os_error_unix.o os_time_unix.o os_timestamp_posix.o" + case $target in + *-apple-darwin_ios*) + ac_os_objs="$ac_os_objs os_info_iphone.o" + ;; + esac + # UUID + if test "$ac_has_uuid_lib" = "1" -a "$ac_has_uuid_h" = "1"; then + ac_os_objs="$ac_os_objs guid_uuid.o" + else + ac_os_objs="$ac_os_objs guid_simple.o" + fi + ;; +esac + +case $target in + *darwin*) + ac_os_objs="$ac_os_objs os_core_darwin.o" + ;; +esac + + +ac_external_speex=0 + + +# Check whether --with-external-speex was given. +if test "${with_external_speex+set}" = set; then : + withval=$with_external_speex; + if test "x$with_external_speex" != "xno"; then + # Test Speex installation + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if external Speex devkit is installed" >&5 +$as_echo_n "checking if external Speex devkit is installed... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +main () +{ +speex_echo_state_init(0, 0); speex_encoder_init(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes!!" >&5 +$as_echo "yes!!" >&6; } + $as_echo "#define PJMEDIA_EXTERNAL_SPEEX_CODEC 1" >>confdefs.h + + ac_external_speex="1" + +else + as_fn_error $? "Unable to use external Speex library. If Speex development files are not available in the default locations, use CFLAGS and LDFLAGS env var to set the include/lib paths" "$LINENO" 5 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + + +fi + + +ac_external_gsm=0 + + +# Check whether --with-external-gsm was given. +if test "${with_external_gsm+set}" = set; then : + withval=$with_external_gsm; + if test "x$with_external_gsm" != "xno"; then + # Test GSM library installation + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if external GSM devkit is installed as gsm/gsm.h" >&5 +$as_echo_n "checking if external GSM devkit is installed as gsm/gsm.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +gsm_create(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes!!" >&5 +$as_echo "yes!!" >&6; } + $as_echo "#define PJMEDIA_EXTERNAL_GSM_CODEC 1" >>confdefs.h + + $as_echo "#define PJMEDIA_EXTERNAL_GSM_GSM_H 1" >>confdefs.h + + ac_external_gsm="1" + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if external GSM devkit is installed as gsm.h" >&5 +$as_echo_n "checking if external GSM devkit is installed as gsm.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +gsm_create(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes!!" >&5 +$as_echo "yes!!" >&6; } + $as_echo "#define PJMEDIA_EXTERNAL_GSM_CODEC 1" >>confdefs.h + + $as_echo "#define PJMEDIA_EXTERNAL_GSM_H 1" >>confdefs.h + + ac_external_gsm="1" + +else + as_fn_error $? "Unable to use external GSM library. If GSM development files are not available in the default locations, use CFLAGS and LDFLAGS env var to set the include/lib paths" "$LINENO" 5 + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + + +fi + + + +ac_external_srtp=0 + + +# Check whether --with-external-srtp was given. +if test "${with_external_srtp+set}" = set; then : + withval=$with_external_srtp; + if test "x$with_external_srtp" != "xno"; then + # Test SRTP installation + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if external SRTP devkit is installed" >&5 +$as_echo_n "checking if external SRTP devkit is installed... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +srtp_init(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes!!" >&5 +$as_echo "yes!!" >&6; } + ac_external_srtp="1" + +else + as_fn_error $? "Unable to use SRTP. If SRTP development files are not available in the default locations, use CFLAGS and LDFLAGS env var to set the include/lib paths" "$LINENO" 5 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + + +fi + + +if test "x$ac_external_srtp" = "x1"; then + ac_srtp_deinit_present=0 + + ac_srtp_shutdown_present=0 + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for srtp_deinit in -lsrtp" >&5 +$as_echo_n "checking for srtp_deinit in -lsrtp... " >&6; } +if ${ac_cv_lib_srtp_srtp_deinit+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsrtp $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char srtp_deinit (); +int +main () +{ +return srtp_deinit (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_srtp_srtp_deinit=yes +else + ac_cv_lib_srtp_srtp_deinit=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_srtp_srtp_deinit" >&5 +$as_echo "$ac_cv_lib_srtp_srtp_deinit" >&6; } +if test "x$ac_cv_lib_srtp_srtp_deinit" = xyes; then : + ac_srtp_deinit_present=1 +fi + + if test "x$ac_srtp_deinit_present" != "x1"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for srtp_shutdown in -lsrtp" >&5 +$as_echo_n "checking for srtp_shutdown in -lsrtp... " >&6; } +if ${ac_cv_lib_srtp_srtp_shutdown+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsrtp $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char srtp_shutdown (); +int +main () +{ +return srtp_shutdown (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_srtp_srtp_shutdown=yes +else + ac_cv_lib_srtp_srtp_shutdown=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_srtp_srtp_shutdown" >&5 +$as_echo "$ac_cv_lib_srtp_srtp_shutdown" >&6; } +if test "x$ac_cv_lib_srtp_srtp_shutdown" = xyes; then : + ac_srtp_shutdown_present=1 +fi + + fi +fi + +ac_pjmedia_resample=libresample + +# Check whether --enable-resample was given. +if test "${enable_resample+set}" = set; then : + enableval=$enable_resample; if test "$enable_resample" = "no"; then + ac_pjmedia_resample=none + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if resampling is disabled...yes" >&5 +$as_echo "Checking if resampling is disabled...yes" >&6; } + fi + +fi + + + +# Check whether --enable-sound was given. +if test "${enable_sound+set}" = set; then : + enableval=$enable_sound; if test "$enable_sound" = "no"; then + ac_pjmedia_snd=null + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if sound is disabled... yes" >&5 +$as_echo "Checking if sound is disabled... yes" >&6; } + fi + +fi + + +ac_external_pa=0 + + +# Check whether --with-external-pa was given. +if test "${with_external_pa+set}" = set; then : + withval=$with_external_pa; + if test "x$with_external_pa" != "xno"; then + # Test PortAudio installation + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if external PortAudio devkit is installed" >&5 +$as_echo_n "checking if external PortAudio devkit is installed... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +Pa_Initialize(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes!!" >&5 +$as_echo "yes!!" >&6; } + ac_external_pa="1" + +else + as_fn_error $? "Unable to use PortAudio. If PortAudio development files are not available in the default locations, use CFLAGS and LDFLAGS env var to set the include/lib paths" "$LINENO" 5 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + + +fi + + + +ac_fn_c_check_header_mongrel "$LINENO" "sys/soundcard.h" "ac_cv_header_sys_soundcard_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_soundcard_h" = xyes; then : + ac_pa_cflags="$ac_pa_cflags -DHAVE_SYS_SOUNDCARD_H" +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "linux/soundcard.h" "ac_cv_header_linux_soundcard_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_soundcard_h" = xyes; then : + ac_pa_cflags="$ac_pa_cflags -DHAVE_LINUX_SOUNDCARD_H" +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "machine/soundcard.h" "ac_cv_header_machine_soundcard_h" "$ac_includes_default" +if test "x$ac_cv_header_machine_soundcard_h" = xyes; then : + ac_pa_cflags="$ac_pa_cflags -DHAVE_MACHINE_SOUNDCARD_H" +fi + + + +if test "x$ac_cv_c_bigendian" = "xyes"; then + ac_pa_cflags="$ac_pa_cflags -DPA_BIG_ENDIAN" +else + ac_pa_cflags="$ac_pa_cflags -DPA_LITTLE_ENDIAN" +fi + +if test "$enable_sound" = "no"; then + true; +else + + case $target in + *android*) + LIBS="$LIBS -lOpenSLES" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking sound device backend... OpenSL ES" >&5 +$as_echo "Checking sound device backend... OpenSL ES" >&6; } + ;; + *-apple-darwin_ios*) + LIBS="$LIBS -framework CoreAudio -framework CoreFoundation -framework AudioToolbox -framework CFNetwork -framework UIKit" + ac_pjmedia_audiodev_objs="coreaudio_dev.o" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking sound device backend... AudioUnit" >&5 +$as_echo "Checking sound device backend... AudioUnit" >&6; } + ;; + *darwin*) + LIBS="$LIBS -framework CoreAudio -framework CoreServices -framework AudioUnit -framework AudioToolbox" + ac_pjmedia_audiodev_objs="coreaudio_dev.o" + if test "`uname -r`" = "6.8"; then + #ac_pa_cflags="$ac_pa_cflags -DPA_OLD_CORE_AUDIO -DMOSX_USE_NON_ATOMIC_FLAG_BITS" + #AC_MSG_RESULT([Setting additional PortAudio CFLAGS.. -DPA_OLD_CORE_AUDIO -DMOSX_USE_NON_ATOMIC_FLAG_BITS]) + ac_pjmedia_snd=pa_old_darwinos + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking sound device backend... old coreaudio" >&5 +$as_echo "Checking sound device backend... old coreaudio" >&6; } + else + ac_pjmedia_snd=pa_darwinos + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking sound device backend... coreaudio" >&5 +$as_echo "Checking sound device backend... coreaudio" >&6; } + fi + ;; + *cygwin* | *mingw*) + ac_pjmedia_snd=pa_win32 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking sound device backend... win32 sound" >&5 +$as_echo "Checking sound device backend... win32 sound" >&6; } + ;; + *rtems*) + ac_pjmedia_snd=null + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking sound device backend... null sound" >&5 +$as_echo "Checking sound device backend... null sound" >&6; } + ;; + *) + ac_pjmedia_snd=pa_unix + ac_fn_c_check_header_mongrel "$LINENO" "alsa/version.h" "ac_cv_header_alsa_version_h" "$ac_includes_default" +if test "x$ac_cv_header_alsa_version_h" = xyes; then : + ac_pa_use_alsa=1 + + LIBS="$LIBS -lasound" + +else + ac_pa_use_alsa=0 + +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking sound device backend... unix" >&5 +$as_echo "Checking sound device backend... unix" >&6; } + + ac_pa_use_oss=1 + + # Check whether --enable-oss was given. +if test "${enable_oss+set}" = set; then : + enableval=$enable_oss; + if test "$enable_oss" = "no"; then + ac_pa_use_oss=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if OSS audio is disabled... yes" >&5 +$as_echo "Checking if OSS audio is disabled... yes" >&6; } + fi + +fi + + ;; + esac +fi + + + +# Check whether --enable-video was given. +if test "${enable_video+set}" = set; then : + enableval=$enable_video; if test "$enable_video" = "no"; then + #AC_DEFINE(PJMEDIA_HAS_VIDEO,0) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Video is disabled" >&5 +$as_echo "Video is disabled" >&6; } + enable_sdl="no" + enable_ffmpeg="no" + enable_v4l2="no" + enable_openh264="no" + enable_libyuv="no" + fi +fi + + +case $target in + *android*) + LIBS="$LIBS -llog" + ;; + *-apple-darwin_ios*) + LIBS="$LIBS -framework UIKit" + ;; + *darwin*) + LIBS="$LIBS -framework Foundation -framework AppKit" + ;; +esac + +if test "$enable_video" = "no"; then + true; +else + case $target in + *android*) + ac_pjmedia_video=android_os + + + SAVED_LIBS="$LIBS" + LIBS="-lGLESv2 -lEGL -landroid -lgcc -lc" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_pjmedia_video_has_android=yes +else + ac_pjmedia_video_has_android=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$SAVED_LIBS" + if test "$ac_pjmedia_video_has_android" = "yes"; then + ac_android_cflags="-DPJMEDIA_VIDEO_DEV_HAS_ANDROID_OPENGL=1" + LIBS="$LIBS -lGLESv2 -lEGL -landroid" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if OpenGL ES 2 is available... yes" >&5 +$as_echo "Checking if OpenGL ES 2 is available... yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if OpenGL ES 2 is available... no" >&5 +$as_echo "Checking if OpenGL ES 2 is available... no" >&6; } + fi + ac_android_cflags="$ac_android_cflags -DPJMEDIA_VIDEO_DEV_HAS_ANDROID=1" + ;; + *-apple-darwin_ios*) + ac_pjmedia_video=iphone_os + + + SAVED_LIBS="$LIBS" + LIBS="-framework AVFoundation -framework CoreGraphics -framework QuartzCore -framework CoreVideo -framework CoreMedia" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_pjmedia_video_has_ios=yes +else + ac_pjmedia_video_has_ios=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$SAVED_LIBS" + if test "$ac_pjmedia_video_has_ios" = "yes"; then + ac_ios_cflags="-DPJMEDIA_VIDEO_DEV_HAS_IOS=1 -DPJMEDIA_VIDEO_DEV_HAS_IOS_OPENGL=1" + LIBS="$LIBS -framework OpenGLES -framework AVFoundation -framework CoreGraphics -framework QuartzCore -framework CoreVideo -framework CoreMedia" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if AVFoundation framework is available... yes" >&5 +$as_echo "Checking if AVFoundation framework is available... yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if AVFoundation framework is available... no" >&5 +$as_echo "Checking if AVFoundation framework is available... no" >&6; } + fi + ;; + *darwin*) + ac_pjmedia_video=mac_os + + + SAVED_LIBS="$LIBS" + LIBS="-framework QTKit" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_pjmedia_video_has_qt=yes +else + ac_pjmedia_video_has_qt=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$SAVED_LIBS" + if test "$ac_pjmedia_video_has_qt" = "yes"; then + ac_qt_cflags="-DPJMEDIA_VIDEO_DEV_HAS_QT=1" + LIBS="$LIBS -framework QTKit -framework QuartzCore -framework OpenGL" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if QTKit framework is available... yes" >&5 +$as_echo "Checking if QTKit framework is available... yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if QTKit framework is available... no" >&5 +$as_echo "Checking if QTKit framework is available... no" >&6; } + fi + ;; + esac +fi + +# Check whether --enable-ext_sound was given. +if test "${enable_ext_sound+set}" = set; then : + enableval=$enable_ext_sound; if test "$enable_ext_sound" = "yes"; then + ac_pjmedia_snd=external + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if external sound is set... yes" >&5 +$as_echo "Checking if external sound is set... yes" >&6; } + fi + +fi + + + +# Check whether --enable-small-filter was given. +if test "${enable_small_filter+set}" = set; then : + enableval=$enable_small_filter; if test "$enable_small_filter" = "no"; then + ac_no_small_filter='-DPJMEDIA_HAS_SMALL_FILTER=0' + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if small filter is disabled... yes" >&5 +$as_echo "Checking if small filter is disabled... yes" >&6; } + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if small filter is disabled... no" >&5 +$as_echo "Checking if small filter is disabled... no" >&6; } +fi + + + +# Check whether --enable-large-filter was given. +if test "${enable_large_filter+set}" = set; then : + enableval=$enable_large_filter; if test "$enable_large_filter" = "no"; then + ac_no_large_filter='-DPJMEDIA_HAS_LARGE_FILTER=0' + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if large filter is disabled... yes" >&5 +$as_echo "Checking if large filter is disabled... yes" >&6; } + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if large filter is disabled... no" >&5 +$as_echo "Checking if large filter is disabled... no" >&6; } +fi + + + +# Check whether --enable-speex-aec was given. +if test "${enable_speex_aec+set}" = set; then : + enableval=$enable_speex_aec; if test "$enable_speex_aec" = "no"; then + ac_no_speex_aec='-DPJMEDIA_HAS_SPEEX_AEC=0' + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if Speex AEC is disabled...yes" >&5 +$as_echo "Checking if Speex AEC is disabled...yes" >&6; } + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if Speex AEC is disabled...no" >&5 +$as_echo "Checking if Speex AEC is disabled...no" >&6; } +fi + + + +# Check whether --enable-g711-codec was given. +if test "${enable_g711_codec+set}" = set; then : + enableval=$enable_g711_codec; if test "$enable_g711_codec" = "no"; then + ac_no_g711_codec=1 + $as_echo "#define PJMEDIA_HAS_G711_CODEC 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if G.711 codec is disabled...yes" >&5 +$as_echo "Checking if G.711 codec is disabled...yes" >&6; } + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if G.711 codec is disabled...no" >&5 +$as_echo "Checking if G.711 codec is disabled...no" >&6; } +fi + + + + +# Check whether --enable-l16-codec was given. +if test "${enable_l16_codec+set}" = set; then : + enableval=$enable_l16_codec; if test "$enable_l16_codec" = "no"; then + ac_no_l16_codec=1 + $as_echo "#define PJMEDIA_HAS_L16_CODEC 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if L16 codecs are disabled...yes" >&5 +$as_echo "Checking if L16 codecs are disabled...yes" >&6; } + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if L16 codec is disabled...no" >&5 +$as_echo "Checking if L16 codec is disabled...no" >&6; } +fi + + + + +# Check whether --enable-gsm-codec was given. +if test "${enable_gsm_codec+set}" = set; then : + enableval=$enable_gsm_codec; if test "$enable_gsm_codec" = "no"; then + ac_no_gsm_codec=1 + $as_echo "#define PJMEDIA_HAS_GSM_CODEC 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if GSM codec is disabled...yes" >&5 +$as_echo "Checking if GSM codec is disabled...yes" >&6; } + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if GSM codec is disabled...no" >&5 +$as_echo "Checking if GSM codec is disabled...no" >&6; } +fi + + + +# Check whether --enable-g722-codec was given. +if test "${enable_g722_codec+set}" = set; then : + enableval=$enable_g722_codec; if test "$enable_g722_codec" = "no"; then + ac_no_g722_codec=1 + $as_echo "#define PJMEDIA_HAS_G722_CODEC 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if G.722 codec is disabled...yes" >&5 +$as_echo "Checking if G.722 codec is disabled...yes" >&6; } + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if G.722 codec is disabled...no" >&5 +$as_echo "Checking if G.722 codec is disabled...no" >&6; } +fi + + + +# Check whether --enable-g7221-codec was given. +if test "${enable_g7221_codec+set}" = set; then : + enableval=$enable_g7221_codec; if test "$enable_g7221_codec" = "no"; then + ac_no_g7221_codec=1 + $as_echo "#define PJMEDIA_HAS_G7221_CODEC 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if G.722.1 codec is disabled...yes" >&5 +$as_echo "Checking if G.722.1 codec is disabled...yes" >&6; } + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if G.722.1 codec is disabled...no" >&5 +$as_echo "Checking if G.722.1 codec is disabled...no" >&6; } +fi + + + +# Check whether --enable-speex-codec was given. +if test "${enable_speex_codec+set}" = set; then : + enableval=$enable_speex_codec; if test "$enable_speex_codec" = "no"; then + ac_no_speex_codec=1 + $as_echo "#define PJMEDIA_HAS_SPEEX_CODEC 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if Speex codec is disabled...yes" >&5 +$as_echo "Checking if Speex codec is disabled...yes" >&6; } + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if Speex codec is disabled...no" >&5 +$as_echo "Checking if Speex codec is disabled...no" >&6; } +fi + + + +# Check whether --enable-ilbc-codec was given. +if test "${enable_ilbc_codec+set}" = set; then : + enableval=$enable_ilbc_codec; if test "$enable_ilbc_codec" = "no"; then + ac_no_ilbc_codec=1 + $as_echo "#define PJMEDIA_HAS_ILBC_CODEC 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if iLBC codec is disabled...yes" >&5 +$as_echo "Checking if iLBC codec is disabled...yes" >&6; } + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if iLBC codec is disabled...no" >&5 +$as_echo "Checking if iLBC codec is disabled...no" >&6; } +fi + + +# Check whether --enable-libsamplerate was given. +if test "${enable_libsamplerate+set}" = set; then : + enableval=$enable_libsamplerate; + if test "$enable_libsamplerate" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if libsamplerate is enabled...yes" >&5 +$as_echo "Checking if libsamplerate is enabled...yes" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for src_new in -lsamplerate" >&5 +$as_echo_n "checking for src_new in -lsamplerate... " >&6; } +if ${ac_cv_lib_samplerate_src_new+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsamplerate $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char src_new (); +int +main () +{ +return src_new (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_samplerate_src_new=yes +else + ac_cv_lib_samplerate_src_new=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_samplerate_src_new" >&5 +$as_echo "$ac_cv_lib_samplerate_src_new" >&6; } +if test "x$ac_cv_lib_samplerate_src_new" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBSAMPLERATE 1 +_ACEOF + + LIBS="-lsamplerate $LIBS" + +fi + + ac_pjmedia_resample=libsamplerate + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if libsamplerate is enabled...no" >&5 +$as_echo "Checking if libsamplerate is enabled...no" >&6; } + fi + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if libsamplerate is enabled...no" >&5 +$as_echo "Checking if libsamplerate is enabled...no" >&6; } +fi + + + +# Check whether --enable-resample_dll was given. +if test "${enable_resample_dll+set}" = set; then : + enableval=$enable_resample_dll; if test "$enable_resample_dll" = "yes"; then + ac_resample_dll=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Building libresample as shared library... yes" >&5 +$as_echo "Building libresample as shared library... yes" >&6; } + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Building libresample as shared library... no" >&5 +$as_echo "Building libresample as shared library... no" >&6; } + +fi + + + +# Check whether --with-sdl was given. +if test "${with_sdl+set}" = set; then : + withval=$with_sdl; +else + with_sdl=no + +fi + + +if test "x$ac_cross_compile" != "x" -a "x$with_sdl" = "xno"; then + enable_sdl=no +fi + +# Check whether --enable-sdl was given. +if test "${enable_sdl+set}" = set; then : + enableval=$enable_sdl; + if test "$enable_sdl" = "no"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if SDL is disabled... yes" >&5 +$as_echo "Checking if SDL is disabled... yes" >&6; } + fi + +else + + if test "x$with_sdl" != "xno" -a "x$with_sdl" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using SDL prefix... $with_sdl" >&5 +$as_echo "Using SDL prefix... $with_sdl" >&6; } + for ac_prog in sdl2-config sdl-config +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_SDL_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $SDL_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_SDL_CONFIG="$SDL_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $with_sdl/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +SDL_CONFIG=$ac_cv_path_SDL_CONFIG +if test -n "$SDL_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SDL_CONFIG" >&5 +$as_echo "$SDL_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$SDL_CONFIG" && break +done + + else + for ac_prog in sdl2-config sdl-config +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_SDL_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $SDL_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_SDL_CONFIG="$SDL_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +SDL_CONFIG=$ac_cv_path_SDL_CONFIG +if test -n "$SDL_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SDL_CONFIG" >&5 +$as_echo "$SDL_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$SDL_CONFIG" && break +done + + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking SDL availability" >&5 +$as_echo_n "checking SDL availability... " >&6; } + if test "x$SDL_CONFIG" = "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +$as_echo "not found" >&6; } + elif (sh -c "$SDL_CONFIG --version" | grep -e '^1\.3' -e '^2\.') then + + + ac_sdl_cflags=`$SDL_CONFIG --cflags` + ac_sdl_cflags="-DPJMEDIA_VIDEO_DEV_HAS_SDL=1 $ac_sdl_cflags" + ac_sdl_ldflags=`$SDL_CONFIG --libs` + LIBS="$LIBS $ac_sdl_ldflags" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Unsupported SDL version" >&5 +$as_echo "Unsupported SDL version" >&6; } + fi + +fi + + + + +# Check whether --with-ffmpeg was given. +if test "${with_ffmpeg+set}" = set; then : + withval=$with_ffmpeg; +else + with_ffmpeg=no + +fi + + +if test "x$ac_cross_compile" != "x" -a "x$with_ffmpeg" = "xno"; then + enable_ffmpeg=no +fi + +# Check whether --enable-ffmpeg was given. +if test "${enable_ffmpeg+set}" = set; then : + enableval=$enable_ffmpeg; + ac_has_ffmpeg=0 + + if test "$enable_ffmpeg" = "no"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if ffmpeg is disabled... yes" >&5 +$as_echo "Checking if ffmpeg is disabled... yes" >&6; } + fi + +else + + + + + FFMPEG_PREFIX="" + + SAVED_PKG_CONFIG_PATH=$PKG_CONFIG_PATH + if test "x$with_ffmpeg" != "xno" -a "x$with_ffmpeg" != "x"; then + FFMPEG_PREFIX=$with_ffmpeg + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using ffmpeg prefix... $FFMPEG_PREFIX" >&5 +$as_echo "Using ffmpeg prefix... $FFMPEG_PREFIX" >&6; } + export PKG_CONFIG_PATH=$FFMPEG_PREFIX/lib/pkgconfig + fi + + for ac_prog in pkg-config "python pkgconfig.py" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$PKG_CONFIG"; then + ac_cv_prog_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_PKG_CONFIG="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +PKG_CONFIG=$ac_cv_prog_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$PKG_CONFIG" && break +done +test -n "$PKG_CONFIG" || PKG_CONFIG="none" + + + if test "$PKG_CONFIG" != "none"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking ffmpeg packages" >&5 +$as_echo_n "checking ffmpeg packages... " >&6; } + av_pkg="" + if $PKG_CONFIG --exists libdevice; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVDEVICE=1" + av_pkg="$av_pkg libdevice" + fi + if $PKG_CONFIG --exists libavformat; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVFORMAT=1" + av_pkg="$av_pkg libavformat" + fi + if $PKG_CONFIG --exists libavcodec; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCODEC=1" + av_pkg="$av_pkg libavcodec" + fi + if $PKG_CONFIG --exists libswscale; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBSWSCALE=1" + av_pkg="$av_pkg libswscale" + fi + if $PKG_CONFIG --exists libavutil; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVUTIL=1" + av_pkg="$av_pkg libavutil" + fi + if $PKG_CONFIG --exists libavcore; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCORE=1" + av_pkg="$av_pkg libavcore" + fi + + if test "x$av_pkg" == "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none detected (check the prefix)! **" >&5 +$as_echo "none detected (check the prefix)! **" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $av_pkg" >&5 +$as_echo "$av_pkg" >&6; } + fi + + ac_ffmpeg_cflags="$ac_ffmpeg_cflags `$PKG_CONFIG --cflags $av_pkg`" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags `$PKG_CONFIG --libs $av_pkg`" + + else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: *** Warning: neither pkg-config nor python is available, ffmpeg dependency cannot be calculated. If ffmpeg libraries are not detected, you need to specify the correct CFLAGS and LDFLAGS settings for ffmpeg prior to invoking configure ***" >&5 +$as_echo "*** Warning: neither pkg-config nor python is available, ffmpeg dependency cannot be calculated. If ffmpeg libraries are not detected, you need to specify the correct CFLAGS and LDFLAGS settings for ffmpeg prior to invoking configure ***" >&6; } + + LIBS="-L$FFMPEG_PREFIX/lib $LIBS" + LDFLAGS="-L$FFMPEG_PREFIX/lib $LDFLAGS" + CFLAGS="-I$FFMPEG_PREFIX/include $CFLAGS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for avdevice_version in -lavdevice" >&5 +$as_echo_n "checking for avdevice_version in -lavdevice... " >&6; } +if ${ac_cv_lib_avdevice_avdevice_version+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lavdevice $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char avdevice_version (); +int +main () +{ +return avdevice_version (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_avdevice_avdevice_version=yes +else + ac_cv_lib_avdevice_avdevice_version=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_avdevice_avdevice_version" >&5 +$as_echo "$ac_cv_lib_avdevice_avdevice_version" >&6; } +if test "x$ac_cv_lib_avdevice_avdevice_version" = xyes; then : + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVDEVICE=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavdevice" + + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for av_malloc in -lavutil" >&5 +$as_echo_n "checking for av_malloc in -lavutil... " >&6; } +if ${ac_cv_lib_avutil_av_malloc+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lavutil $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char av_malloc (); +int +main () +{ +return av_malloc (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_avutil_av_malloc=yes +else + ac_cv_lib_avutil_av_malloc=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_avutil_av_malloc" >&5 +$as_echo "$ac_cv_lib_avutil_av_malloc" >&6; } +if test "x$ac_cv_lib_avutil_av_malloc" = xyes; then : + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVUTIL=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavutil" + + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for avcodec_init in -lavcodec" >&5 +$as_echo_n "checking for avcodec_init in -lavcodec... " >&6; } +if ${ac_cv_lib_avcodec_avcodec_init+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lavcodec -lavutil + $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char avcodec_init (); +int +main () +{ +return avcodec_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_avcodec_avcodec_init=yes +else + ac_cv_lib_avcodec_avcodec_init=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_avcodec_avcodec_init" >&5 +$as_echo "$ac_cv_lib_avcodec_avcodec_init" >&6; } +if test "x$ac_cv_lib_avcodec_avcodec_init" = xyes; then : + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCODEC=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavcodec" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for av_register_all in -lavformat" >&5 +$as_echo_n "checking for av_register_all in -lavformat... " >&6; } +if ${ac_cv_lib_avformat_av_register_all+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lavformat -lavcodec -lavutil + $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char av_register_all (); +int +main () +{ +return av_register_all (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_avformat_av_register_all=yes +else + ac_cv_lib_avformat_av_register_all=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_avformat_av_register_all" >&5 +$as_echo "$ac_cv_lib_avformat_av_register_all" >&6; } +if test "x$ac_cv_lib_avformat_av_register_all" = xyes; then : + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVFORMAT=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavformat" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sws_scale in -lswscale" >&5 +$as_echo_n "checking for sws_scale in -lswscale... " >&6; } +if ${ac_cv_lib_swscale_sws_scale+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lswscale -lavutil + $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sws_scale (); +int +main () +{ +return sws_scale (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_swscale_sws_scale=yes +else + ac_cv_lib_swscale_sws_scale=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_swscale_sws_scale" >&5 +$as_echo "$ac_cv_lib_swscale_sws_scale" >&6; } +if test "x$ac_cv_lib_swscale_sws_scale" = xyes; then : + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBSWSCALE=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lswscale" + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for avcore_version in -lavcore" >&5 +$as_echo_n "checking for avcore_version in -lavcore... " >&6; } +if ${ac_cv_lib_avcore_avcore_version+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lavcore $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char avcore_version (); +int +main () +{ +return avcore_version (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_avcore_avcore_version=yes +else + ac_cv_lib_avcore_avcore_version=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_avcore_avcore_version" >&5 +$as_echo "$ac_cv_lib_avcore_avcore_version" >&6; } +if test "x$ac_cv_lib_avcore_avcore_version" = xyes; then : + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCORE=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavcore" + + +fi + + + fi + + LIBS="$LIBS $ac_ffmpeg_ldflags" + export PKG_CONFIG_PATH=$SAVED_PKG_CONFIG_PATH + + +fi + + +# Check whether --enable-v4l2 was given. +if test "${enable_v4l2+set}" = set; then : + enableval=$enable_v4l2; + if test "$enable_v4l2" = "no"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if V4L2 is disabled... yes" >&5 +$as_echo "Checking if V4L2 is disabled... yes" >&6; } + fi + +else + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for v4l2_open in -lv4l2" >&5 +$as_echo_n "checking for v4l2_open in -lv4l2... " >&6; } +if ${ac_cv_lib_v4l2_v4l2_open+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lv4l2 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char v4l2_open (); +int +main () +{ +return v4l2_open (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_v4l2_v4l2_open=yes +else + ac_cv_lib_v4l2_v4l2_open=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_v4l2_v4l2_open" >&5 +$as_echo "$ac_cv_lib_v4l2_v4l2_open" >&6; } +if test "x$ac_cv_lib_v4l2_v4l2_open" = xyes; then : + ac_v4l2_cflags="-DPJMEDIA_VIDEO_DEV_HAS_V4L2=1" + ac_v4l2_ldflags="-lv4l2" + LIBS="$LIBS -lv4l2" + + +fi + + +fi + + + +# Check whether --with-openh264 was given. +if test "${with_openh264+set}" = set; then : + withval=$with_openh264; +else + with_openh264=no + +fi + + +if test "x$ac_cross_compile" != "x" -a "x$with_openh264" = "xno"; then + enable_openh264=no +fi + + + +# Check whether --enable-openh264 was given. +if test "${enable_openh264+set}" = set; then : + enableval=$enable_openh264; + if test "$enable_openh264" = "no"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if OpenH264 is disabled... yes" >&5 +$as_echo "Checking if OpenH264 is disabled... yes" >&6; } + fi + +else + + if test "x$with_openh264" != "xno" -a "x$with_openh264" != "x"; then + OPENH264_PREFIX=$with_openh264 + OPENH264_CFLAGS="-I$OPENH264_PREFIX/include" + OPENH264_LDFLAGS="-L$OPENH264_PREFIX/lib" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using OpenH264 prefix... $with_openh264" >&5 +$as_echo "Using OpenH264 prefix... $with_openh264" >&6; } + else + OPENH264_CFLAGS="" + OPENH264_LDFLAGS="" + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenH264 usability" >&5 +$as_echo_n "checking OpenH264 usability... " >&6; } + + OPENH264_LIBS="-lopenh264 -lstdc++" + + SAVED_LIBS="$LIBS" + SAVED_LDFLAGS="$LDFLAGS" + SAVED_CFLAGS="$CFLAGS" + + LIBS="$OPENH264_LIBS $LIBS" + LDFLAGS="$OPENH264_LDFLAGS $LDFLAGS" + CFLAGS="$OPENH264_CFLAGS $CFLAGS" + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +main () +{ +WelsCreateSVCEncoder(0); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_openh264_cflags="-DPJMEDIA_HAS_OPENH264_CODEC=1 $OPENH264_CFLAGS" + ac_openh264_ldflags="$OPENH264_LDFLAGS $OPENH264_LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } + +else + + LIBS="$SAVED_LIBS" + LDFLAGS="$SAVED_LDFLAGS" + CFLAGS="$SAVED_CFLAGS" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + +fi + + + +# Check whether --with-libyuv was given. +if test "${with_libyuv+set}" = set; then : + withval=$with_libyuv; +else + with_libyuv=no + +fi + + +if test "x$ac_cross_compile" != "x" -a "x$with_libyuv" = "xno"; then + enable_libyuv=no +fi + + + +# Check whether --enable-libyuv was given. +if test "${enable_libyuv+set}" = set; then : + enableval=$enable_libyuv; if test "$enable_libyuv" = "no"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if libyuv is disabled...yes" >&5 +$as_echo "Checking if libyuv is disabled...yes" >&6; } + fi +else + + if test "x$with_libyuv" != "xno" -a "x$with_libyuv" != "x"; then + LIBYUV_PREFIX=$with_libyuv + LIBYUV_CFLAGS="-I$LIBYUV_PREFIX/include" + + case $target in + *-apple-darwin_ios*) + LIBYUV_LDFLAGS="-L$LIBYUV_PREFIX/out_ios/Release-iphoneos" + case $ARCH in + *arm*) + LIBYUV_LIBS="-lyuv_neon" + ;; + *) + ;; + esac + ;; + *mingw* | *cygw* | *win32* | *w32* | *darwin* | *linux* | *android*) + LIBYUV_LDFLAGS="-L$LIBYUV_PREFIX/out/Release" + ;; + *) + LIBYUV_CFLAGS="" + LIBYUV_LDFLAGS="" + ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using libyuv prefix... $with_libyuv" >&5 +$as_echo "Using libyuv prefix... $with_libyuv" >&6; } + else + LIBYUV_CFLAGS="" + LIBYUV_LDFLAGS="" + fi + + LIBYUV_LIBS="$LIBYUV_LIBS -lyuv" + + SAVED_LIBS="$LIBS" + SAVED_LDFLAGS="$LDFLAGS" + SAVED_CFLAGS="$CFLAGS" + + LIBS="$LIBYUV_LIBS $LIBS" + LDFLAGS="$LIBYUV_LDFLAGS $LDFLAGS" + CFLAGS="$LIBYUV_CFLAGS $CFLAGS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for I420Scale in -lyuv" >&5 +$as_echo_n "checking for I420Scale in -lyuv... " >&6; } +if ${ac_cv_lib_yuv_I420Scale+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lyuv + $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char I420Scale (); +int +main () +{ +return I420Scale (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_yuv_I420Scale=yes +else + ac_cv_lib_yuv_I420Scale=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_yuv_I420Scale" >&5 +$as_echo "$ac_cv_lib_yuv_I420Scale" >&6; } +if test "x$ac_cv_lib_yuv_I420Scale" = xyes; then : + ac_libyuv_cflags="-DPJMEDIA_HAS_LIBYUV=1 $LIBYUV_CFLAGS" + ac_libyuv_ldflags="$LIBYUV_LDFLAGS $LIBYUV_LIBS" + +else + LIBS="$SAVED_LIBS" + LDFLAGS="$SAVED_LDFLAGS" + CFLAGS="$SAVED_CFLAGS" + +fi + + +fi + + + +# Check whether --enable-ipp was given. +if test "${enable_ipp+set}" = set; then : + enableval=$enable_ipp; +else + enable_ipp=no + +fi + + + +# Check whether --with-ipp was given. +if test "${with_ipp+set}" = set; then : + withval=$with_ipp; +else + with_ipp=no + +fi + + + +# Check whether --with-ipp-samples was given. +if test "${with_ipp_samples+set}" = set; then : + withval=$with_ipp_samples; +else + with_ipp_samples=no + +fi + + + +# Check whether --with-ipp-arch was given. +if test "${with_ipp_arch+set}" = set; then : + withval=$with_ipp_arch; +else + with_ipp_arch=no + +fi + + +if test "x$enable_ipp" != "xno"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Intel IPP location" >&5 +$as_echo_n "checking Intel IPP location... " >&6; } + + if test "x$with_ipp" != "xno" -a "x$with_ipp" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_ipp" >&5 +$as_echo "$with_ipp" >&6; } + IPPROOT=$with_ipp + elif test "x$IPPROOT" = "x"; then + if test -d /opt/intel/ipp; then + IPPROOT=`ls -d /opt/intel/ipp/*/* | head -1` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: autodetected in $IPPROOT" >&5 +$as_echo "autodetected in $IPPROOT" >&6; } + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IPPROOT" >&5 +$as_echo "$IPPROOT" >&6; } + fi + + if test "x$with_ipp_arch" != "xno"; then + IPP_SUFFIX=$with_ipp_arch + { $as_echo "$as_me:${as_lineno-$LINENO}: result: IPP arch suffix is set to $IPP_SUFFIX" >&5 +$as_echo "IPP arch suffix is set to $IPP_SUFFIX" >&6; } + else + IPP_SUFFIX="" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: IPP arch suffix is set to empty" >&5 +$as_echo "IPP arch suffix is set to empty" >&6; } + fi + + if test x$IPPROOT = x; then + as_fn_error $? "the location is neither specified nor can be guessed. Please specify with IPPROOT env var or with --with-ipp option" "$LINENO" 5 + elif test ! -d $IPPROOT; then + as_fn_error $? "not found" "$LINENO" 5 + elif test ! -d $IPPROOT/include; then + as_fn_error $? "directory doesn't seem to be valid" "$LINENO" 5 + else + # IPP directory looks okay. + # Remove trailing backslash + IPPROOT=`echo $IPPROOT | sed 's/\/$//'` + + SAVED_CFLAGS="$CFLAGS" + SAVED_LDFLAGS="$LDFLAGS" + SAVED_LIBS="$LIBS" + + IPP_CFLAGS="-I$IPPROOT/include" + IPP_LIBS="-lippsc${IPP_SUFFIX} -lipps${IPP_SUFFIX} -lippcore${IPP_SUFFIX}" + +# + # Some differences between Mac OS X and Linux + case $target in + *darwin* ) + IPP_LDFLAGS="-L$IPPROOT/Libraries -L$IPPROOT/lib" + ;; + *) + # Find out where the libraries live. + IPP7_ARCH="" + if test -d $IPPROOT/lib/intel64; then + IPP7_ARCH="intel64" + elif test -d $IPPROOT/lib/ia32; then + IPP7_ARCH="ia32" + elif test -d $IPPROOT/lib/mic; then + IPP7_ARCH="mic" + fi + + if test -z "$IPP7_ARCH"; then + # IPP6 (and possibly below) + IPP_LDFLAGS="-L$IPPROOT/sharedlib" + IPP_LIBS="$IPP_LIBS -lippsr${IPP_SUFFIX} -lguide" + else + # IPP7 + if ! test -d $IPPROOT/../compiler; then + as_fn_error $? "Cannot find $IPPROOT/../compiler directory. Please set IPPROOT variable correctly" "$LINENO" 5 + fi + IPP_CFLAGS="$IPP_CFLAGS" + IPP_LDFLAGS="-L$IPPROOT/lib/intel64 -L$IPPROOT/../compiler/lib/$IPP7_ARCH" + IPP_LIBS="$IPP_LIBS -liomp5" + fi + ;; + esac + + #IPP_LDFLAGS="-L$IPPROOT/sharedlib" + #Static: + #IPP_LIBS="-lippscmerged -lippsrmerged -lippsmerged -lippcore" + + CFLAGS="$CFLAGS $IPP_CFLAGS" + LDFLAGS="$LDFLAGS $IPP_LDFLAGS" + LIBS="$IPP_LIBS $LIBS" + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Intel IPP usability" >&5 +$as_echo_n "checking Intel IPP usability... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +ippStaticInit(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Error: unable to recognize your IPP installation. Make sure the paths and ARCH suffix are set correctly, run with --help for more info +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + CFLAGS="$SAVED_CFLAGS" + LDFLAGS="$SAVED_LDFLAGS" + LIBS="$SAVED_LIBS" + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Intel IPP samples location" >&5 +$as_echo_n "checking Intel IPP samples location... " >&6; } + + if test "x$with_ipp_samples" != "xno" -a "x$with_ipp_samples" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_ipp_samples" >&5 +$as_echo "$with_ipp_samples" >&6; } + IPPSAMPLES=$with_ipp_samples + elif test "x$IPPSAMPLES" = "x"; then + if test -d /opt/intel/ipp-samples; then + IPPSAMPLES=/opt/intel/ipp-samples + { $as_echo "$as_me:${as_lineno-$LINENO}: result: autodetected in $IPPSAMPLES" >&5 +$as_echo "autodetected in $IPPSAMPLES" >&6; } + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IPPSAMPLES" >&5 +$as_echo "$IPPSAMPLES" >&6; } + fi + + if test x$IPPSAMPLES = x; then + as_fn_error $? "the location is neither specified nor can be guessed. Please specify with IPPSAMPLES env var or with --with-ipp-samples option" "$LINENO" 5 + elif test ! -d $IPPSAMPLES; then + as_fn_error $? "not found" "$LINENO" 5 + elif test ! -d $IPPSAMPLES/speech-codecs; then + as_fn_error $? "directory doesn't seem to be valid" "$LINENO" 5 + else + # Remove trailing backslash + IPPSAMPLES=`echo $IPPSAMPLES | sed 's/\/$//'` + + # Guess the libusc.a/libspeech.a build location + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Intel IPP USC build location" >&5 +$as_echo_n "checking Intel IPP USC build location... " >&6; } + if test -d $IPPSAMPLES/speech-codecs/bin; then + IPPVER=5 + IPPSAMP_DIR=`ls -d $IPPSAMPLES/speech-codecs/bin/*gcc*/lib | head -1` + elif test -d $IPPSAMPLES/speech-codecs/_bin; then + IPPVER=6 + if test -d $IPPSAMPLES/speech-codecs/_bin/*gcc*; then + # gcc compiler + IPPSAMP_DIR=`ls -d $IPPSAMPLES/speech-codecs/_bin/*gcc*/lib | head -1` + elif test -d $IPPSAMPLES/speech-codecs/_bin/*icc*; then + # icc compiler + IPPSAMP_DIR=`ls -d $IPPSAMPLES/speech-codecs/_bin/*icc*/lib | head -1` + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Unable to find to find built binaries under $IPPSAMPLES/speech-codecs/{bin,_bin}. Have you built the IPP samples? +See \`config.log' for more details" "$LINENO" 5; } + fi + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "unable to find $IPPSAMPLES/speech-codecs/bin/*gcc*/lib or $IPPSAMPLES/speech-codecs/_bin/*gcc*/lib directory. Have you built the samples? +See \`config.log' for more details" "$LINENO" 5; } + fi + + # Test the directory + if test ! -d $IPPSAMP_DIR; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "There's something wrong with this script, directory $IPPSAMP_DIR does not exist +See \`config.log' for more details" "$LINENO" 5; } + exit 1; + fi + + if test "x$IPPVER" = "x5"; then + IPPSAMP_LIBS="libusc.a" + IPPSAMP_LDLIBS="-lusc" + elif test "x$IPPVER" = "x6"; then + IPPSAMP_LIBS="libspeech.a" + IPPSAMP_LDLIBS="-lspeech" + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "bug in this script: unsupported IPP version +See \`config.log' for more details" "$LINENO" 5; } + fi + + if test ! -f $IPPSAMP_DIR/$IPPSAMP_LIBS; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "$IPPSAMP_LIBS doesn't exist in $IPPSAMP_DIR +See \`config.log' for more details" "$LINENO" 5; } + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IPPSAMP_DIR" >&5 +$as_echo "$IPPSAMP_DIR" >&6; } + + SAVED_CFLAGS="$CFLAGS" + SAVED_LDFLAGS="$LDFLAGS" + SAVED_LIBS="$LIBS" + + IPPSAMP_INC="-I$IPPSAMPLES/speech-codecs/core/usc/include" + CFLAGS="$CFLAGS $IPPSAMP_INC" + LDFLAGS="$LDFLAGS -L$IPPSAMP_DIR" + LIBS="$IPPSAMP_LDLIBS $LIBS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Intel IPP USC usability" >&5 +$as_echo_n "checking Intel IPP USC usability... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +extern USC_Fxns USC_G729AFP_Fxns; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + CFLAGS="$SAVED_CFLAGS" + LDFLAGS="$IPP_LDFLAGS $SAVED_LDFLAGS" + LIBS="$IPP_LIBS $SAVED_LIBS" + + IPP_CFLAGS="$IPP_CFLAGS $IPPSAMP_INC" + IPP_LDFLAGS="$IPP_LDFLAGS -L$IPPSAMP_DIR" + IPP_LIBS="$IPPSAMP_LDLIBS $IPP_LIBS" + fi + + CFLAGS="$CFLAGS $IPP_CFLAGS" + LDFLAGS="$LDFLAGS $IPP_LDFLAGS" + LIBS="$LIBS $IPP_LIBS" + + ac_build_mak_vars="$ac_build_mak_vars\n\ +export IPP_CFLAGS=$IPP_CFLAGS\n\ +export IPP_LDFLAGS=$IPP_LDFLAGS\n\ +export IPP_LIBS=$IPP_LIBS" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Skipping Intel IPP settings (not wanted)" >&5 +$as_echo "Skipping Intel IPP settings (not wanted)" >&6; } +fi + + + + +# Check whether --with-ssl was given. +if test "${with_ssl+set}" = set; then : + withval=$with_ssl; +else + with_ssl=no + +fi + + +if test "x$ac_cross_compile" != "x" -a "x$with_ssl" = "xno"; then + enable_ssl=no +fi + + +# Check whether --enable-ssl was given. +if test "${enable_ssl+set}" = set; then : + enableval=$enable_ssl; + if test "$enable_ssl" = "no"; then + ac_no_ssl=1 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if SSL support is disabled... yes" >&5 +$as_echo "Checking if SSL support is disabled... yes" >&6; } + fi + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking for OpenSSL installations.." >&5 +$as_echo "checking for OpenSSL installations.." >&6; } + if test "x$with_ssl" != "xno" -a "x$with_ssl" != "x"; then + CFLAGS="$CFLAGS -I$with_ssl/include" + LDFLAGS="$LDFLAGS -L$with_ssl/lib" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using SSL prefix... $with_ssl" >&5 +$as_echo "Using SSL prefix... $with_ssl" >&6; } + fi + + + + ac_fn_c_check_header_mongrel "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default" +if test "x$ac_cv_header_openssl_ssl_h" = xyes; then : + openssl_h_present=1 +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ERR_load_BIO_strings in -lcrypto" >&5 +$as_echo_n "checking for ERR_load_BIO_strings in -lcrypto... " >&6; } +if ${ac_cv_lib_crypto_ERR_load_BIO_strings+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lcrypto $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ERR_load_BIO_strings (); +int +main () +{ +return ERR_load_BIO_strings (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_crypto_ERR_load_BIO_strings=yes +else + ac_cv_lib_crypto_ERR_load_BIO_strings=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_ERR_load_BIO_strings" >&5 +$as_echo "$ac_cv_lib_crypto_ERR_load_BIO_strings" >&6; } +if test "x$ac_cv_lib_crypto_ERR_load_BIO_strings" = xyes; then : + libcrypto_present=1 && LIBS="-lcrypto $LIBS" +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_library_init in -lssl" >&5 +$as_echo_n "checking for SSL_library_init in -lssl... " >&6; } +if ${ac_cv_lib_ssl_SSL_library_init+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lssl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char SSL_library_init (); +int +main () +{ +return SSL_library_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_ssl_SSL_library_init=yes +else + ac_cv_lib_ssl_SSL_library_init=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ssl_SSL_library_init" >&5 +$as_echo "$ac_cv_lib_ssl_SSL_library_init" >&6; } +if test "x$ac_cv_lib_ssl_SSL_library_init" = xyes; then : + libssl_present=1 && LIBS="-lssl $LIBS" +fi + + if test "x$openssl_h_present" = "x1" -a "x$libssl_present" = "x1" -a "x$libcrypto_present" = "x1"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OpenSSL library found, SSL support enabled" >&5 +$as_echo "OpenSSL library found, SSL support enabled" >&6; } + # PJSIP_HAS_TLS_TRANSPORT setting follows PJ_HAS_SSL_SOCK + #AC_DEFINE(PJSIP_HAS_TLS_TRANSPORT, 1) + $as_echo "#define PJ_HAS_SSL_SOCK 1" >>confdefs.h + + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ** OpenSSL libraries not found, disabling SSL support **" >&5 +$as_echo "** OpenSSL libraries not found, disabling SSL support **" >&6; } + fi + +fi + + + +# Check whether --with-opencore-amrnb was given. +if test "${with_opencore_amrnb+set}" = set; then : + withval=$with_opencore_amrnb; as_fn_error $? "This option is obsolete and replaced by --with-opencore-amr=DIR" "$LINENO" 5 +fi + + + +# Check whether --with-opencore-amr was given. +if test "${with_opencore_amr+set}" = set; then : + withval=$with_opencore_amr; +else + with_opencore_amr=no + +fi + + +if test "x$ac_cross_compile" != "x" -a "x$with_opencore_amr" = "xno"; then + enable_opencore_amr=no +fi + + +# Check whether --with-opencore-amrwbenc was given. +if test "${with_opencore_amrwbenc+set}" = set; then : + withval=$with_opencore_amrwbenc; +else + with_opencore_amrwbenc=no + +fi + + +if test "x$ac_cross_compile" != "x" -a "x$with_opencore_amrwbenc" = "xno"; then + enable_opencore_amrwbenc=no +fi + + + + +# Check whether --enable-opencore_amr was given. +if test "${enable_opencore_amr+set}" = set; then : + enableval=$enable_opencore_amr; + if test "$enable_opencore_amr" = "no"; then + ac_no_opencore_amrnb=1 + ac_no_opencore_amrwb=1 + $as_echo "#define PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 0" >>confdefs.h + + $as_echo "#define PJMEDIA_HAS_OPENCORE_AMRWB_CODEC 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if OpenCORE AMR support is disabled... yes" >&5 +$as_echo "Checking if OpenCORE AMR support is disabled... yes" >&6; } + fi + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking for OpenCORE AMR installations.." >&5 +$as_echo "checking for OpenCORE AMR installations.." >&6; } + if test "x$with_opencore_amr" != "xno" -a "x$with_opencore_amr" != "x"; then + CFLAGS="$CFLAGS -I$with_opencore_amr/include" + LDFLAGS="$LDFLAGS -L$with_opencore_amr/lib" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using OpenCORE AMR prefix... $with_opencore_amr" >&5 +$as_echo "Using OpenCORE AMR prefix... $with_opencore_amr" >&6; } + fi + if test "x$with_opencore_amrwbenc" != "xno" -a "x$with_opencore_amrwbenc" != "x"; then + CFLAGS="$CFLAGS -I$with_opencore_amrwbenc/include" + LDFLAGS="$LDFLAGS -L$with_opencore_amrwbenc/lib" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using OpenCORE AMRWB-enc prefix... $with_opencore_amrwbenc" >&5 +$as_echo "Using OpenCORE AMRWB-enc prefix... $with_opencore_amrwbenc" >&6; } + fi + + + ac_fn_c_check_header_mongrel "$LINENO" "opencore-amrnb/interf_enc.h" "ac_cv_header_opencore_amrnb_interf_enc_h" "$ac_includes_default" +if test "x$ac_cv_header_opencore_amrnb_interf_enc_h" = xyes; then : + opencore_amrnb_h_present=1 +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Encoder_Interface_init in -lopencore-amrnb" >&5 +$as_echo_n "checking for Encoder_Interface_init in -lopencore-amrnb... " >&6; } +if ${ac_cv_lib_opencore_amrnb_Encoder_Interface_init+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lopencore-amrnb $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char Encoder_Interface_init (); +int +main () +{ +return Encoder_Interface_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_opencore_amrnb_Encoder_Interface_init=yes +else + ac_cv_lib_opencore_amrnb_Encoder_Interface_init=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_opencore_amrnb_Encoder_Interface_init" >&5 +$as_echo "$ac_cv_lib_opencore_amrnb_Encoder_Interface_init" >&6; } +if test "x$ac_cv_lib_opencore_amrnb_Encoder_Interface_init" = xyes; then : + opencore_amrnb_present=1 && LIBS="$LIBS -lopencore-amrnb" +fi + + if test "x$opencore_amrnb_h_present" = "x1" -a "x$opencore_amrnb_present" = "x1"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OpenCORE AMR-NB library found, AMR-NB support enabled" >&5 +$as_echo "OpenCORE AMR-NB library found, AMR-NB support enabled" >&6; } + $as_echo "#define PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 1" >>confdefs.h + + else + ac_no_opencore_amrnb=1 + $as_echo "#define PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 0" >>confdefs.h + + fi + + + + + ac_fn_c_check_header_mongrel "$LINENO" "vo-amrwbenc/enc_if.h" "ac_cv_header_vo_amrwbenc_enc_if_h" "$ac_includes_default" +if test "x$ac_cv_header_vo_amrwbenc_enc_if_h" = xyes; then : + opencore_amrwb_enc_h_present=1 +fi + + + ac_fn_c_check_header_mongrel "$LINENO" "opencore-amrwb/dec_if.h" "ac_cv_header_opencore_amrwb_dec_if_h" "$ac_includes_default" +if test "x$ac_cv_header_opencore_amrwb_dec_if_h" = xyes; then : + opencore_amrwb_dec_h_present=1 +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for D_IF_init in -lopencore-amrwb" >&5 +$as_echo_n "checking for D_IF_init in -lopencore-amrwb... " >&6; } +if ${ac_cv_lib_opencore_amrwb_D_IF_init+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lopencore-amrwb $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char D_IF_init (); +int +main () +{ +return D_IF_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_opencore_amrwb_D_IF_init=yes +else + ac_cv_lib_opencore_amrwb_D_IF_init=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_opencore_amrwb_D_IF_init" >&5 +$as_echo "$ac_cv_lib_opencore_amrwb_D_IF_init" >&6; } +if test "x$ac_cv_lib_opencore_amrwb_D_IF_init" = xyes; then : + opencore_amrwb_dec_present=1 && LIBS="$LIBS -lopencore-amrwb" +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for E_IF_init in -lvo-amrwbenc" >&5 +$as_echo_n "checking for E_IF_init in -lvo-amrwbenc... " >&6; } +if ${ac_cv_lib_vo_amrwbenc_E_IF_init+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lvo-amrwbenc $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char E_IF_init (); +int +main () +{ +return E_IF_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_vo_amrwbenc_E_IF_init=yes +else + ac_cv_lib_vo_amrwbenc_E_IF_init=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_vo_amrwbenc_E_IF_init" >&5 +$as_echo "$ac_cv_lib_vo_amrwbenc_E_IF_init" >&6; } +if test "x$ac_cv_lib_vo_amrwbenc_E_IF_init" = xyes; then : + opencore_amrwb_enc_present=1 && LIBS="$LIBS -lvo-amrwbenc" +fi + + if test "x$opencore_amrwb_enc_h_present" = "x1" -a "x$opencore_amrwb_dec_h_present" = "x1" -a "x$opencore_amrwb_enc_present" = "x1" -a "x$opencore_amrwb_dec_present" = "x1"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: OpenCORE AMR-WB library found, AMR-WB support enabled" >&5 +$as_echo "OpenCORE AMR-WB library found, AMR-WB support enabled" >&6; } + $as_echo "#define PJMEDIA_HAS_OPENCORE_AMRWB_CODEC 1" >>confdefs.h + + else + ac_no_opencore_amrwb=1 + $as_echo "#define PJMEDIA_HAS_OPENCORE_AMRWB_CODEC 0" >>confdefs.h + + fi + + +fi + + + +# Check whether --with-silk was given. +if test "${with_silk+set}" = set; then : + withval=$with_silk; +else + with_silk=no + +fi + + +if test "x$ac_cross_compile" != "x" -a "x$with_silk" = "xno"; then + enable_silk=no +fi + + +# Check whether --enable-silk was given. +if test "${enable_silk+set}" = set; then : + enableval=$enable_silk; + if test "$enable_silk" = "no"; then + ac_no_silk=1 + $as_echo "#define PJMEDIA_HAS_SILK_CODEC 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if SILK support is disabled... yes" >&5 +$as_echo "Checking if SILK support is disabled... yes" >&6; } + fi + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking for SILK installations.." >&5 +$as_echo "checking for SILK installations.." >&6; } + if test "x$with_silk" != "xno" -a "x$with_silk" != "x"; then + CFLAGS="$CFLAGS -I$with_silk/interface" + CPPFLAGS="$CPPFLAGS -I$with_silk/interface" + LDFLAGS="$LDFLAGS -L$with_silk" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using SILK prefix... $with_silk" >&5 +$as_echo "Using SILK prefix... $with_silk" >&6; } + fi + + + ac_fn_c_check_header_mongrel "$LINENO" "SKP_Silk_SDK_API.h" "ac_cv_header_SKP_Silk_SDK_API_h" "$ac_includes_default" +if test "x$ac_cv_header_SKP_Silk_SDK_API_h" = xyes; then : + silk_h_present=1 +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SKP_Silk_SDK_get_version in -lSKP_SILK_SDK" >&5 +$as_echo_n "checking for SKP_Silk_SDK_get_version in -lSKP_SILK_SDK... " >&6; } +if ${ac_cv_lib_SKP_SILK_SDK_SKP_Silk_SDK_get_version+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lSKP_SILK_SDK $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char SKP_Silk_SDK_get_version (); +int +main () +{ +return SKP_Silk_SDK_get_version (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_SKP_SILK_SDK_SKP_Silk_SDK_get_version=yes +else + ac_cv_lib_SKP_SILK_SDK_SKP_Silk_SDK_get_version=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_SKP_SILK_SDK_SKP_Silk_SDK_get_version" >&5 +$as_echo "$ac_cv_lib_SKP_SILK_SDK_SKP_Silk_SDK_get_version" >&6; } +if test "x$ac_cv_lib_SKP_SILK_SDK_SKP_Silk_SDK_get_version" = xyes; then : + silk_present=1 && LIBS="$LIBS -lSKP_SILK_SDK" +fi + + if test "x$silk_h_present" = "x1" -a "x$silk_present" = "x1"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: SILK library found, SILK support enabled" >&5 +$as_echo "SILK library found, SILK support enabled" >&6; } + $as_echo "#define PJMEDIA_HAS_SILK_CODEC 1" >>confdefs.h + + else + ac_no_silk=1 + $as_echo "#define PJMEDIA_HAS_SILK_CODEC 0" >>confdefs.h + + fi + +fi + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if select() needs correct nfds" >&5 +$as_echo_n "checking if select() needs correct nfds... " >&6; } +case $target in + *rtems*) $as_echo "#define PJ_SELECT_NEEDS_NFDS 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + ;; + *) $as_echo "#define PJ_SELECT_NEEDS_NFDS 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (default)" >&5 +$as_echo "no (default)" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ** Decided that select() doesn't need correct nfds (please check)" >&5 +$as_echo "** Decided that select() doesn't need correct nfds (please check)" >&6; } + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if pj_thread_create() should enforce stack size" >&5 +$as_echo_n "checking if pj_thread_create() should enforce stack size... " >&6; } +case $target in + *rtems*) $as_echo "#define PJ_THREAD_SET_STACK_SIZE 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + ;; + *) $as_echo "#define PJ_THREAD_SET_STACK_SIZE 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (default)" >&5 +$as_echo "no (default)" >&6; } + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if pj_thread_create() should allocate stack" >&5 +$as_echo_n "checking if pj_thread_create() should allocate stack... " >&6; } +case $target in + *rtems*) $as_echo "#define PJ_THREAD_ALLOCATE_STACK 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + ;; + *) $as_echo "#define PJ_THREAD_ALLOCATE_STACK 0" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (default)" >&5 +$as_echo "no (default)" >&6; } + ;; +esac + +case $target in + *mingw* | *cygw* | *win32* | *w32* ) + $as_echo "#define PJ_BLOCKING_ERROR_VAL WSAEWOULDBLOCK" >>confdefs.h + + ;; + *) $as_echo "#define PJ_BLOCKING_ERROR_VAL EAGAIN" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ** Setting non-blocking recv() retval to EAGAIN (please check)" >&5 +$as_echo "** Setting non-blocking recv() retval to EAGAIN (please check)" >&6; } + ;; +esac + +case $target in + *mingw* | *cygw* | *win32* | *w32* ) + $as_echo "#define PJ_BLOCKING_CONNECT_ERROR_VAL WSAEWOULDBLOCK" >>confdefs.h + + ;; + *) $as_echo "#define PJ_BLOCKING_CONNECT_ERROR_VAL EINPROGRESS" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ** Setting non-blocking connect() retval to EINPROGRESS (please check)" >&5 +$as_echo "** Setting non-blocking connect() retval to EINPROGRESS (please check)" >&6; } + ;; +esac + + + +ac_linux_poll=select + +ac_host=unix + + +case $target in + *rtems*) + ac_main_obj=main_rtems.o + ;; + *) + ac_main_obj=main.o + ;; +esac + + +ac_build_mak_vars=`echo $ac_build_mak_vars | sed 's/\\\\n/\n/g'` +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by pjproject $as_me 2.x, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Report bugs to the package provider." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +pjproject config.status 2.x +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "pjlib/include/pj/compat/os_auto.h") CONFIG_HEADERS="$CONFIG_HEADERS pjlib/include/pj/compat/os_auto.h" ;; + "pjlib/include/pj/compat/m_auto.h") CONFIG_HEADERS="$CONFIG_HEADERS pjlib/include/pj/compat/m_auto.h" ;; + "pjmedia/include/pjmedia/config_auto.h") CONFIG_HEADERS="$CONFIG_HEADERS pjmedia/include/pjmedia/config_auto.h" ;; + "pjmedia/include/pjmedia-codec/config_auto.h") CONFIG_HEADERS="$CONFIG_HEADERS pjmedia/include/pjmedia-codec/config_auto.h" ;; + "pjsip/include/pjsip/sip_autoconf.h") CONFIG_HEADERS="$CONFIG_HEADERS pjsip/include/pjsip/sip_autoconf.h" ;; + "build.mak") CONFIG_FILES="$CONFIG_FILES build.mak" ;; + "build/os-auto.mak") CONFIG_FILES="$CONFIG_FILES build/os-auto.mak" ;; + "build/cc-auto.mak") CONFIG_FILES="$CONFIG_FILES build/cc-auto.mak" ;; + "pjlib/build/os-auto.mak") CONFIG_FILES="$CONFIG_FILES pjlib/build/os-auto.mak" ;; + "pjlib-util/build/os-auto.mak") CONFIG_FILES="$CONFIG_FILES pjlib-util/build/os-auto.mak" ;; + "pjmedia/build/os-auto.mak") CONFIG_FILES="$CONFIG_FILES pjmedia/build/os-auto.mak" ;; + "pjsip/build/os-auto.mak") CONFIG_FILES="$CONFIG_FILES pjsip/build/os-auto.mak" ;; + "third_party/build/os-auto.mak") CONFIG_FILES="$CONFIG_FILES third_party/build/os-auto.mak" ;; + "third_party/build/portaudio/os-auto.mak") CONFIG_FILES="$CONFIG_FILES third_party/build/portaudio/os-auto.mak" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi + ;; + + + esac + +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: + +Configurations for current target have been written to 'build.mak', and 'os-auto.mak' in various build directories, and pjlib/include/pj/compat/os_auto.h. + +Further customizations can be put in: + - 'user.mak' + - 'pjlib/include/pj/config_site.h' + +The next step now is to run 'make dep' and 'make'. +" >&5 +$as_echo " + +Configurations for current target have been written to 'build.mak', and 'os-auto.mak' in various build directories, and pjlib/include/pj/compat/os_auto.h. + +Further customizations can be put in: + - 'user.mak' + - 'pjlib/include/pj/config_site.h' + +The next step now is to run 'make dep' and 'make'. +" >&6; } + diff --git a/aconfigure.ac b/aconfigure.ac new file mode 100644 index 0000000..179dfac --- /dev/null +++ b/aconfigure.ac @@ -0,0 +1,1784 @@ +AC_INIT(pjproject,2.x) + +host_orig="$host" + +AC_CANONICAL_BUILD +AC_CANONICAL_HOST +AC_CANONICAL_TARGET +AC_CONFIG_HEADER([pjlib/include/pj/compat/os_auto.h + pjlib/include/pj/compat/m_auto.h + pjmedia/include/pjmedia/config_auto.h + pjmedia/include/pjmedia-codec/config_auto.h + pjsip/include/pjsip/sip_autoconf.h + ]) +AC_CONFIG_FILES([build.mak + build/os-auto.mak + build/cc-auto.mak + pjlib/build/os-auto.mak + pjlib-util/build/os-auto.mak + pjmedia/build/os-auto.mak + pjsip/build/os-auto.mak + third_party/build/os-auto.mak + third_party/build/portaudio/os-auto.mak + ]) + + +dnl +dnl Setup default CFLAGS +dnl +if test "$CFLAGS" = ""; then + CFLAGS="-O2" +else + CFLAGS="$CFLAGS" +fi + +CXXFLAGS="$CFLAGS $CXXFLAGS" + +dnl # +dnl # Configure tools +dnl # +AC_PROG_CC +AC_PROG_CXX +AC_LANG_C + +AC_PROG_RANLIB +AC_CHECK_TOOLS([AR], [ar gar], :) + +if test "$AR_FLAGS" = ""; then AR_FLAGS="rv"; fi +AC_SUBST(AR_FLAGS) +if test "$LD" = ""; then LD="$CC"; fi +AC_SUBST(LD) +if test "$LDOUT" = ""; then LDOUT="-o "; fi +AC_SUBST(LDOUT) +if test "$OBJEXT" = ""; then OBJEXT='o'; fi +AC_SUBST(OBJEXT) +if test "$LIBEXT" = ""; then LIBEXT='a'; fi +AC_SUBST(LIBEXT) +if test "$LIBEXT2" = ""; then LIBEXT2=""; fi +AC_SUBST(LIBEXT2) +if test "$CC_OUT" = ""; then CC_OUT="-o "; fi +AC_SUBST(CC_OUT) +if test "$CC_INC" = ""; then CC_INC="-I"; fi +AC_SUBST(CC_INC) +if test "$CC_DEF" = ""; then CC_DEF="-D"; fi +AC_SUBST(CC_DEF) +if test "$CC_OPTIMIZE" = ""; then CC_OPTIMIZE="-O2"; fi +AC_SUBST(CC_OPTIMIZE) +if test "$CC_CFLAGS" = ""; then CC_CFLAGS="-Wall"; fi +AC_SUBST(CC_CFLAGS) + + + +AC_SUBST(ac_pjdir) +AC_SUBST(ac_build_mak_vars) + +case $host in + *mingw* | *cygw* | *win32* | *w32* ) + if pwd -W 2&> /dev/null; then + ac_pjdir=`pwd -W` + else + # We're probably cross-compiling mingw on Linux + ac_pjdir=`pwd` + fi + ;; + *) + ac_pjdir=`pwd` + ;; +esac + +AC_SUBST(ac_shlib_suffix) +case $target in + *mingw* | *cygw* | *win32* | *w32* ) + ac_shlib_suffix=dll + ;; + *darwin*) + ac_shlib_suffix=dylib + ;; + *) + ac_shlib_suffix=so + ;; +esac + +AC_SUBST(ac_cross_compile) +if test "$build" = "$host"; then + ac_cross_compile= +else + ac_cross_compile=${host_orig}- +fi + +AC_CHECK_LIB(pthread,pthread_create) +AC_CHECK_LIB(wsock32,puts) +AC_CHECK_LIB(ws2_32,puts) +AC_CHECK_LIB(ole32,puts) +AC_CHECK_LIB(winmm,puts) +AC_CHECK_LIB(socket,puts) +AC_CHECK_LIB(rt,puts) +AC_CHECK_LIB(m,sin) +AC_CHECK_LIB(uuid,uuid_generate) +AC_CHECK_LIB(uuid,uuid_generate,[ac_has_uuid_lib=1]) +AC_SEARCH_LIBS(gethostbyname,nsl) + +AC_MSG_RESULT([Setting PJ_M_NAME to $target_cpu]) +AC_DEFINE_UNQUOTED(PJ_M_NAME,["$target_cpu"]) + +dnl +dnl Memory alignment detection +dnl +AC_MSG_CHECKING([memory alignment]) +case $target in + sparc64-* | ia64-* | x86_64-* | arm64-* | aarch64-* | mips64* ) + AC_DEFINE(PJ_POOL_ALIGNMENT, 8) + AC_MSG_RESULT([8 bytes]) + ;; + * ) + AC_DEFINE(PJ_POOL_ALIGNMENT, 4) + AC_MSG_RESULT([4 bytes (default)]) + ;; +esac + + +dnl +dnl Endianness detection +dnl +AC_C_BIGENDIAN + +if test "x$ac_cv_c_bigendian" = "xyes"; then + CFLAGS="$CFLAGS -DPJ_IS_BIG_ENDIAN=1 -DPJ_IS_LITTLE_ENDIAN=0" +else + CFLAGS="$CFLAGS -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1" +fi + +dnl +dnl Legacy macros +dnl +case $target in + *android*) + AC_DEFINE(PJ_ANDROID,1) + ;; + *mingw* | *cygw* | *win32* | *w32* ) + AC_DEFINE(PJ_WIN32,1) + AC_DEFINE(PJ_WIN32_WINNT,0x0400) + AC_DEFINE(WIN32_LEAN_AND_MEAN) + ;; + *darwin*) + AC_DEFINE(PJ_DARWINOS,1) + ;; + *linux*) + AC_DEFINE(PJ_LINUX,1) + ;; + *rtems*) + AC_DEFINE(PJ_RTEMS,1) + ;; + *sunos* | *solaris* ) + AC_DEFINE(PJ_SUNOS,1) + ;; + *) + ;; +esac + + + + +dnl # --disable-floating-point option +AC_ARG_ENABLE(floating-point, + AC_HELP_STRING([--disable-floating-point], + [Disable floating point where possible]), + [if test "$enable_floating_point" = "no"; then + AC_DEFINE(PJ_HAS_FLOATING_POINT,0) + AC_MSG_RESULT([Checking if floating point is disabled... yes]) + fi], + [ + AC_DEFINE(PJ_HAS_FLOATING_POINT,1) + AC_MSG_RESULT([Checking if floating point is disabled... no]) + ]) + + +AC_CHECK_HEADER(arpa/inet.h,[AC_DEFINE(PJ_HAS_ARPA_INET_H,1)]) +AC_CHECK_HEADER(assert.h,[AC_DEFINE(PJ_HAS_ASSERT_H,1)]) +AC_CHECK_HEADER(ctype.h,[AC_DEFINE(PJ_HAS_CTYPE_H,1)]) + +case $target in + *mingw* | *cygw* | *win32* | *w32* ) + AC_DEFINE(PJ_HAS_ERRNO_H,0) + ;; + *) + AC_CHECK_HEADER(errno.h,[AC_DEFINE(PJ_HAS_ERRNO_H,1)]) + ;; +esac + +AC_CHECK_HEADER(fcntl.h,[AC_DEFINE(PJ_HAS_FCNTL_H,1)]) +AC_CHECK_HEADER(linux/socket.h,[AC_DEFINE(PJ_HAS_LINUX_SOCKET_H,1)]) +AC_CHECK_HEADER(limits.h,[AC_DEFINE(PJ_HAS_LIMITS_H,1)]) +AC_CHECK_HEADER(malloc.h,[AC_DEFINE(PJ_HAS_MALLOC_H,1)]) +AC_CHECK_HEADER(netdb.h,[AC_DEFINE(PJ_HAS_NETDB_H,1)]) +AC_CHECK_HEADER(netinet/in_systm.h,[AC_DEFINE(PJ_HAS_NETINET_IN_SYSTM_H,1)]) +AC_CHECK_HEADER(netinet/in.h,[AC_DEFINE(PJ_HAS_NETINET_IN_H,1)]) +AC_CHECK_HEADER(netinet/ip.h,[AC_DEFINE(PJ_HAS_NETINET_IP_H,1)],[], + [#if PJ_HAS_SYS_TYPES_H + # include + #endif + #if PJ_HAS_NETINET_IN_SYSTM_H + # include + #endif + #if PJ_HAS_NETINET_IN_H + # include + #endif + ]) +AC_CHECK_HEADER(netinet/tcp.h,[AC_DEFINE(PJ_HAS_NETINET_TCP_H,1)]) +AC_CHECK_HEADER(ifaddrs.h, + [AC_CHECK_FUNC(getifaddrs,[AC_DEFINE(PJ_HAS_IFADDRS_H,1)])]) +AC_CHECK_HEADER(semaphore.h,[AC_DEFINE(PJ_HAS_SEMAPHORE_H,1)]) +AC_CHECK_HEADER(setjmp.h,[AC_DEFINE(PJ_HAS_SETJMP_H,1)]) +AC_CHECK_HEADER(stdarg.h,[AC_DEFINE(PJ_HAS_STDARG_H,1)]) +AC_CHECK_HEADER(stddef.h,[AC_DEFINE(PJ_HAS_STDDEF_H,1)]) +AC_CHECK_HEADER(stdio.h,[AC_DEFINE(PJ_HAS_STDIO_H,1)]) +AC_CHECK_HEADER(stdint.h,[AC_DEFINE(PJ_HAS_STDINT_H,1)]) +AC_CHECK_HEADER(stdlib.h,[AC_DEFINE(PJ_HAS_STDLIB_H,1)]) +AC_CHECK_HEADER(string.h,[AC_DEFINE(PJ_HAS_STRING_H,1)]) +AC_CHECK_HEADER(sys/ioctl.h,[AC_DEFINE(PJ_HAS_SYS_IOCTL_H,1)]) +AC_CHECK_HEADER(sys/select.h,[AC_DEFINE(PJ_HAS_SYS_SELECT_H,1)]) +AC_CHECK_HEADER(sys/socket.h,[AC_DEFINE(PJ_HAS_SYS_SOCKET_H,1)]) +AC_CHECK_HEADER(sys/time.h,[AC_DEFINE(PJ_HAS_SYS_TIME_H,1)]) +AC_CHECK_HEADER(sys/timeb.h,[AC_DEFINE(PJ_HAS_SYS_TIMEB_H,1)]) +AC_CHECK_HEADER(sys/types.h,[AC_DEFINE(PJ_HAS_SYS_TYPES_H,1)]) +AC_CHECK_HEADER(sys/filio.h,[AC_DEFINE(PJ_HAS_SYS_FILIO_H,1)]) +AC_CHECK_HEADER(sys/sockio.h,[AC_DEFINE(PJ_HAS_SYS_SOCKIO_H,1)]) +AC_CHECK_HEADER(sys/utsname.h,[AC_DEFINE(PJ_HAS_SYS_UTSNAME_H,1)]) +AC_CHECK_HEADER(time.h,[AC_DEFINE(PJ_HAS_TIME_H,1)]) +AC_CHECK_HEADER(unistd.h,[AC_DEFINE(PJ_HAS_UNISTD_H,1)]) +AC_CHECK_HEADER(winsock.h,[AC_DEFINE(PJ_HAS_WINSOCK_H,1)]) +AC_CHECK_HEADER(winsock2.h,[AC_DEFINE(PJ_HAS_WINSOCK2_H,1)]) +AC_CHECK_HEADER(mswsock.h,[AC_DEFINE(PJ_HAS_MSWSOCK_H,1)],[], + [#if PJ_HAS_WINSOCK2_H + # include + #elif PJ_HAS_WINSOCK_H + # include + #endif + ]) +AC_CHECK_HEADER(ws2tcpip.h,[AC_DEFINE(PJ_HAS_WS2TCPIP_H,1)]) +AC_CHECK_HEADER(uuid/uuid.h,[ac_has_uuid_h=1]) +AC_CHECK_HEADER(net/if.h,[AC_DEFINE(PJ_HAS_NET_IF_H,1)],[], + [#if PJ_HAS_SYS_TYPES_H + # include + #endif + #if PJ_HAS_SYS_SOCKET_H + + # include + #endif + ]) +AC_MSG_RESULT([Setting PJ_OS_NAME to $target]) +AC_DEFINE_UNQUOTED(PJ_OS_NAME,["$target"]) + +AC_MSG_RESULT([Setting PJ_HAS_ERRNO_VAR to 1]) +AC_DEFINE(PJ_HAS_ERRNO_VAR,1) + +AC_MSG_RESULT([Setting PJ_HAS_HIGH_RES_TIMER to 1]) +AC_DEFINE(PJ_HAS_HIGH_RES_TIMER,1) + +AC_MSG_RESULT([Setting PJ_HAS_MALLOC to 1]) +AC_DEFINE(PJ_HAS_MALLOC,1) + +AC_MSG_RESULT([Setting PJ_NATIVE_STRING_IS_UNICODE to 0]) +AC_DEFINE(PJ_NATIVE_STRING_IS_UNICODE,0) + +AC_MSG_RESULT([Setting PJ_ATOMIC_VALUE_TYPE to long]) +AC_DEFINE(PJ_ATOMIC_VALUE_TYPE,long) + +dnl # Determine if inet_aton() is available +AC_MSG_CHECKING([if inet_aton() is available]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include + #include + #include ]], + [inet_aton(0, 0);])], + [AC_DEFINE(PJ_SOCK_HAS_INET_ATON,1) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) + +dnl # Determine if inet_pton() is available +AC_MSG_CHECKING([if inet_pton() is available]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include + #include + #include ]], + [inet_pton(0, 0, 0);])], + [AC_DEFINE(PJ_SOCK_HAS_INET_PTON,1) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) + +dnl # Determine if inet_ntop() is available +AC_MSG_CHECKING([if inet_ntop() is available]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include + #include + #include ]], + [inet_ntop(0, 0, 0, 0);])], + [AC_DEFINE(PJ_SOCK_HAS_INET_NTOP,1) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) + +dnl # Determine if getaddrinfo() is available +AC_MSG_CHECKING([if getaddrinfo() is available]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include + #include + #include ]], + [getaddrinfo(0, 0, 0, 0);])], + [AC_DEFINE(PJ_SOCK_HAS_GETADDRINFO,1) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) + +dnl # Determine if sockaddr_in has sin_len member +AC_MSG_CHECKING([if sockaddr_in has sin_len member]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include + #include + #include + #include ]], + [struct sockaddr_in a; a.sin_len=0;])], + [AC_DEFINE(PJ_SOCKADDR_HAS_LEN,1) + AC_MSG_RESULT(yes)], + AC_MSG_RESULT(no)) + +dnl # Determine if socklen_t is available +AC_MSG_CHECKING([if socklen_t is available]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include + #include ]], + [socklen_t xxx = 0;])], + [AC_DEFINE(PJ_HAS_SOCKLEN_T,1) + AC_MSG_RESULT(yes)], + AC_MSG_RESULT(no)) + +dnl # Determine if SO_ERROR is available +AC_MSG_CHECKING([if SO_ERROR is available]) +case $target in + *mingw* | *cygw* | *win32* | *w32* ) + AC_DEFINE(PJ_HAS_SO_ERROR,1) + AC_MSG_RESULT(yes) + ;; + *) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include + #include + #include + #include ]], + [int i=SO_ERROR;])], + [AC_DEFINE(PJ_HAS_SO_ERROR,1) + AC_MSG_RESULT(yes)], + AC_MSG_RESULT(no)) + ;; +esac + + +dnl # Determine if RW-mutex is available +AC_MSG_CHECKING([if pthread_rwlock_t is available]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], + [pthread_rwlock_t *x;])], + [AC_DEFINE(PJ_EMULATE_RWMUTEX,0) + ac_rwmutex="yes" + AC_MSG_RESULT(yes)], + [AC_DEFINE(PJ_EMULATE_RWMUTEX,1) + ac_rwmutex="no" + AC_MSG_RESULT(no)]) + +dnl # If rwmutex is not detected, check again but this time +dnl # with _POSIX_READER_WRITER_LOCKS defined (newlib needs this) +if test "$ac_rwmutex" = "no"; then + AC_MSG_CHECKING([if pthread_rwlock_t is available with _POSIX_READER_WRITER_LOCKS]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _POSIX_READER_WRITER_LOCKS + #include ]], + [pthread_rwlock_t *x;])], + [AC_DEFINE(PJ_EMULATE_RWMUTEX,0) + CFLAGS="$CFLAGS -D_POSIX_THREADS -D_POSIX_READER_WRITER_LOCKS" + AC_MSG_RESULT(yes)], + [AC_DEFINE(PJ_EMULATE_RWMUTEX,1) + AC_MSG_RESULT(no)]) +fi + +dnl # Do we have pthread_mutexattr_settype()? +AC_MSG_CHECKING([if pthread_mutexattr_settype() is available]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], + [pthread_mutexattr_settype(0,PTHREAD_MUTEX_FAST_NP);])], + [AC_DEFINE(PJ_HAS_PTHREAD_MUTEXATTR_SETTYPE,1) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) + +dnl # Does pthread_mutexattr_t has "recursive" member? +AC_MSG_CHECKING([if pthread_mutexattr_t has recursive member]) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include ], + [[pthread_mutexattr_t attr; + attr.recursive=1;]])], + [AC_DEFINE(PJ_PTHREAD_MUTEXATTR_T_HAS_RECURSIVE,1) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) + +dnl ###################### +dnl # ioqueue selection +dnl # +AC_SUBST(ac_os_objs) +AC_MSG_CHECKING([ioqueue backend]) +AC_ARG_ENABLE(epoll, + AC_HELP_STRING([--enable-epoll], + [Use /dev/epoll ioqueue on Linux (experimental)]), + [ + ac_os_objs=ioqueue_epoll.o + AC_MSG_RESULT([/dev/epoll]) + ], + [ + ac_os_objs=ioqueue_select.o + AC_MSG_RESULT([select()]) + ]) + +AC_SUBST(ac_shared_libraries) +AC_ARG_ENABLE(shared, + AC_HELP_STRING([--enable-shared], + [Build shared libraries]), + [if test "$enable_shared" = "yes"; then + [ac_shared_libraries=1] + CFLAGS="$CFLAGS -fPIC" + AC_MSG_RESULT([Building shared libraries... yes]) + fi], + AC_MSG_RESULT([Building shared libraries... no]) + ) + + +dnl ###################### +dnl # OS specific files +dnl # +case $target in + *mingw* | *cygw* | *win32* | *w32* ) + ac_os_objs="$ac_os_objs file_access_win32.o file_io_win32.o os_core_win32.o os_error_win32.o os_time_win32.o os_timestamp_win32.o guid_win32.o" + ;; + *) + ac_os_objs="$ac_os_objs file_access_unistd.o file_io_ansi.o os_core_unix.o os_error_unix.o os_time_unix.o os_timestamp_posix.o" + case $target in + *-apple-darwin_ios*) + ac_os_objs="$ac_os_objs os_info_iphone.o" + ;; + esac + # UUID + if test "$ac_has_uuid_lib" = "1" -a "$ac_has_uuid_h" = "1"; then + ac_os_objs="$ac_os_objs guid_uuid.o" + else + ac_os_objs="$ac_os_objs guid_simple.o" + fi + ;; +esac + +case $target in + *darwin*) + ac_os_objs="$ac_os_objs os_core_darwin.o" + ;; +esac + +dnl ########################################## +dnl # +dnl # PJMEDIA +dnl # + +dnl # Use external Speex installation +AC_SUBST(ac_external_speex,0) +AC_ARG_WITH(external-speex, + AC_HELP_STRING([--with-external-speex], + [Use external Speex development files, not the one in "third_party" directory. When this option is set, make sure that Speex is accessible to use (hint: use CFLAGS and LDFLAGS env var to set the include/lib paths)]), + [ + if test "x$with_external_speex" != "xno"; then + # Test Speex installation + AC_MSG_CHECKING([if external Speex devkit is installed]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include + #include + ]], + [speex_echo_state_init(0, 0); speex_encoder_init(0); ])], + [AC_MSG_RESULT(yes!!) + AC_DEFINE(PJMEDIA_EXTERNAL_SPEEX_CODEC, 1) + ac_external_speex="1" + ], + [AC_MSG_ERROR([Unable to use external Speex library. If Speex development files are not available in the default locations, use CFLAGS and LDFLAGS env var to set the include/lib paths])]) + fi + ] + ) + +dnl # Use external GSM codec library installation +AC_SUBST(ac_external_gsm,0) +AC_ARG_WITH(external-gsm, + AC_HELP_STRING([--with-external-gsm], + [Use external GSM codec library, not the one in "third_party" directory. When this option is set, make sure that the GSM include/lib files are accessible to use (hint: use CFLAGS and LDFLAGS env var to set the include/lib paths)]), + [ + if test "x$with_external_gsm" != "xno"; then + # Test GSM library installation + AC_MSG_CHECKING([if external GSM devkit is installed as gsm/gsm.h]) + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include ]], [gsm_create(); ]) ], + [AC_MSG_RESULT(yes!!) + AC_DEFINE(PJMEDIA_EXTERNAL_GSM_CODEC, 1) + AC_DEFINE(PJMEDIA_EXTERNAL_GSM_GSM_H, 1) + ac_external_gsm="1" + ], + [ + AC_MSG_RESULT(no) + AC_MSG_CHECKING([if external GSM devkit is installed as gsm.h]) + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include ]], [gsm_create(); ]) ], + [AC_MSG_RESULT(yes!!) + AC_DEFINE(PJMEDIA_EXTERNAL_GSM_CODEC, 1) + AC_DEFINE(PJMEDIA_EXTERNAL_GSM_H, 1) + ac_external_gsm="1" + ], + [AC_MSG_ERROR([Unable to use external GSM library. If GSM development files are not available in the default locations, use CFLAGS and LDFLAGS env var to set the include/lib paths]) + ] + ) + ] + ) + fi + ] + ) + + +dnl # Use external SRTP installation +AC_SUBST(ac_external_srtp,0) +AC_ARG_WITH(external-srtp, + AC_HELP_STRING([--with-external-srtp], + [Use external SRTP development files, not the one in "third_party" directory. When this option is set, make sure that SRTP is accessible to use (hint: use CFLAGS and LDFLAGS env var to set the include/lib paths)]), + [ + if test "x$with_external_srtp" != "xno"; then + # Test SRTP installation + AC_MSG_CHECKING([if external SRTP devkit is installed]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include + ]], + [srtp_init();])], + [AC_MSG_RESULT(yes!!) + ac_external_srtp="1" + ], + [AC_MSG_ERROR([Unable to use SRTP. If SRTP development files are not available in the default locations, use CFLAGS and LDFLAGS env var to set the include/lib paths])]) + fi + ] + ) + +dnl # For external SRTP, check availability of srtp_deinit() or srtp_shutdown() +if test "x$ac_external_srtp" = "x1"; then + AC_SUBST(ac_srtp_deinit_present,0) + AC_SUBST(ac_srtp_shutdown_present,0) + AC_CHECK_LIB(srtp,srtp_deinit,[ac_srtp_deinit_present=1]) + if test "x$ac_srtp_deinit_present" != "x1"; then + AC_CHECK_LIB(srtp,srtp_shutdown,[ac_srtp_shutdown_present=1]) + fi +fi + +dnl # Resample implementation +AC_SUBST(ac_pjmedia_resample,libresample) +AC_ARG_ENABLE(resample, + AC_HELP_STRING([--disable-resample], + [Disable resampling implementations]), + [if test "$enable_resample" = "no"; then + [ac_pjmedia_resample=none] + AC_MSG_RESULT([Checking if resampling is disabled...yes]) + fi] + ) + +dnl # Sound device backend selection +AC_SUBST(ac_pjmedia_snd) +AC_ARG_ENABLE(sound, + AC_HELP_STRING([--disable-sound], + [Exclude sound (i.e. use null sound)]), + [if test "$enable_sound" = "no"; then + [ac_pjmedia_snd=null] + AC_MSG_RESULT([Checking if sound is disabled... yes]) + fi] + ) + +dnl # Use external PortAudio installation +AC_SUBST(ac_external_pa,0) +AC_ARG_WITH(external-pa, + AC_HELP_STRING([--with-external-pa], + [Use external PortAudio development files, not the one in "third_party" directory. When this option is set, make sure that PortAudio is accessible to use (hint: use CFLAGS and LDFLAGS env var to set the include/lib paths)]), + [ + if test "x$with_external_pa" != "xno"; then + # Test PortAudio installation + AC_MSG_CHECKING([if external PortAudio devkit is installed]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include + ]], + [Pa_Initialize();])], + [AC_MSG_RESULT(yes!!) + ac_external_pa="1" + ], + [AC_MSG_ERROR([Unable to use PortAudio. If PortAudio development files are not available in the default locations, use CFLAGS and LDFLAGS env var to set the include/lib paths])]) + fi + ] + ) + +AC_SUBST(ac_pa_cflags) +AC_CHECK_HEADER(sys/soundcard.h, + [ac_pa_cflags="$ac_pa_cflags -DHAVE_SYS_SOUNDCARD_H"]) +AC_CHECK_HEADER(linux/soundcard.h, + [ac_pa_cflags="$ac_pa_cflags -DHAVE_LINUX_SOUNDCARD_H"]) +AC_CHECK_HEADER(machine/soundcard.h, + [ac_pa_cflags="$ac_pa_cflags -DHAVE_MACHINE_SOUNDCARD_H"]) + +if test "x$ac_cv_c_bigendian" = "xyes"; then + ac_pa_cflags="$ac_pa_cflags -DPA_BIG_ENDIAN" +else + ac_pa_cflags="$ac_pa_cflags -DPA_LITTLE_ENDIAN" +fi + +if test "$enable_sound" = "no"; then + true; +else + AC_SUBST(ac_pjmedia_audiodev_objs) + case $target in + *android*) + LIBS="$LIBS -lOpenSLES" + AC_MSG_RESULT([Checking sound device backend... OpenSL ES]) + ;; + *-apple-darwin_ios*) + LIBS="$LIBS -framework CoreAudio -framework CoreFoundation -framework AudioToolbox -framework CFNetwork -framework UIKit" + ac_pjmedia_audiodev_objs="coreaudio_dev.o" + AC_MSG_RESULT([Checking sound device backend... AudioUnit]) + ;; + *darwin*) + LIBS="$LIBS -framework CoreAudio -framework CoreServices -framework AudioUnit -framework AudioToolbox" + ac_pjmedia_audiodev_objs="coreaudio_dev.o" + if test "`uname -r`" = "6.8"; then + #ac_pa_cflags="$ac_pa_cflags -DPA_OLD_CORE_AUDIO -DMOSX_USE_NON_ATOMIC_FLAG_BITS" + #AC_MSG_RESULT([Setting additional PortAudio CFLAGS.. -DPA_OLD_CORE_AUDIO -DMOSX_USE_NON_ATOMIC_FLAG_BITS]) + ac_pjmedia_snd=pa_old_darwinos + AC_MSG_RESULT([Checking sound device backend... old coreaudio]) + else + ac_pjmedia_snd=pa_darwinos + AC_MSG_RESULT([Checking sound device backend... coreaudio]) + fi + ;; + *cygwin* | *mingw*) + ac_pjmedia_snd=pa_win32 + AC_MSG_RESULT([Checking sound device backend... win32 sound]) + ;; + *rtems*) + ac_pjmedia_snd=null + AC_MSG_RESULT([Checking sound device backend... null sound]) + ;; + *) + dnl # Check if ALSA is available + ac_pjmedia_snd=pa_unix + AC_CHECK_HEADER(alsa/version.h, + [AC_SUBST(ac_pa_use_alsa,1) + LIBS="$LIBS -lasound" + ], + [AC_SUBST(ac_pa_use_alsa,0)]) + AC_MSG_RESULT([Checking sound device backend... unix]) + + dnl # Check if OSS is disabled + AC_SUBST(ac_pa_use_oss,1) + AC_ARG_ENABLE(oss, + AC_HELP_STRING([--disable-oss], + [Disable OSS audio (default: not disabled)]), + [ + if test "$enable_oss" = "no"; then + [ac_pa_use_oss=0] + AC_MSG_RESULT([Checking if OSS audio is disabled... yes]) + fi + ]) + ;; + esac +fi + +AC_SUBST(ac_pjmedia_video) + +dnl # --disable-video option +AC_ARG_ENABLE(video, + AC_HELP_STRING([--disable-video], + [Disable video feature]), + [if test "$enable_video" = "no"; then + #AC_DEFINE(PJMEDIA_HAS_VIDEO,0) + AC_MSG_RESULT([Video is disabled]) + enable_sdl="no" + enable_ffmpeg="no" + enable_v4l2="no" + enable_openh264="no" + enable_libyuv="no" + fi], + []) + +case $target in + *android*) + LIBS="$LIBS -llog" + ;; + *-apple-darwin_ios*) + LIBS="$LIBS -framework UIKit" + ;; + *darwin*) + LIBS="$LIBS -framework Foundation -framework AppKit" + ;; +esac + +if test "$enable_video" = "no"; then + true; +else + case $target in + *android*) + ac_pjmedia_video=android_os + AC_SUBST(ac_pjmedia_video_has_android) + AC_SUBST(ac_android_cflags) + SAVED_LIBS="$LIBS" + LIBS="-lGLESv2 -lEGL -landroid -lgcc -lc" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [])],[ac_pjmedia_video_has_android=yes],[ac_pjmedia_video_has_android=no]) + LIBS="$SAVED_LIBS" + if test "$ac_pjmedia_video_has_android" = "yes"; then + ac_android_cflags="-DPJMEDIA_VIDEO_DEV_HAS_ANDROID_OPENGL=1" + LIBS="$LIBS -lGLESv2 -lEGL -landroid" + AC_MSG_RESULT([Checking if OpenGL ES 2 is available... yes]) + else + AC_MSG_RESULT([Checking if OpenGL ES 2 is available... no]) + fi + ac_android_cflags="$ac_android_cflags -DPJMEDIA_VIDEO_DEV_HAS_ANDROID=1" + ;; + *-apple-darwin_ios*) + ac_pjmedia_video=iphone_os + AC_SUBST(ac_pjmedia_video_has_ios) + AC_SUBST(ac_ios_cflags) + SAVED_LIBS="$LIBS" + LIBS="-framework AVFoundation -framework CoreGraphics -framework QuartzCore -framework CoreVideo -framework CoreMedia" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [])],[ac_pjmedia_video_has_ios=yes],[ac_pjmedia_video_has_ios=no]) + LIBS="$SAVED_LIBS" + if test "$ac_pjmedia_video_has_ios" = "yes"; then + ac_ios_cflags="-DPJMEDIA_VIDEO_DEV_HAS_IOS=1 -DPJMEDIA_VIDEO_DEV_HAS_IOS_OPENGL=1" + LIBS="$LIBS -framework OpenGLES -framework AVFoundation -framework CoreGraphics -framework QuartzCore -framework CoreVideo -framework CoreMedia" + AC_MSG_RESULT([Checking if AVFoundation framework is available... yes]) + else + AC_MSG_RESULT([Checking if AVFoundation framework is available... no]) + fi + ;; + *darwin*) + ac_pjmedia_video=mac_os + AC_SUBST(ac_pjmedia_video_has_qt) + AC_SUBST(ac_qt_cflags) + SAVED_LIBS="$LIBS" + LIBS="-framework QTKit" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [])],[ac_pjmedia_video_has_qt=yes],[ac_pjmedia_video_has_qt=no]) + LIBS="$SAVED_LIBS" + if test "$ac_pjmedia_video_has_qt" = "yes"; then + ac_qt_cflags="-DPJMEDIA_VIDEO_DEV_HAS_QT=1" + LIBS="$LIBS -framework QTKit -framework QuartzCore -framework OpenGL" + AC_MSG_RESULT([Checking if QTKit framework is available... yes]) + else + AC_MSG_RESULT([Checking if QTKit framework is available... no]) + fi + ;; + esac +fi + +AC_ARG_ENABLE(ext_sound, + AC_HELP_STRING([--enable-ext-sound], + [PJMEDIA will not provide any sound device backend]), + [if test "$enable_ext_sound" = "yes"; then + [ac_pjmedia_snd=external] + AC_MSG_RESULT([Checking if external sound is set... yes]) + fi] + ) + +dnl # Include resampling small filter +AC_SUBST(ac_no_small_filter) +AC_ARG_ENABLE(small-filter, + AC_HELP_STRING([--disable-small-filter], + [Exclude small filter in resampling]), + [if test "$enable_small_filter" = "no"; then + [ac_no_small_filter='-DPJMEDIA_HAS_SMALL_FILTER=0'] + AC_MSG_RESULT([Checking if small filter is disabled... yes]) + fi], + AC_MSG_RESULT([Checking if small filter is disabled... no])) + +dnl # Include resampling large filter +AC_SUBST(ac_no_large_filter) +AC_ARG_ENABLE(large-filter, + AC_HELP_STRING([--disable-large-filter], + [Exclude large filter in resampling]), + [if test "$enable_large_filter" = "no"; then + [ac_no_large_filter='-DPJMEDIA_HAS_LARGE_FILTER=0'] + AC_MSG_RESULT([Checking if large filter is disabled... yes]) + fi], + AC_MSG_RESULT([Checking if large filter is disabled... no])) + +dnl # Include Speex AEC +AC_SUBST(ac_no_speex_aec) +AC_ARG_ENABLE(speex-aec, + AC_HELP_STRING([--disable-speex-aec], + [Exclude Speex Acoustic Echo Canceller/AEC]), + [if test "$enable_speex_aec" = "no"; then + [ac_no_speex_aec='-DPJMEDIA_HAS_SPEEX_AEC=0'] + AC_MSG_RESULT([Checking if Speex AEC is disabled...yes]) + fi], + AC_MSG_RESULT([Checking if Speex AEC is disabled...no])) + +dnl # Include G711 codec +AC_SUBST(ac_no_g711_codec) +AC_ARG_ENABLE(g711-codec, + AC_HELP_STRING([--disable-g711-codec], + [Exclude G.711 codecs from the build]), + [if test "$enable_g711_codec" = "no"; then + [ac_no_g711_codec=1] + AC_DEFINE(PJMEDIA_HAS_G711_CODEC,0) + AC_MSG_RESULT([Checking if G.711 codec is disabled...yes]) + fi], + AC_MSG_RESULT([Checking if G.711 codec is disabled...no])) + + +dnl # Include L16 codec +AC_SUBST(ac_no_l16_codec) +AC_ARG_ENABLE(l16-codec, + AC_HELP_STRING([--disable-l16-codec], + [Exclude Linear/L16 codec family from the build]), + [if test "$enable_l16_codec" = "no"; then + [ac_no_l16_codec=1] + AC_DEFINE(PJMEDIA_HAS_L16_CODEC,0) + AC_MSG_RESULT([Checking if L16 codecs are disabled...yes]) + fi], + AC_MSG_RESULT([Checking if L16 codec is disabled...no])) + + +dnl # Include GSM codec +AC_SUBST(ac_no_gsm_codec) +AC_ARG_ENABLE(gsm-codec, + AC_HELP_STRING([--disable-gsm-codec], + [Exclude GSM codec in the build]), + [if test "$enable_gsm_codec" = "no"; then + [ac_no_gsm_codec=1] + AC_DEFINE(PJMEDIA_HAS_GSM_CODEC,0) + AC_MSG_RESULT([Checking if GSM codec is disabled...yes]) + fi], + AC_MSG_RESULT([Checking if GSM codec is disabled...no])) + +dnl # Include G.722 codec +AC_SUBST(ac_no_g722_codec) +AC_ARG_ENABLE(g722-codec, + AC_HELP_STRING([--disable-g722-codec], + [Exclude G.722 codec in the build]), + [if test "$enable_g722_codec" = "no"; then + [ac_no_g722_codec=1] + AC_DEFINE(PJMEDIA_HAS_G722_CODEC,0) + AC_MSG_RESULT([Checking if G.722 codec is disabled...yes]) + fi], + AC_MSG_RESULT([Checking if G.722 codec is disabled...no])) + +dnl # Include G722.1 codec +AC_SUBST(ac_no_g7221_codec) +AC_ARG_ENABLE(g7221-codec, + AC_HELP_STRING([--disable-g7221-codec], + [Exclude G.7221 codec in the build]), + [if test "$enable_g7221_codec" = "no"; then + [ac_no_g7221_codec=1] + AC_DEFINE(PJMEDIA_HAS_G7221_CODEC,0) + AC_MSG_RESULT([Checking if G.722.1 codec is disabled...yes]) + fi], + AC_MSG_RESULT([Checking if G.722.1 codec is disabled...no])) + +dnl # Include Speex codec +AC_SUBST(ac_no_speex_codec) +AC_ARG_ENABLE(speex-codec, + AC_HELP_STRING([--disable-speex-codec], + [Exclude Speex codecs in the build]), + [if test "$enable_speex_codec" = "no"; then + [ac_no_speex_codec=1] + AC_DEFINE(PJMEDIA_HAS_SPEEX_CODEC,0) + AC_MSG_RESULT([Checking if Speex codec is disabled...yes]) + fi], + AC_MSG_RESULT([Checking if Speex codec is disabled...no])) + +dnl # Include iLBC codec +AC_SUBST(ac_no_ilbc_codec) +AC_ARG_ENABLE(ilbc-codec, + AC_HELP_STRING([--disable-ilbc-codec], + [Exclude iLBC codec in the build]), + [if test "$enable_ilbc_codec" = "no"; then + [ac_no_ilbc_codec=1] + AC_DEFINE(PJMEDIA_HAS_ILBC_CODEC,0) + AC_MSG_RESULT([Checking if iLBC codec is disabled...yes]) + fi], + AC_MSG_RESULT([Checking if iLBC codec is disabled...no])) + +dnl # Include libsamplerate +AC_ARG_ENABLE(libsamplerate, + AC_HELP_STRING([--enable-libsamplerate], + [Link with libsamplerate when available.]), + [ + if test "$enable_libsamplerate" = "yes"; then + AC_MSG_RESULT([Checking if libsamplerate is enabled...yes]) + AC_CHECK_LIB(samplerate,src_new) + [ac_pjmedia_resample=libsamplerate] + else + AC_MSG_RESULT([Checking if libsamplerate is enabled...no]) + fi + ], AC_MSG_RESULT([Checking if libsamplerate is enabled...no])) + +AC_SUBST(ac_resample_dll) +AC_ARG_ENABLE(resample_dll, + AC_HELP_STRING([--enable-resample-dll], + [Build libresample as shared library]), + [if test "$enable_resample_dll" = "yes"; then + [ac_resample_dll=1] + AC_MSG_RESULT([Building libresample as shared library... yes]) + fi], + AC_MSG_RESULT([Building libresample as shared library... no]) + ) + +dnl # SDL alt prefix +AC_ARG_WITH(sdl, + AC_HELP_STRING([--with-sdl=DIR], + [Specify alternate libSDL prefix]), + [], + [with_sdl=no] + ) + +dnl # Do not use default SDL installation if we are cross-compiling +if test "x$ac_cross_compile" != "x" -a "x$with_sdl" = "xno"; then + enable_sdl=no +fi + +dnl # SDL +AC_ARG_ENABLE(sdl, + AC_HELP_STRING([--disable-sdl], + [Disable SDL (default: not disabled)]), + [ + if test "$enable_sdl" = "no"; then + AC_MSG_RESULT([Checking if SDL is disabled... yes]) + fi + ], + [ + if test "x$with_sdl" != "xno" -a "x$with_sdl" != "x"; then + AC_MSG_RESULT([Using SDL prefix... $with_sdl]) + AC_PATH_PROGS(SDL_CONFIG,sdl2-config sdl-config,,$with_sdl/bin) + else + AC_PATH_PROGS(SDL_CONFIG, sdl2-config sdl-config) + fi + + AC_MSG_CHECKING([SDL availability]) + if test "x$SDL_CONFIG" = "x"; then + AC_MSG_RESULT([not found]) + elif (sh -c "$SDL_CONFIG --version" | grep -e '^1\.3' -e '^2\.') then + AC_SUBST(ac_sdl_cflags) + AC_SUBST(ac_sdl_ldflags) + ac_sdl_cflags=`$SDL_CONFIG --cflags` + ac_sdl_cflags="-DPJMEDIA_VIDEO_DEV_HAS_SDL=1 $ac_sdl_cflags" + ac_sdl_ldflags=`$SDL_CONFIG --libs` + LIBS="$LIBS $ac_sdl_ldflags" + else + AC_MSG_RESULT([Unsupported SDL version]) + fi + ]) + + +AC_ARG_WITH(ffmpeg, + AC_HELP_STRING([--with-ffmpeg=DIR], + [Specify alternate FFMPEG prefix]), + [], + [with_ffmpeg=no] + ) + +dnl # Do not use default ffmpeg installation if we are cross-compiling +if test "x$ac_cross_compile" != "x" -a "x$with_ffmpeg" = "xno"; then + enable_ffmpeg=no +fi + +dnl # FFMPEG stuffs +AC_ARG_ENABLE(ffmpeg, + AC_HELP_STRING([--disable-ffmpeg], + [Disable ffmpeg (default: not disabled)]), + [ + AC_SUBST(ac_has_ffmpeg,0) + if test "$enable_ffmpeg" = "no"; then + AC_MSG_RESULT([Checking if ffmpeg is disabled... yes]) + fi + ], + [ + AC_SUBST(ac_ffmpeg_cflags) + AC_SUBST(ac_ffmpeg_ldflags) + + FFMPEG_PREFIX="" + AC_SUBST(SAVED_PKG_CONFIG_PATH) + SAVED_PKG_CONFIG_PATH=$PKG_CONFIG_PATH + if test "x$with_ffmpeg" != "xno" -a "x$with_ffmpeg" != "x"; then + FFMPEG_PREFIX=$with_ffmpeg + AC_MSG_RESULT([Using ffmpeg prefix... $FFMPEG_PREFIX]) + export PKG_CONFIG_PATH=$FFMPEG_PREFIX/lib/pkgconfig + fi + + AC_CHECK_PROGS(PKG_CONFIG,pkg-config "python pkgconfig.py",none) + + if test "$PKG_CONFIG" != "none"; then + AC_MSG_CHECKING([ffmpeg packages]) + av_pkg="" + if $PKG_CONFIG --exists libdevice; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVDEVICE=1" + av_pkg="$av_pkg libdevice" + fi + if $PKG_CONFIG --exists libavformat; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVFORMAT=1" + av_pkg="$av_pkg libavformat" + fi + if $PKG_CONFIG --exists libavcodec; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCODEC=1" + av_pkg="$av_pkg libavcodec" + fi + if $PKG_CONFIG --exists libswscale; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBSWSCALE=1" + av_pkg="$av_pkg libswscale" + fi + if $PKG_CONFIG --exists libavutil; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVUTIL=1" + av_pkg="$av_pkg libavutil" + fi + if $PKG_CONFIG --exists libavcore; then + ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCORE=1" + av_pkg="$av_pkg libavcore" + fi + + if test "x$av_pkg" == "x"; then + AC_MSG_RESULT([none detected (check the prefix)! **]) + else + AC_MSG_RESULT([$av_pkg]) + fi + + ac_ffmpeg_cflags="$ac_ffmpeg_cflags `$PKG_CONFIG --cflags $av_pkg`" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags `$PKG_CONFIG --libs $av_pkg`" + + else + dnl # + dnl # Use hardcoded values to configure ffmpeg + dnl # + + AC_MSG_RESULT([*** Warning: neither pkg-config nor python is available, ffmpeg dependency cannot be calculated. If ffmpeg libraries are not detected, you need to specify the correct CFLAGS and LDFLAGS settings for ffmpeg prior to invoking configure ***]) + + LIBS="-L$FFMPEG_PREFIX/lib $LIBS" + LDFLAGS="-L$FFMPEG_PREFIX/lib $LDFLAGS" + CFLAGS="-I$FFMPEG_PREFIX/include $CFLAGS" + + AC_CHECK_LIB(avdevice, + avdevice_version, + [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVDEVICE=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavdevice" + ] + ) + AC_CHECK_LIB(avutil, + av_malloc, + [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVUTIL=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavutil" + ] + ) + AC_CHECK_LIB(avcodec, + avcodec_init, + [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCODEC=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavcodec" + ], + [], + [-lavutil] + ) + AC_CHECK_LIB(avformat, + av_register_all, + [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVFORMAT=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavformat" + ], + [], + [-lavcodec -lavutil] + ) + AC_CHECK_LIB(swscale, + sws_scale, + [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBSWSCALE=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lswscale" + ], + [], + [-lavutil] + ) + AC_CHECK_LIB(avcore, + avcore_version, + [ac_ffmpeg_cflags="$ac_ffmpeg_cflags -DPJMEDIA_HAS_LIBAVCORE=1" + ac_ffmpeg_ldflags="$ac_ffmpeg_ldflags -lavcore" + ] + ) + + fi + + LIBS="$LIBS $ac_ffmpeg_ldflags" + export PKG_CONFIG_PATH=$SAVED_PKG_CONFIG_PATH + ] + ) + +dnl # Video for Linux 2 +AC_ARG_ENABLE(v4l2, + AC_HELP_STRING([--disable-v4l2], + [Disable Video4Linux2 (default: not disabled)]), + [ + if test "$enable_v4l2" = "no"; then + AC_MSG_RESULT([Checking if V4L2 is disabled... yes]) + fi + ], + [ + AC_SUBST(ac_v4l2_cflags) + AC_SUBST(ac_v4l2_ldflags) + AC_CHECK_LIB(v4l2, + v4l2_open, + [ac_v4l2_cflags="-DPJMEDIA_VIDEO_DEV_HAS_V4L2=1" + ac_v4l2_ldflags="-lv4l2" + LIBS="$LIBS -lv4l2" + ] + ) + ]) + +dnl # OpenH264 alt prefix +AC_ARG_WITH(openh264, + AC_HELP_STRING([--with-openh264=DIR], + [Specify alternate OpenH264 prefix]), + [], + [with_openh264=no] + ) + +dnl # Do not use default OpenH264 installation if we are cross-compiling +if test "x$ac_cross_compile" != "x" -a "x$with_openh264" = "xno"; then + enable_openh264=no +fi + +dnl # OpenH264 +AC_SUBST(ac_openh264_cflags) +AC_SUBST(ac_openh264_ldflags) +AC_ARG_ENABLE(openh264, + AC_HELP_STRING([--disable-openh264], + [Disable OpenH264 (default: not disabled)]), + [ + if test "$enable_openh264" = "no"; then + AC_MSG_RESULT([Checking if OpenH264 is disabled... yes]) + fi + ], + [ + if test "x$with_openh264" != "xno" -a "x$with_openh264" != "x"; then + OPENH264_PREFIX=$with_openh264 + OPENH264_CFLAGS="-I$OPENH264_PREFIX/include" + OPENH264_LDFLAGS="-L$OPENH264_PREFIX/lib" + AC_MSG_RESULT([Using OpenH264 prefix... $with_openh264]) + else + OPENH264_CFLAGS="" + OPENH264_LDFLAGS="" + fi + + AC_MSG_CHECKING([OpenH264 usability]) + + OPENH264_LIBS="-lopenh264 -lstdc++" + + SAVED_LIBS="$LIBS" + SAVED_LDFLAGS="$LDFLAGS" + SAVED_CFLAGS="$CFLAGS" + + LIBS="$OPENH264_LIBS $LIBS" + LDFLAGS="$OPENH264_LDFLAGS $LDFLAGS" + CFLAGS="$OPENH264_CFLAGS $CFLAGS" + + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include + #include + ]], + [WelsCreateSVCEncoder(0);] + )], + [ ac_openh264_cflags="-DPJMEDIA_HAS_OPENH264_CODEC=1 $OPENH264_CFLAGS" + ac_openh264_ldflags="$OPENH264_LDFLAGS $OPENH264_LIBS" + AC_MSG_RESULT(ok) + ], + [ + LIBS="$SAVED_LIBS" + LDFLAGS="$SAVED_LDFLAGS" + CFLAGS="$SAVED_CFLAGS" + AC_MSG_RESULT(no) + ]) + + ]) + +dnl # libyuv alt prefix +AC_ARG_WITH(libyuv, + AC_HELP_STRING([--with-libyuv=DIR], + [Specify alternate libyuv prefix]), + [], + [with_libyuv=no] + ) + +dnl # Do not use default libyuv installation if we are cross-compiling +if test "x$ac_cross_compile" != "x" -a "x$with_libyuv" = "xno"; then + enable_libyuv=no +fi + +dnl # Include libyuv +AC_SUBST(ac_libyuv_cflags) +AC_SUBST(ac_libyuv_ldflags) +AC_ARG_ENABLE(libyuv, + AC_HELP_STRING([--disable-libyuv], + [Exclude libyuv in the build]), + [if test "$enable_libyuv" = "no"; then + AC_MSG_RESULT([Checking if libyuv is disabled...yes]) + fi], + [ + if test "x$with_libyuv" != "xno" -a "x$with_libyuv" != "x"; then + LIBYUV_PREFIX=$with_libyuv + LIBYUV_CFLAGS="-I$LIBYUV_PREFIX/include" + + case $target in + *-apple-darwin_ios*) + LIBYUV_LDFLAGS="-L$LIBYUV_PREFIX/out_ios/Release-iphoneos" + case $ARCH in + *arm*) + LIBYUV_LIBS="-lyuv_neon" + ;; + *) + ;; + esac + ;; + *mingw* | *cygw* | *win32* | *w32* | *darwin* | *linux* | *android*) + LIBYUV_LDFLAGS="-L$LIBYUV_PREFIX/out/Release" + ;; + *) + LIBYUV_CFLAGS="" + LIBYUV_LDFLAGS="" + ;; + esac + + AC_MSG_RESULT([Using libyuv prefix... $with_libyuv]) + else + LIBYUV_CFLAGS="" + LIBYUV_LDFLAGS="" + fi + + LIBYUV_LIBS="$LIBYUV_LIBS -lyuv" + + SAVED_LIBS="$LIBS" + SAVED_LDFLAGS="$LDFLAGS" + SAVED_CFLAGS="$CFLAGS" + + LIBS="$LIBYUV_LIBS $LIBS" + LDFLAGS="$LIBYUV_LDFLAGS $LDFLAGS" + CFLAGS="$LIBYUV_CFLAGS $CFLAGS" + + AC_CHECK_LIB(yuv, + I420Scale, + [ ac_libyuv_cflags="-DPJMEDIA_HAS_LIBYUV=1 $LIBYUV_CFLAGS" + ac_libyuv_ldflags="$LIBYUV_LDFLAGS $LIBYUV_LIBS" + ], + [ LIBS="$SAVED_LIBS" + LDFLAGS="$SAVED_LDFLAGS" + CFLAGS="$SAVED_CFLAGS" + ], + [] + ) + ]) + + +dnl ######################################################## +dnl # Intel IPP support +dnl # +AC_ARG_ENABLE(ipp, + AC_HELP_STRING([--enable-ipp], + [Enable Intel IPP support. Specify the Intel IPP package and samples location using IPPROOT and IPPSAMPLES env var or with --with-ipp and --with-ipp-samples options]), + [], + [enable_ipp=no] + ) + +AC_ARG_WITH(ipp, + AC_HELP_STRING([--with-ipp=DIR], + [Specify the Intel IPP location]), + [], + [with_ipp=no] + ) + +AC_ARG_WITH(ipp-samples, + AC_HELP_STRING([--with-ipp-samples=DIR], + [Specify the Intel IPP samples location]), + [], + [with_ipp_samples=no] + ) + +AC_ARG_WITH(ipp-arch, + AC_HELP_STRING([--with-ipp-arch=ARCH], + [Specify the Intel IPP ARCH suffix, e.g. "64" or "em64t. Default is blank for IA32"]), + [], + [with_ipp_arch=no] + ) + +if test "x$enable_ipp" != "xno"; then + dnl # + dnl # Verifying Intel IPP path + dnl # + AC_MSG_CHECKING([Intel IPP location]) + + if test "x$with_ipp" != "xno" -a "x$with_ipp" != "x"; then + AC_MSG_RESULT([$with_ipp]) + IPPROOT=$with_ipp + elif test "x$IPPROOT" = "x"; then + if test -d /opt/intel/ipp; then + IPPROOT=`ls -d /opt/intel/ipp/*/* | head -1` + AC_MSG_RESULT([autodetected in $IPPROOT]) + fi + else + AC_MSG_RESULT([$IPPROOT]) + fi + + if test "x$with_ipp_arch" != "xno"; then + IPP_SUFFIX=$with_ipp_arch + AC_MSG_RESULT([IPP arch suffix is set to $IPP_SUFFIX]) + else + IPP_SUFFIX="" + AC_MSG_RESULT([IPP arch suffix is set to empty]) + fi + + if test x$IPPROOT = x; then + AC_MSG_ERROR([the location is neither specified nor can be guessed. Please specify with IPPROOT env var or with --with-ipp option]) + elif test ! -d $IPPROOT; then + AC_MSG_ERROR([not found]) + elif test ! -d $IPPROOT/include; then + AC_MSG_ERROR([directory doesn't seem to be valid]) + else + # IPP directory looks okay. + # Remove trailing backslash + IPPROOT=`echo $IPPROOT | sed 's/\/$//'` + + SAVED_CFLAGS="$CFLAGS" + SAVED_LDFLAGS="$LDFLAGS" + SAVED_LIBS="$LIBS" + + IPP_CFLAGS="-I$IPPROOT/include" + IPP_LIBS="-lippsc${IPP_SUFFIX} -lipps${IPP_SUFFIX} -lippcore${IPP_SUFFIX}" + +# + # Some differences between Mac OS X and Linux + case $target in + *darwin* ) + IPP_LDFLAGS="-L$IPPROOT/Libraries -L$IPPROOT/lib" + ;; + *) + # Find out where the libraries live. + IPP7_ARCH="" + if test -d $IPPROOT/lib/intel64; then + IPP7_ARCH="intel64" + elif test -d $IPPROOT/lib/ia32; then + IPP7_ARCH="ia32" + elif test -d $IPPROOT/lib/mic; then + IPP7_ARCH="mic" + fi + + if test -z "$IPP7_ARCH"; then + # IPP6 (and possibly below) + IPP_LDFLAGS="-L$IPPROOT/sharedlib" + IPP_LIBS="$IPP_LIBS -lippsr${IPP_SUFFIX} -lguide" + else + # IPP7 + if ! test -d $IPPROOT/../compiler; then + AC_MSG_ERROR([Cannot find $IPPROOT/../compiler directory. Please set IPPROOT variable correctly]) + fi + IPP_CFLAGS="$IPP_CFLAGS" + IPP_LDFLAGS="-L$IPPROOT/lib/intel64 -L$IPPROOT/../compiler/lib/$IPP7_ARCH" + IPP_LIBS="$IPP_LIBS -liomp5" + fi + ;; + esac + + #IPP_LDFLAGS="-L$IPPROOT/sharedlib" + #Static: + #IPP_LIBS="-lippscmerged -lippsrmerged -lippsmerged -lippcore" + + CFLAGS="$CFLAGS $IPP_CFLAGS" + LDFLAGS="$LDFLAGS $IPP_LDFLAGS" + LIBS="$IPP_LIBS $LIBS" + + + AC_MSG_CHECKING([Intel IPP usability]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include + ]], + [ippStaticInit();])], + [AC_MSG_RESULT(ok)], + [AC_MSG_FAILURE([Error: unable to recognize your IPP installation. Make sure the paths and ARCH suffix are set correctly, run with --help for more info])]) + + CFLAGS="$SAVED_CFLAGS" + LDFLAGS="$SAVED_LDFLAGS" + LIBS="$SAVED_LIBS" + fi + + dnl # + dnl # Verifying Intel IPP samples path + dnl # + AC_MSG_CHECKING([Intel IPP samples location]) + + if test "x$with_ipp_samples" != "xno" -a "x$with_ipp_samples" != "x"; then + AC_MSG_RESULT([$with_ipp_samples]) + IPPSAMPLES=$with_ipp_samples + elif test "x$IPPSAMPLES" = "x"; then + if test -d /opt/intel/ipp-samples; then + IPPSAMPLES=/opt/intel/ipp-samples + AC_MSG_RESULT([autodetected in $IPPSAMPLES]) + fi + else + AC_MSG_RESULT([$IPPSAMPLES]) + fi + + if test x$IPPSAMPLES = x; then + AC_MSG_ERROR([the location is neither specified nor can be guessed. Please specify with IPPSAMPLES env var or with --with-ipp-samples option]) + elif test ! -d $IPPSAMPLES; then + AC_MSG_ERROR([not found]) + elif test ! -d $IPPSAMPLES/speech-codecs; then + AC_MSG_ERROR([directory doesn't seem to be valid]) + else + # Remove trailing backslash + IPPSAMPLES=`echo $IPPSAMPLES | sed 's/\/$//'` + + # Guess the libusc.a/libspeech.a build location + AC_MSG_CHECKING([Intel IPP USC build location]) + if test -d $IPPSAMPLES/speech-codecs/bin; then + IPPVER=5 + IPPSAMP_DIR=`ls -d $IPPSAMPLES/speech-codecs/bin/*gcc*/lib | head -1` + elif test -d $IPPSAMPLES/speech-codecs/_bin; then + IPPVER=6 + if test -d $IPPSAMPLES/speech-codecs/_bin/*gcc*; then + # gcc compiler + IPPSAMP_DIR=`ls -d $IPPSAMPLES/speech-codecs/_bin/*gcc*/lib | head -1` + elif test -d $IPPSAMPLES/speech-codecs/_bin/*icc*; then + # icc compiler + IPPSAMP_DIR=`ls -d $IPPSAMPLES/speech-codecs/_bin/*icc*/lib | head -1` + else + AC_MSG_FAILURE([Unable to find to find built binaries under $IPPSAMPLES/speech-codecs/{bin,_bin}. Have you built the IPP samples?]) + fi + else + AC_MSG_FAILURE([unable to find $IPPSAMPLES/speech-codecs/bin/*gcc*/lib or $IPPSAMPLES/speech-codecs/_bin/*gcc*/lib directory. Have you built the samples?]) + fi + + # Test the directory + if test ! -d $IPPSAMP_DIR; then + AC_MSG_FAILURE([There's something wrong with this script, directory $IPPSAMP_DIR does not exist]) + exit 1; + fi + + if test "x$IPPVER" = "x5"; then + IPPSAMP_LIBS="libusc.a" + IPPSAMP_LDLIBS="-lusc" + elif test "x$IPPVER" = "x6"; then + IPPSAMP_LIBS="libspeech.a" + IPPSAMP_LDLIBS="-lspeech" + else + AC_MSG_FAILURE([bug in this script: unsupported IPP version]) + fi + + if test ! -f $IPPSAMP_DIR/$IPPSAMP_LIBS; then + AC_MSG_FAILURE([$IPPSAMP_LIBS doesn't exist in $IPPSAMP_DIR]) + fi + + AC_MSG_RESULT([$IPPSAMP_DIR]) + + SAVED_CFLAGS="$CFLAGS" + SAVED_LDFLAGS="$LDFLAGS" + SAVED_LIBS="$LIBS" + + IPPSAMP_INC="-I$IPPSAMPLES/speech-codecs/core/usc/include" + CFLAGS="$CFLAGS $IPPSAMP_INC" + LDFLAGS="$LDFLAGS -L$IPPSAMP_DIR" + LIBS="$IPPSAMP_LDLIBS $LIBS" + + AC_MSG_CHECKING([Intel IPP USC usability]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include + ]], + [extern USC_Fxns USC_G729AFP_Fxns;])], + [AC_MSG_RESULT(ok)], + [AC_MSG_FAILURE(no)]) + + CFLAGS="$SAVED_CFLAGS" + LDFLAGS="$IPP_LDFLAGS $SAVED_LDFLAGS" + LIBS="$IPP_LIBS $SAVED_LIBS" + + IPP_CFLAGS="$IPP_CFLAGS $IPPSAMP_INC" + IPP_LDFLAGS="$IPP_LDFLAGS -L$IPPSAMP_DIR" + IPP_LIBS="$IPPSAMP_LDLIBS $IPP_LIBS" + fi + + CFLAGS="$CFLAGS $IPP_CFLAGS" + LDFLAGS="$LDFLAGS $IPP_LDFLAGS" + LIBS="$LIBS $IPP_LIBS" + + ac_build_mak_vars="$ac_build_mak_vars\n\ +export IPP_CFLAGS=$IPP_CFLAGS\n\ +export IPP_LDFLAGS=$IPP_LDFLAGS\n\ +export IPP_LIBS=$IPP_LIBS" +else + AC_MSG_RESULT([Skipping Intel IPP settings (not wanted)]) +fi + + +dnl ########################################## +dnl # +dnl # PJSIP CONFIG +dnl # + +dnl # SSL alt prefix +AC_ARG_WITH(ssl, + AC_HELP_STRING([--with-ssl=DIR], + [Specify alternate libssl prefix]), + [], + [with_ssl=no] + ) + +dnl # Do not use default SSL installation if we are cross-compiling +if test "x$ac_cross_compile" != "x" -a "x$with_ssl" = "xno"; then + enable_ssl=no +fi + +dnl # Include SSL support +AC_SUBST(ac_no_ssl) +AC_ARG_ENABLE(ssl, + AC_HELP_STRING([--disable-ssl], + [Exclude SSL support the build (default: autodetect)]) + , + [ + if test "$enable_ssl" = "no"; then + [ac_no_ssl=1] + AC_MSG_RESULT([Checking if SSL support is disabled... yes]) + fi + ], + [ + AC_MSG_RESULT([checking for OpenSSL installations..]) + if test "x$with_ssl" != "xno" -a "x$with_ssl" != "x"; then + CFLAGS="$CFLAGS -I$with_ssl/include" + LDFLAGS="$LDFLAGS -L$with_ssl/lib" + AC_MSG_RESULT([Using SSL prefix... $with_ssl]) + fi + AC_SUBST(openssl_h_present) + AC_SUBST(libssl_present) + AC_SUBST(libcrypto_present) + AC_CHECK_HEADER(openssl/ssl.h,[openssl_h_present=1]) + AC_CHECK_LIB(crypto,ERR_load_BIO_strings,[libcrypto_present=1 && LIBS="-lcrypto $LIBS"]) + AC_CHECK_LIB(ssl,SSL_library_init,[libssl_present=1 && LIBS="-lssl $LIBS"]) + if test "x$openssl_h_present" = "x1" -a "x$libssl_present" = "x1" -a "x$libcrypto_present" = "x1"; then + AC_MSG_RESULT([OpenSSL library found, SSL support enabled]) + # PJSIP_HAS_TLS_TRANSPORT setting follows PJ_HAS_SSL_SOCK + #AC_DEFINE(PJSIP_HAS_TLS_TRANSPORT, 1) + AC_DEFINE(PJ_HAS_SSL_SOCK, 1) + else + AC_MSG_RESULT([** OpenSSL libraries not found, disabling SSL support **]) + fi + ]) + +dnl # Obsolete option --with-opencore-amrnb +AC_ARG_WITH(opencore-amrnb, + AC_HELP_STRING([--with-opencore-amrnb=DIR], + [This option is obsolete and replaced by --with-opencore-amr=DIR]), + [AC_MSG_ERROR(This option is obsolete and replaced by --with-opencore-amr=DIR)], + [] + ) + +dnl # opencore-amr alt prefix +AC_ARG_WITH(opencore-amr, + AC_HELP_STRING([--with-opencore-amr=DIR], + [Specify alternate libopencore-amr prefix]), + [], + [with_opencore_amr=no] + ) + +dnl # Do not use default opencore-amr installation if we are cross-compiling +if test "x$ac_cross_compile" != "x" -a "x$with_opencore_amr" = "xno"; then + enable_opencore_amr=no +fi + +dnl # vo-amrwbenc alt prefix +AC_ARG_WITH(opencore-amrwbenc, + AC_HELP_STRING([--with-opencore-amrwbenc=DIR], + [Specify alternate libvo-amrwbenc prefix]), + [], + [with_opencore_amrwbenc=no] + ) + +dnl # Do not use default vo-amrwbenc installation if we are cross-compiling +if test "x$ac_cross_compile" != "x" -a "x$with_opencore_amrwbenc" = "xno"; then + enable_opencore_amrwbenc=no +fi + + +dnl # Include opencore-amr support +AC_SUBST(ac_no_opencore_amrnb) +AC_SUBST(ac_no_opencore_amrwb) +AC_ARG_ENABLE(opencore_amr, + AC_HELP_STRING([--disable-opencore-amr], + [Exclude OpenCORE AMR support from the build (default: autodetect)]) + , + [ + if test "$enable_opencore_amr" = "no"; then + [ac_no_opencore_amrnb=1] + [ac_no_opencore_amrwb=1] + AC_DEFINE(PJMEDIA_HAS_OPENCORE_AMRNB_CODEC,0) + AC_DEFINE(PJMEDIA_HAS_OPENCORE_AMRWB_CODEC,0) + AC_MSG_RESULT([Checking if OpenCORE AMR support is disabled... yes]) + fi + ], + [ + AC_MSG_RESULT([checking for OpenCORE AMR installations..]) + if test "x$with_opencore_amr" != "xno" -a "x$with_opencore_amr" != "x"; then + CFLAGS="$CFLAGS -I$with_opencore_amr/include" + LDFLAGS="$LDFLAGS -L$with_opencore_amr/lib" + AC_MSG_RESULT([Using OpenCORE AMR prefix... $with_opencore_amr]) + fi + if test "x$with_opencore_amrwbenc" != "xno" -a "x$with_opencore_amrwbenc" != "x"; then + CFLAGS="$CFLAGS -I$with_opencore_amrwbenc/include" + LDFLAGS="$LDFLAGS -L$with_opencore_amrwbenc/lib" + AC_MSG_RESULT([Using OpenCORE AMRWB-enc prefix... $with_opencore_amrwbenc]) + fi + AC_SUBST(opencore_amrnb_h_present) + AC_SUBST(opencore_amrnb_present) + AC_CHECK_HEADER(opencore-amrnb/interf_enc.h,[opencore_amrnb_h_present=1]) + AC_CHECK_LIB(opencore-amrnb,Encoder_Interface_init,[opencore_amrnb_present=1 && LIBS="$LIBS -lopencore-amrnb"]) + if test "x$opencore_amrnb_h_present" = "x1" -a "x$opencore_amrnb_present" = "x1"; then + AC_MSG_RESULT([OpenCORE AMR-NB library found, AMR-NB support enabled]) + AC_DEFINE(PJMEDIA_HAS_OPENCORE_AMRNB_CODEC,1) + else + [ac_no_opencore_amrnb=1] + AC_DEFINE(PJMEDIA_HAS_OPENCORE_AMRNB_CODEC,0) + fi + AC_SUBST(opencore_amrwb_enc_h_present) + AC_SUBST(opencore_amrwb_enc_present) + AC_SUBST(opencore_amrwb_dec_h_present) + AC_SUBST(opencore_amrwb_dec_present) + AC_CHECK_HEADER(vo-amrwbenc/enc_if.h,[opencore_amrwb_enc_h_present=1]) + AC_CHECK_HEADER(opencore-amrwb/dec_if.h,[opencore_amrwb_dec_h_present=1]) + AC_CHECK_LIB(opencore-amrwb,D_IF_init,[opencore_amrwb_dec_present=1 && LIBS="$LIBS -lopencore-amrwb"]) + AC_CHECK_LIB(vo-amrwbenc,E_IF_init,[opencore_amrwb_enc_present=1 && LIBS="$LIBS -lvo-amrwbenc"]) + if test "x$opencore_amrwb_enc_h_present" = "x1" -a "x$opencore_amrwb_dec_h_present" = "x1" -a "x$opencore_amrwb_enc_present" = "x1" -a "x$opencore_amrwb_dec_present" = "x1"; then + AC_MSG_RESULT([OpenCORE AMR-WB library found, AMR-WB support enabled]) + AC_DEFINE(PJMEDIA_HAS_OPENCORE_AMRWB_CODEC,1) + else + [ac_no_opencore_amrwb=1] + AC_DEFINE(PJMEDIA_HAS_OPENCORE_AMRWB_CODEC,0) + fi + + ]) + +dnl # SILK prefix +AC_ARG_WITH(silk, + AC_HELP_STRING([--with-silk=DIR], + [Specify alternate SILK prefix]), + [], + [with_silk=no] + ) + +dnl # Do not use default SILK installation if we are cross-compiling +if test "x$ac_cross_compile" != "x" -a "x$with_silk" = "xno"; then + enable_silk=no +fi + +dnl # Include SILK support +AC_SUBST(ac_no_silk) +AC_ARG_ENABLE(silk, + AC_HELP_STRING([--disable-silk], + [Exclude SILK support from the build (default: autodetect)]) + , + [ + if test "$enable_silk" = "no"; then + [ac_no_silk=1] + AC_DEFINE(PJMEDIA_HAS_SILK_CODEC,0) + AC_MSG_RESULT([Checking if SILK support is disabled... yes]) + fi + ], + [ + AC_MSG_RESULT([checking for SILK installations..]) + if test "x$with_silk" != "xno" -a "x$with_silk" != "x"; then + CFLAGS="$CFLAGS -I$with_silk/interface" + CPPFLAGS="$CPPFLAGS -I$with_silk/interface" + LDFLAGS="$LDFLAGS -L$with_silk" + AC_MSG_RESULT([Using SILK prefix... $with_silk]) + fi + AC_SUBST(silk_h_present) + AC_SUBST(silk_present) + AC_CHECK_HEADER(SKP_Silk_SDK_API.h,[silk_h_present=1]) + AC_CHECK_LIB(SKP_SILK_SDK,SKP_Silk_SDK_get_version,[silk_present=1 && LIBS="$LIBS -lSKP_SILK_SDK"]) + if test "x$silk_h_present" = "x1" -a "x$silk_present" = "x1"; then + AC_MSG_RESULT([SILK library found, SILK support enabled]) + AC_DEFINE(PJMEDIA_HAS_SILK_CODEC,1) + else + [ac_no_silk=1] + AC_DEFINE(PJMEDIA_HAS_SILK_CODEC,0) + fi + ]) + + +dnl ########################################## +dnl # +dnl # MANUAL CONFIG +dnl # + + +dnl # Determine if select() requires nfds to be filled up with +dnl # correct value (max_fd+1). If zero, nfds will be filled up with +dnl # PJ_FD_SETSIZE +AC_MSG_CHECKING([if select() needs correct nfds]) +case $target in + *rtems*) AC_DEFINE(PJ_SELECT_NEEDS_NFDS,1) + AC_MSG_RESULT(yes) + ;; + *) AC_DEFINE(PJ_SELECT_NEEDS_NFDS,0) + AC_MSG_RESULT([no (default)]) + AC_MSG_RESULT([** Decided that select() doesn't need correct nfds (please check)]) + ;; +esac + +dnl # Determine if pj_thread_create() should enforce thread stack size when +dnl # creating thread. Default is zero, to allow OS to allocate appropriate +dnl # thread's stack size. +AC_MSG_CHECKING([if pj_thread_create() should enforce stack size]) +case $target in + *rtems*) AC_DEFINE(PJ_THREAD_SET_STACK_SIZE,1) + AC_MSG_RESULT(yes) + ;; + *) AC_DEFINE(PJ_THREAD_SET_STACK_SIZE,0) + AC_MSG_RESULT([no (default)]) + ;; +esac + +dnl # Determine if pj_thread_create() should allocate thread's stack from +dnl # the pool. Default is zero, to let OS allocate thread's stack. +AC_MSG_CHECKING([if pj_thread_create() should allocate stack]) +case $target in + *rtems*) AC_DEFINE(PJ_THREAD_ALLOCATE_STACK,1) + AC_MSG_RESULT(yes) + ;; + *) AC_DEFINE(PJ_THREAD_ALLOCATE_STACK,0) + AC_MSG_RESULT([no (default)]) + ;; +esac + +dnl # This value specifies the value set in errno by the OS when a non-blocking +dnl # socket recv() can not return immediate data. +case $target in + *mingw* | *cygw* | *win32* | *w32* ) + AC_DEFINE(PJ_BLOCKING_ERROR_VAL,WSAEWOULDBLOCK) + ;; + *) AC_DEFINE(PJ_BLOCKING_ERROR_VAL,EAGAIN) + AC_MSG_RESULT([** Setting non-blocking recv() retval to EAGAIN (please check)]) + ;; +esac + +dnl # This value specifies the value set in errno by the OS when a non-blocking +dnl # socket connect() can not get connected immediately. +case $target in + *mingw* | *cygw* | *win32* | *w32* ) + AC_DEFINE(PJ_BLOCKING_CONNECT_ERROR_VAL,WSAEWOULDBLOCK) + ;; + *) AC_DEFINE(PJ_BLOCKING_CONNECT_ERROR_VAL,EINPROGRESS) + AC_MSG_RESULT([** Setting non-blocking connect() retval to EINPROGRESS (please check)]) + ;; +esac + + +AC_SUBST(target) +AC_SUBST(ac_linux_poll,select) +AC_SUBST(ac_host,unix) +AC_SUBST(ac_main_obj) +case $target in + *rtems*) + ac_main_obj=main_rtems.o + ;; + *) + ac_main_obj=main.o + ;; +esac +AC_SUBST(CC) + +ac_build_mak_vars=`echo $ac_build_mak_vars | sed 's/\\\\n/\n/g'` +AC_OUTPUT() + + +AC_MSG_RESULT([ + +Configurations for current target have been written to 'build.mak', and 'os-auto.mak' in various build directories, and pjlib/include/pj/compat/os_auto.h. + +Further customizations can be put in: + - 'user.mak' + - 'pjlib/include/pj/config_site.h' + +The next step now is to run 'make dep' and 'make'. +]) + diff --git a/bb10-config.mak b/bb10-config.mak new file mode 100644 index 0000000..492cbc0 --- /dev/null +++ b/bb10-config.mak @@ -0,0 +1,44 @@ +# +# This is a utility make file that is used to generate BB10 config settings +# from current build settings. The stdout output of this make file can be +# saved to a .pri file which then can be included in app's .pro file. +# +# This make file is invoked by configure-bb10 script to generate pjsip.pri +# file. +# +include build.mak + +# Generate library list (the "-lxxx" options) from list of linked libraries. +PJ_BB_LIBS = $(filter-out -lm -lsocket, $(APP_LDLIBS)) + +# This used to generate the library path list (the "-Lxxx" options) +# We replace the path with "$$PJ_DIR" +PJ_BB_LDFLAGS = $(subst $(PJDIR),\$$\$$PJ_DIR,$(APP_LDFLAGS)) + +all: + @echo PJ_DIR = $(PJDIR) + @echo + @echo 'DEFINES += PJ_AUTOCONF' + @echo + @echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjlib/include)' + @echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjmedia/include)' + @echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjnath/include)' + @echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjlib-util/include)' + @echo 'PJ_INCLUDEPATH += $$$$quote($$$$PJ_DIR/pjsip/include)' + @echo + @for token in $(PJ_BB_LDFLAGS); do \ + if echo $$token | grep -- '-L' >> /dev/null; then \ + echo "PJ_LIBPATH += \$$\$$quote($$token)"; \ + fi; \ + done + @echo + @for token in $(PJ_BB_LIBS); do \ + echo PJ_LIBS += $$token; \ + done + @echo + @echo 'INCLUDEPATH += $$$$PJ_INCLUDEPATH' + @echo 'LIBS += $$$$PJ_LIBPATH' + @echo 'LIBS += $$$$PJ_LIBS' + @echo 'LIBS += -lOpenAL -lalut -laudio_manager -lsocket -lasound -lbbsystem -lm' + + diff --git a/build.mak.in b/build.mak.in new file mode 100644 index 0000000..074977d --- /dev/null +++ b/build.mak.in @@ -0,0 +1,291 @@ +export PJDIR := @ac_pjdir@ +include $(PJDIR)/version.mak +export PJ_DIR := $(PJDIR) + +# @configure_input@ +export MACHINE_NAME := auto +export OS_NAME := auto +export HOST_NAME := unix +export CC_NAME := gcc +export TARGET_NAME := @target@ +export CROSS_COMPILE := @ac_cross_compile@ +export LINUX_POLL := @ac_linux_poll@ +export SHLIB_SUFFIX := @ac_shlib_suffix@ + +export prefix := @prefix@ +export exec_prefix := @exec_prefix@ +export includedir := @includedir@ +export libdir := @libdir@ + +LIB_SUFFIX := $(TARGET_NAME).a + +ifeq (@ac_shared_libraries@,1) +export PJ_SHARED_LIBRARIES := 1 +endif + +# Determine which party libraries to use +export APP_THIRD_PARTY_EXT := +export APP_THIRD_PARTY_LIBS := +export APP_THIRD_PARTY_LIB_FILES := + +ifeq (@ac_external_srtp@,1) +# External SRTP library +APP_THIRD_PARTY_EXT += -lsrtp +else +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libsrtp-$(LIB_SUFFIX) +ifeq ($(PJ_SHARED_LIBRARIES),) +APP_THIRD_PARTY_LIBS += -lsrtp-$(TARGET_NAME) +else +APP_THIRD_PARTY_LIBS += -lsrtp +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libsrtp.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libsrtp.$(SHLIB_SUFFIX) +endif +endif + +ifeq (@ac_pjmedia_resample@,libresample) +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample-$(LIB_SUFFIX) +ifeq ($(PJ_SHARED_LIBRARIES),) +ifeq (@ac_resample_dll@,1) +export PJ_RESAMPLE_DLL := 1 +APP_THIRD_PARTY_LIBS += -lresample +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX) +else +APP_THIRD_PARTY_LIBS += -lresample-$(TARGET_NAME) +endif +else +APP_THIRD_PARTY_LIBS += -lresample +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libresample.$(SHLIB_SUFFIX) +endif +endif + +ifneq (@ac_no_gsm_codec@,1) +ifeq (@ac_external_gsm@,1) +# External GSM library +APP_THIRD_PARTY_EXT += -lgsm +else +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec-$(LIB_SUFFIX) +ifeq ($(PJ_SHARED_LIBRARIES),) +APP_THIRD_PARTY_LIBS += -lgsmcodec-$(TARGET_NAME) +else +APP_THIRD_PARTY_LIBS += -lgsmcodec +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libgsmcodec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libgsmcodec.$(SHLIB_SUFFIX) +endif +endif +endif + +ifneq (@ac_no_speex_codec@,1) +ifeq (@ac_external_speex@,1) +APP_THIRD_PARTY_EXT += -lspeex -lspeexdsp +else +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex-$(LIB_SUFFIX) +ifeq ($(PJ_SHARED_LIBRARIES),) +APP_THIRD_PARTY_LIBS += -lspeex-$(TARGET_NAME) +else +APP_THIRD_PARTY_LIBS += -lspeex +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libspeex.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libspeex.$(SHLIB_SUFFIX) +endif +endif +endif + +ifneq (@ac_no_ilbc_codec@,1) +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec-$(LIB_SUFFIX) +ifeq ($(PJ_SHARED_LIBRARIES),) +APP_THIRD_PARTY_LIBS += -lilbccodec-$(TARGET_NAME) +else +APP_THIRD_PARTY_LIBS += -lilbccodec +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libilbccodec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libilbccodec.$(SHLIB_SUFFIX) +endif +endif + +ifneq (@ac_no_g7221_codec@,1) +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec-$(LIB_SUFFIX) +ifeq ($(PJ_SHARED_LIBRARIES),) +APP_THIRD_PARTY_LIBS += -lg7221codec-$(TARGET_NAME) +else +APP_THIRD_PARTY_LIBS += -lg7221codec +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libg7221codec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libg7221codec.$(SHLIB_SUFFIX) +endif +endif + +ifneq ($(findstring pa,@ac_pjmedia_snd@),) +ifeq (@ac_external_pa@,1) +# External PA +APP_THIRD_PARTY_EXT += -lportaudio +else +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio-$(LIB_SUFFIX) +ifeq ($(PJ_SHARED_LIBRARIES),) +APP_THIRD_PARTY_LIBS += -lportaudio-$(TARGET_NAME) +else +APP_THIRD_PARTY_LIBS += -lportaudio +APP_THIRD_PARTY_LIB_FILES += $(PJ_DIR)/third_party/lib/libportaudio.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/third_party/lib/libportaudio.$(SHLIB_SUFFIX) +endif +endif +endif + +# Additional flags +@ac_build_mak_vars@ + +# +# Video +# Note: there are duplicated macros in pjmedia/os-auto.mak.in (and that's not +# good! + +# SDL flags +SDL_CFLAGS = @ac_sdl_cflags@ +SDL_LDFLAGS = @ac_sdl_ldflags@ + +# FFMPEG flags +FFMPEG_CFLAGS = @ac_ffmpeg_cflags@ +FFMPEG_LDFLAGS = @ac_ffmpeg_ldflags@ + +# Video4Linux2 +V4L2_CFLAGS = @ac_v4l2_cflags@ +V4L2_LDFLAGS = @ac_v4l2_ldflags@ + +# OPENH264 flags +OPENH264_CFLAGS = @ac_openh264_cflags@ +OPENH264_LDFLAGS = @ac_openh264_ldflags@ + +# QT +AC_PJMEDIA_VIDEO_HAS_QT = @ac_pjmedia_video_has_qt@ +QT_CFLAGS = @ac_qt_cflags@ + +# iOS +IOS_CFLAGS = @ac_ios_cflags@ + +# Android +ANDROID_CFLAGS = @ac_android_cflags@ + +# libyuv +LIBYUV_CFLAGS = @ac_libyuv_cflags@ +LIBYUV_LDFLAGS = @ac_libyuv_ldflags@ + +# PJMEDIA features exclusion +PJ_VIDEO_CFLAGS += $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(QT_CFLAGS) \ + $(OPENH264_CFLAGS) $(IOS_CFLAGS) $(LIBYUV_CFLAGS) +PJ_VIDEO_LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS) \ + $(OPENH264_LDFLAGS) $(LIBYUV_LDFLAGS) + +# CFLAGS, LDFLAGS, and LIBS to be used by applications +export APP_CC := @CC@ +export APP_CXX := @CXX@ +export APP_CFLAGS := -DPJ_AUTOCONF=1\ + @CFLAGS@\ + $(PJ_VIDEO_CFLAGS) \ + -I$(PJDIR)/pjlib/include\ + -I$(PJDIR)/pjlib-util/include\ + -I$(PJDIR)/pjnath/include\ + -I$(PJDIR)/pjmedia/include\ + -I$(PJDIR)/pjsip/include +export APP_CXXFLAGS := $(APP_CFLAGS) +export APP_LDFLAGS := -L$(PJDIR)/pjlib/lib\ + -L$(PJDIR)/pjlib-util/lib\ + -L$(PJDIR)/pjnath/lib\ + -L$(PJDIR)/pjmedia/lib\ + -L$(PJDIR)/pjsip/lib\ + -L$(PJDIR)/third_party/lib\ + $(PJ_VIDEO_LDFLAGS) \ + @LDFLAGS@ +export APP_LDXXFLAGS := $(APP_LDFLAGS) + +export APP_LIB_FILES := \ + $(PJ_DIR)/pjsip/lib/libpjsua-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjsip/lib/libpjsip-ua-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjsip/lib/libpjsip-simple-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjsip/lib/libpjsip-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia-codec-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjnath/lib/libpjnath-$(LIB_SUFFIX) \ + $(PJ_DIR)/pjlib-util/lib/libpjlib-util-$(LIB_SUFFIX) \ + $(APP_THIRD_PARTY_LIB_FILES) \ + $(PJ_DIR)/pjlib/lib/libpj-$(LIB_SUFFIX) +export APP_LIBXX_FILES := \ + $(PJ_DIR)/pjsip/lib/libpjsua2-$(LIB_SUFFIX) \ + $(APP_LIB_FILES) + +ifeq ($(PJ_SHARED_LIBRARIES),) +export PJLIB_LDLIB := -lpj-$(TARGET_NAME) +export PJLIB_UTIL_LDLIB := -lpjlib-util-$(TARGET_NAME) +export PJNATH_LDLIB := -lpjnath-$(TARGET_NAME) +export PJMEDIA_AUDIODEV_LDLIB := -lpjmedia-audiodev-$(TARGET_NAME) +export PJMEDIA_VIDEODEV_LDLIB := -lpjmedia-videodev-$(TARGET_NAME) +export PJMEDIA_LDLIB := -lpjmedia-$(TARGET_NAME) +export PJMEDIA_CODEC_LDLIB := -lpjmedia-codec-$(TARGET_NAME) +export PJSIP_LDLIB := -lpjsip-$(TARGET_NAME) +export PJSIP_SIMPLE_LDLIB := -lpjsip-simple-$(TARGET_NAME) +export PJSIP_UA_LDLIB := -lpjsip-ua-$(TARGET_NAME) +export PJSUA_LIB_LDLIB := -lpjsua-$(TARGET_NAME) +export PJSUA2_LIB_LDLIB := -lpjsua2-$(TARGET_NAME) +else +export PJLIB_LDLIB := -lpj +export PJLIB_UTIL_LDLIB := -lpjlib-util +export PJNATH_LDLIB := -lpjnath +export PJMEDIA_AUDIODEV_LDLIB := -lpjmedia-audiodev +export PJMEDIA_VIDEODEV_LDLIB := -lpjmedia-videodev +export PJMEDIA_LDLIB := -lpjmedia +export PJMEDIA_CODEC_LDLIB := -lpjmedia-codec +export PJSIP_LDLIB := -lpjsip +export PJSIP_SIMPLE_LDLIB := -lpjsip-simple +export PJSIP_UA_LDLIB := -lpjsip-ua +export PJSUA_LIB_LDLIB := -lpjsua +export PJSUA2_LIB_LDLIB := -lpjsua2 + +export ADD_LIB_FILES := $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsua.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjsip/lib/libpjsip-ua.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip-ua.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjsip/lib/libpjsip-simple.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip-simple.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjsip/lib/libpjsip.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsip.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia-codec.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-codec.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-videodev.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjmedia/lib/libpjmedia-audiodev.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjnath/lib/libpjnath.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjnath/lib/libpjnath.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjlib-util/lib/libpjlib-util.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjlib-util/lib/libpjlib-util.$(SHLIB_SUFFIX) \ + $(PJ_DIR)/pjlib/lib/libpj.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjlib/lib/libpj.$(SHLIB_SUFFIX) + +APP_LIB_FILES += $(ADD_LIB_FILES) + +APP_LIBXX_FILES += $(PJ_DIR)/pjsip/lib/libpjsua2.$(SHLIB_SUFFIX).$(PJ_VERSION_MAJOR) $(PJ_DIR)/pjsip/lib/libpjsua2.$(SHLIB_SUFFIX) \ + $(ADD_LIB_FILES) +endif + +export APP_LDLIBS := $(PJSUA_LIB_LDLIB) \ + $(PJSIP_UA_LDLIB) \ + $(PJSIP_SIMPLE_LDLIB) \ + $(PJSIP_LDLIB) \ + $(PJMEDIA_CODEC_LDLIB) \ + $(PJMEDIA_LDLIB) \ + $(PJMEDIA_VIDEODEV_LDLIB) \ + $(PJMEDIA_AUDIODEV_LDLIB) \ + $(PJMEDIA_LDLIB) \ + $(PJNATH_LDLIB) \ + $(PJLIB_UTIL_LDLIB) \ + $(APP_THIRD_PARTY_LIBS)\ + $(APP_THIRD_PARTY_EXT)\ + $(PJLIB_LDLIB) \ + @LIBS@ +export APP_LDXXLIBS := $(PJSUA2_LIB_LDLIB) \ + -lstdc++ \ + $(APP_LDLIBS) + +# Here are the variabels to use if application is using the library +# from within the source distribution +export PJ_CC := $(APP_CC) +export PJ_CXX := $(APP_CXX) +export PJ_CFLAGS := $(APP_CFLAGS) +export PJ_CXXFLAGS := $(APP_CXXFLAGS) +export PJ_LDFLAGS := $(APP_LDFLAGS) +export PJ_LDXXFLAGS := $(APP_LDXXFLAGS) +export PJ_LDLIBS := $(APP_LDLIBS) +export PJ_LDXXLIBS := $(APP_LDXXLIBS) +export PJ_LIB_FILES := $(APP_LIB_FILES) +export PJ_LIBXX_FILES := $(APP_LIBXX_FILES) + +# And here are the variables to use if application is using the +# library from the install location (i.e. --prefix) +export PJ_INSTALL_DIR := @prefix@ +export PJ_INSTALL_INC_DIR := @includedir@ +export PJ_INSTALL_LIB_DIR := @libdir@ +export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @CFLAGS@ +export PJ_INSTALL_CXXFLAGS := $(PJ_INSTALL_CFLAGS) +export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDLIBS) diff --git a/build.symbian/00.bat b/build.symbian/00.bat new file mode 100644 index 0000000..4d41259 --- /dev/null +++ b/build.symbian/00.bat @@ -0,0 +1,7 @@ +@rem set MWSym2Libraries=1 +@rem set EPOCROOT=\Symbian\9.1\S60_3rd\ +@rem set EPOCROOT=\Symbian\9.1\S60_3rd_MR_2\ +@rem set EPOCROOT=\Symbian\UIQ3SDK\ +@rem set EPOCROOT=\symbian\UIQ3.1\ +@rem set EPOCROOT=\symbian\9.2\S60_3rd_FP1\ +bldmake bldfiles diff --git a/build.symbian/01.bat b/build.symbian/01.bat new file mode 100644 index 0000000..e670ae6 --- /dev/null +++ b/build.symbian/01.bat @@ -0,0 +1,7 @@ +@rem call abld build -v vs6 udeb +@rem call abld build -v gcce urel +@rem call abld build winscw udeb +call abld build %1 %2 %3 %4 + + + diff --git a/build.symbian/bld.inf b/build.symbian/bld.inf new file mode 100644 index 0000000..f4ce903 --- /dev/null +++ b/build.symbian/bld.inf @@ -0,0 +1,35 @@ +prj_platforms +winscw +armv5 +gcce + +prj_mmpfiles + +/* Libraries */ +pjlib.mmp +pjlib_util.mmp +pjnath.mmp +pjsdp.mmp +pjmedia.mmp +pjsip.mmp +pjsip_simple.mmp +pjsip_ua.mmp +pjsua_lib.mmp +libsrtp.mmp + +/* Codecs */ +libgsmcodec.mmp +libspeexcodec.mmp +libg7221codec.mmp +libpassthroughcodec.mmp + +/* Resample */ +libresample.mmp + +/* Audio device. */ +pjmedia_audiodev.mmp + +/* Applications */ +//symsndtest.mmp +pjlib_test.mmp +../pjsip-apps/src/pjsua/symbian/group/pjsua.mmp diff --git a/build.symbian/libg7221codec.mmp b/build.symbian/libg7221codec.mmp new file mode 100644 index 0000000..9807a88 --- /dev/null +++ b/build.symbian/libg7221codec.mmp @@ -0,0 +1,56 @@ +TARGET libg7221codec.lib +TARGETTYPE lib + +//OPTION CW -lang c++ +OPTION GCCE -O2 -fno-unit-at-a-time +OPTION ARMCC --gnu + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// +// GSM codec third party source +// + +SOURCEPATH ..\third_party\g7221\common + +SOURCE basic_op.c +SOURCE common.c +SOURCE huff_tab.c +SOURCE tables.c + +SOURCEPATH ..\third_party\g7221\decode + +SOURCE coef2sam.c +SOURCE dct4_s.c +SOURCE decoder.c + +SOURCEPATH ..\third_party\g7221\encode + +SOURCE dct4_a.c +SOURCE encoder.c +SOURCE sam2coef.c + + +// +// GSM codec wrapper for pjmedia-codec +// + +SOURCEPATH ..\pjmedia\src\pjmedia-codec +SOURCE g7221.c + +// +// Header files +// + + +SYSTEMINCLUDE ..\pjmedia\include +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\third_party +SYSTEMINCLUDE ..\third_party\g7221\common +SYSTEMINCLUDE ..\third_party\g7221\decode +SYSTEMINCLUDE ..\third_party\g7221\encode + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + diff --git a/build.symbian/libgsmcodec.mmp b/build.symbian/libgsmcodec.mmp new file mode 100644 index 0000000..875555b --- /dev/null +++ b/build.symbian/libgsmcodec.mmp @@ -0,0 +1,72 @@ +#if defined(PJ_BUILD_DLL) + +TARGET libgsmcodec.dll +TARGETTYPE dll +UID 0x0 0xA000000F + +CAPABILITY None +LIBRARY pjlib.lib euser.lib estlib.lib +MACRO PJ_DLL +MACRO PJ_EXPORTING + +DEFFILE .\libgsmcodec.def + +#else + +TARGET libgsmcodec.lib +TARGETTYPE lib + +#endif + +//OPTION CW -lang c++ +OPTION ARMCC --gnu + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// +// GSM codec third party source +// + +SOURCEPATH ..\third_party\gsm\src + +SOURCE add.c +SOURCE code.c +SOURCE debug.c +SOURCE decode.c +SOURCE gsm_create.c +SOURCE gsm_decode.c +SOURCE gsm_destroy.c +SOURCE gsm_encode.c +SOURCE gsm_explode.c +SOURCE gsm_implode.c +SOURCE gsm_option.c +SOURCE gsm_print.c +SOURCE long_term.c +SOURCE lpc.c +SOURCE preprocess.c +SOURCE rpe.c +SOURCE short_term.c +SOURCE table.c + + +// +// GSM codec wrapper for pjmedia-codec +// + +SOURCEPATH ..\pjmedia\src\pjmedia-codec +SOURCE gsm.c + +// +// Header files +// + + +SYSTEMINCLUDE ..\pjmedia\include +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\third_party\build\gsm +SYSTEMINCLUDE ..\third_party\gsm\inc + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + diff --git a/build.symbian/libpassthroughcodec.mmp b/build.symbian/libpassthroughcodec.mmp new file mode 100644 index 0000000..3a19117 --- /dev/null +++ b/build.symbian/libpassthroughcodec.mmp @@ -0,0 +1,27 @@ +TARGET libpassthroughcodec.lib +TARGETTYPE lib + +MACRO HAVE_CONFIG_H +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// +// GCCE optimization setting +// +OPTION GCCE -O2 -fno-unit-at-a-time +OPTION ARMCC --gnu + +// +// Passthrough codecs wrapper for pjmedia-codec +// +SOURCEPATH ..\pjmedia\src\pjmedia-codec +SOURCE passthrough.c + +// +// Header files +// +SYSTEMINCLUDE ..\pjmedia\include +SYSTEMINCLUDE ..\pjlib\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc diff --git a/build.symbian/libresample.mmp b/build.symbian/libresample.mmp new file mode 100644 index 0000000..3a44e45 --- /dev/null +++ b/build.symbian/libresample.mmp @@ -0,0 +1,26 @@ +TARGET libresample.lib +TARGETTYPE lib + +SOURCEPATH ..\third_party\resample\src + +// +// GCCE optimization setting +// +OPTION GCCE -O2 -fno-unit-at-a-time +OPTION ARMCC --gnu + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +MACRO RESAMPLE_HAS_SMALL_FILTER=1 +MACRO RESAMPLE_HAS_LARGE_FILTER=0 + +SOURCE resamplesubs.c + +SYSTEMINCLUDE ..\third_party\resample\include +SYSTEMINCLUDE ..\third_party\build\resample + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + + diff --git a/build.symbian/libspeexcodec.mmp b/build.symbian/libspeexcodec.mmp new file mode 100644 index 0000000..816d805 --- /dev/null +++ b/build.symbian/libspeexcodec.mmp @@ -0,0 +1,74 @@ +TARGET libspeexcodec.lib +TARGETTYPE lib + +MACRO HAVE_CONFIG_H +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// +// GCCE optimization setting +// +OPTION GCCE -O2 -fno-unit-at-a-time +OPTION ARMCC --gnu + +// +// Speex files +// +SOURCEPATH ..\third_party\speex\libspeex + +SOURCE bits.c +SOURCE cb_search.c +SOURCE exc_5_64_table.c +SOURCE exc_5_256_table.c +SOURCE exc_8_128_table.c +SOURCE exc_10_16_table.c +SOURCE exc_10_32_table.c +SOURCE exc_20_32_table.c +SOURCE fftwrap.c +SOURCE filterbank.c +SOURCE filters.c +SOURCE gain_table.c +SOURCE gain_table_lbr.c +SOURCE hexc_10_32_table.c +SOURCE hexc_table.c +SOURCE high_lsp_tables.c +SOURCE kiss_fft.c +SOURCE kiss_fftr.c +SOURCE lpc.c +SOURCE lsp.c +SOURCE lsp_tables_nb.c +SOURCE ltp.c +SOURCE mdf.c +SOURCE modes.c +SOURCE modes_wb.c +SOURCE nb_celp.c +SOURCE preprocess.c +SOURCE quant_lsp.c +SOURCE sb_celp.c +SOURCE smallft.c +SOURCE speex.c +SOURCE speex_callbacks.c +SOURCE speex_header.c +SOURCE stereo.c +SOURCE vbr.c +SOURCE vq.c +SOURCE window.c + +// +// Speex codec wrapper for pjmedia-codec +// +SOURCEPATH ..\pjmedia\src\pjmedia-codec +SOURCE speex_codec.c + +// +// Header files +// +SYSTEMINCLUDE ..\third_party\speex\include\speex +SYSTEMINCLUDE ..\third_party\speex\include +SYSTEMINCLUDE ..\third_party\speex\symbian + +SYSTEMINCLUDE ..\pjmedia\include +SYSTEMINCLUDE ..\pjlib\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc diff --git a/build.symbian/libsrtp.mmp b/build.symbian/libsrtp.mmp new file mode 100644 index 0000000..4309e6d --- /dev/null +++ b/build.symbian/libsrtp.mmp @@ -0,0 +1,60 @@ +TARGET libsrtp.lib +TARGETTYPE lib + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// +// GCCE optimization setting +// +OPTION GCCE -O2 -fno-unit-at-a-time +OPTION ARMCC --gnu + +// +// Speex files +// +SOURCEPATH ..\third_party\srtp + +SOURCE crypto\ae_xfm\xfm.c +SOURCE crypto\cipher\aes.c +SOURCE crypto\cipher\aes_cbc.c +SOURCE crypto\cipher\aes_icm.c +SOURCE crypto\cipher\cipher.c +SOURCE crypto\cipher\null_cipher.c +SOURCE crypto\hash\auth.c +SOURCE crypto\hash\hmac.c +SOURCE crypto\hash\null_auth.c +SOURCE crypto\hash\sha1.c +SOURCE crypto\kernel\alloc.c +SOURCE crypto\kernel\crypto_kernel.c +//SOURCE crypto\kernel\err.c +SOURCE crypto\kernel\key.c +SOURCE crypto\math\datatypes.c +SOURCE crypto\math\gf2_8.c +//SOURCE crypto\math\math.c +SOURCE crypto\math\stat.c +SOURCE crypto\replay\rdb.c +SOURCE crypto\replay\rdbx.c +//SOURCE crypto\replay\ut_sim.c +SOURCE crypto\rng\ctr_prng.c +SOURCE crypto\rng\prng.c +//SOURCE crypto\rng\rand_linux_kernel.c +SOURCE crypto\rng\rand_source.c +SOURCE pjlib\srtp_err.c +SOURCE srtp\srtp.c +SOURCE tables\aes_tables.c + +//SOURCEPATH ..\pjmedia\src\pjmedia + +//SOURCE transport_srtp.c + +// +// Header files +// +SYSTEMINCLUDE ..\third_party\srtp\include +SYSTEMINCLUDE ..\third_party\srtp\crypto\include +SYSTEMINCLUDE ..\third_party\build\srtp +SYSTEMINCLUDE ..\pjlib\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc diff --git a/build.symbian/makedef.sh b/build.symbian/makedef.sh new file mode 100644 index 0000000..d909dbe --- /dev/null +++ b/build.symbian/makedef.sh @@ -0,0 +1,80 @@ +#!/bin/sh + +MMP=$1 +if test "$MMP" == ""; then + echo "Usage: makedef.sh FILE.MMP" + echo " or makedef.sh all" + exit 1 +fi + +if test "$MMP" == "all"; then + . $0 pjlib.mmp + . $0 pjlib_util.mmp + . $0 pjnath.mmp + . $0 pjmedia.mmp + . $0 pjsdp.mmp + . $0 pjsip.mmp + . $0 pjsip_simple.mmp + . $0 pjsip_ua.mmp + . $0 pjsua_lib.mmp + . $0 symbian_audio.mmp + . $0 null_audio.mmp + exit 0 +fi + +if test -f $MMP; then + true +else + echo "Unable to open $MMP" + exit 1 +fi + +TARGET=`grep -w '^TARGET' $MMP | awk '{print $2}' | awk -F '.' '{print $1}' | head -1` +DEFFILE="${TARGET}U.def" +SOURCES=`grep -w '^SOURCE' $MMP | awk '{print $2}' | tr '\\\\' '/'` +SOURCEPATH=`grep -w '^SOURCEPATH' $MMP | tr '\\\\' '/' | awk '{print $2}'` +INCPATH=`grep 'INCLUDE' $MMP | awk '{print $2}' | grep pj | tr '\\\\' '/'` +INCLUDE="" +for INC in $INCPATH; do + INCLUDE=`echo $INCLUDE -I$INC` +done + +#-- debug -- +#echo TARGET=$TARGET +#echo SOURCES=$SOURCES +#echo SOURCEPATH=$SOURCEPATH +#echo INCLUDE=$INCLUDE +#-- end -- + +echo > tmpnames.def + +echo "${TARGET}:" + +for file in $SOURCES; do + #SYMBOLS=`grep PJ_DEF ${SOURCEPATH}/$file | awk -F ')' '{print $2}' | awk -F '(' '{print $1}' | awk -F '=' '{print $1}' | tr -d '[:blank:]' | sort | uniq` + SYMBOLS=` + cpp -DPJ_SYMBIAN=1 -DPJ_DLL -DPJ_EXPORTING=1 $INCLUDE ${SOURCEPATH}/$file 2>&1 | + grep EXPORT_C | + sed 's/(/;/' | + sed 's/=/;/' | + awk -F ';' '{print $1}' | + awk '{print $NF}'` + echo Processing ${SOURCEPATH}/$file.. + for SYM in $SYMBOLS; do + echo $SYM >> tmpnames.def + done +done + +echo "Writing $DEFFILE" +echo EXPORTS > $DEFFILE +i=0 +for SYM in `cat tmpnames.def | sort | uniq`; do + echo " $SYM" + i=`expr $i + 1` + printf "\\t%-40s @ $i NONAME\\n" $SYM >> $DEFFILE +done + + +echo +echo "Done. Total $i symbols exported in $DEFFILE." + diff --git a/build.symbian/null_audio.mmp b/build.symbian/null_audio.mmp new file mode 100644 index 0000000..de1dcbd --- /dev/null +++ b/build.symbian/null_audio.mmp @@ -0,0 +1,40 @@ +#if defined(PJ_BUILD_DLL) + +TARGET null_audio.dll +TARGETTYPE dll +UID 0x0 0xA0000000 + + +CAPABILITY None +LIBRARY pjlib.lib charconv.lib euser.lib estlib.lib +MACRO PJ_DLL +MACRO PJ_EXPORTING + +DEFFILE .\null_audio.def + +#else + +TARGET null_audio.lib +TARGETTYPE lib + +#endif + +SOURCEPATH ..\pjmedia\src\pjmedia + +OPTION CW -lang c++ +OPTION ARMCC --gnu + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// +// Platform independent source +// +SOURCE nullsound.c + +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\pjmedia\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + diff --git a/build.symbian/null_audioU.def b/build.symbian/null_audioU.def new file mode 100644 index 0000000..883d5d8 --- /dev/null +++ b/build.symbian/null_audioU.def @@ -0,0 +1,12 @@ +EXPORTS + pjmedia_snd_deinit @ 1 NONAME + pjmedia_snd_get_dev_count @ 2 NONAME + pjmedia_snd_get_dev_info @ 3 NONAME + pjmedia_snd_init @ 4 NONAME + pjmedia_snd_open @ 5 NONAME + pjmedia_snd_open_player @ 6 NONAME + pjmedia_snd_open_rec @ 7 NONAME + pjmedia_snd_stream_close @ 8 NONAME + pjmedia_snd_stream_get_info @ 9 NONAME + pjmedia_snd_stream_start @ 10 NONAME + pjmedia_snd_stream_stop @ 11 NONAME diff --git a/build.symbian/pjlib.mmp b/build.symbian/pjlib.mmp new file mode 100644 index 0000000..e5c3107 --- /dev/null +++ b/build.symbian/pjlib.mmp @@ -0,0 +1,122 @@ +#if defined(PJ_BUILD_DLL) +TARGET pjlib.dll +TARGETTYPE dll +UID 0x0 0xA0000001 + +CAPABILITY NONE +LIBRARY esock.lib insock.lib charconv.lib euser.lib estlib.lib +MACRO PJ_DLL +MACRO PJ_EXPORTING + +DEFFILE .\pjlib.def + +#else + +TARGET pjlib.lib +TARGETTYPE lib + +#endif + +SOURCEPATH ..\pjlib\src\pj + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// Must compile as C++, otherwise exception would not work +OPTION CW -lang c++ +OPTION ARMCC --cpp --gnu +OPTION GCC -x c++ +OPTION GCCE -x c++ + +// +// Platform independent source +// +SOURCE activesock.c +SOURCE array.c +SOURCE config.c +SOURCE ctype.c +SOURCE errno.c +SOURCE fifobuf.c +SOURCE guid.c +SOURCE hash.c +SOURCE list.c +SOURCE lock.c +SOURCE string.c +SOURCE log.c +SOURCE os_info.c +SOURCE os_info_symbian.cpp +SOURCE os_time_common.c +SOURCE pool.c +SOURCE pool_buf.c +SOURCE pool_caching.c +SOURCE rand.c +SOURCE rbtree.c +SOURCE ssl_sock_common.c +SOURCE ssl_sock_dump.c +SOURCE sock_common.c +SOURCE sock_qos_common.c +SOURCE types.c + + +// +// Platform dependent source +// +SOURCE compat\string_compat.c +SOURCE addr_resolv_symbian.cpp +SOURCE exception_symbian.cpp +SOURCE file_access_unistd.c +SOURCE file_io_ansi.c +SOURCE guid_simple.c +SOURCE ioqueue_symbian.cpp +SOURCE ip_helper_symbian.cpp +SOURCE log_writer_symbian_console.cpp +SOURCE os_core_symbian.cpp +SOURCE os_error_symbian.cpp +SOURCE os_timestamp_common.c +SOURCE os_time_unix.c +SOURCE os_timestamp_posix.c +SOURCE pool_policy_new.cpp +SOURCE ssl_sock_symbian.cpp +SOURCE sock_symbian.cpp +SOURCE sock_select_symbian.cpp +SOURCE sock_qos_symbian.cpp +SOURCE timer_symbian.cpp +SOURCE unicode_symbian.cpp + +//DOCUMENT os_symbian.h + +//DOCUMENT pj\addr_resolv.h +//DOCUMENT pj\array.h +//DOCUMENT pj\assert.h +//DOCUMENT pj\config.h +//DOCUMENT pj\config_site.h +//DOCUMENT pj\config_site_sample.h +//DOCUMENT pj\ctype.h +//DOCUMENT pj\errno.h +//DOCUMENT pj\except.h +//DOCUMENT pj\file_access.h +//DOCUMENT pj\file_io.h +//DOCUMENT pj\guid.h +//DOCUMENT pj\hash.h +//DOCUMENT pj\ioqueue.h +//DOCUMENT pj\ip_helper.h +//DOCUMENT pj\list.h +//DOCUMENT pj\lock.h +//DOCUMENT pj\log.h +//DOCUMENT pj\os.h +//DOCUMENT pj\\pool.h +//DOCUMENT pj\\pool_buf.h +//DOCUMENT pj\rand.h +//DOCUMENT pj\rbtree.h +//DOCUMENT pj\sock.h +//DOCUMENT pj\sock_select.h +//DOCUMENT pj\string.h +//DOCUMENT pj\timer.h +//DOCUMENT pj\types.h +//DOCUMENT pj\unicode.h + +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + + diff --git a/build.symbian/pjlibU.def b/build.symbian/pjlibU.def new file mode 100644 index 0000000..6dbffdf --- /dev/null +++ b/build.symbian/pjlibU.def @@ -0,0 +1,326 @@ +EXPORTS + PJ_FD_CLR @ 1 NONAME + PJ_FD_COUNT @ 2 NONAME + PJ_FD_ISSET @ 3 NONAME + PJ_FD_SET @ 4 NONAME + PJ_FD_ZERO @ 5 NONAME + PJ_GUID_STRING_LENGTH @ 6 NONAME + PJ_NO_MEMORY_EXCEPTION @ 7 NONAME + PJ_VERSION @ 8 NONAME + pj_AF_INET @ 9 NONAME + pj_AF_INET6 @ 10 NONAME + pj_AF_IRDA @ 11 NONAME + pj_AF_PACKET @ 12 NONAME + pj_AF_UNIX @ 13 NONAME + pj_AF_UNSPEC @ 14 NONAME + pj_GUID_STRING_LENGTH @ 15 NONAME + pj_IPTOS_LOWDELAY @ 16 NONAME + pj_IPTOS_MINCOST @ 17 NONAME + pj_IPTOS_RELIABILITY @ 18 NONAME + pj_IPTOS_THROUGHPUT @ 19 NONAME + pj_IP_TOS @ 20 NONAME + pj_MSG_DONTROUTE @ 21 NONAME + pj_MSG_OOB @ 22 NONAME + pj_MSG_PEEK @ 23 NONAME + pj_NO_MEMORY_EXCEPTION @ 24 NONAME + pj_SOCK_DGRAM @ 25 NONAME + pj_SOCK_RAW @ 26 NONAME + pj_SOCK_RDM @ 27 NONAME + pj_SOCK_STREAM @ 28 NONAME + pj_SOL_IP @ 29 NONAME + pj_SOL_IPV6 @ 30 NONAME + pj_SOL_SOCKET @ 31 NONAME + pj_SOL_TCP @ 32 NONAME + pj_SOL_UDP @ 33 NONAME + pj_SO_RCVBUF @ 34 NONAME + pj_SO_SNDBUF @ 35 NONAME + pj_SO_TYPE @ 36 NONAME + pj_ansi_to_unicode @ 37 NONAME + pj_array_erase @ 38 NONAME + pj_array_find @ 39 NONAME + pj_array_insert @ 40 NONAME + pj_atexit @ 41 NONAME + pj_atomic_add @ 42 NONAME + pj_atomic_add_and_get @ 43 NONAME + pj_atomic_create @ 44 NONAME + pj_atomic_dec @ 45 NONAME + pj_atomic_dec_and_get @ 46 NONAME + pj_atomic_destroy @ 47 NONAME + pj_atomic_get @ 48 NONAME + pj_atomic_inc @ 49 NONAME + pj_atomic_inc_and_get @ 50 NONAME + pj_atomic_set @ 51 NONAME + pj_caching_pool_destroy @ 52 NONAME + pj_caching_pool_init @ 53 NONAME + pj_create_random_string @ 54 NONAME + pj_create_unique_string @ 55 NONAME + pj_dump_config @ 56 NONAME + pj_elapsed_cycle @ 57 NONAME + pj_elapsed_msec @ 58 NONAME + pj_elapsed_nanosec @ 59 NONAME + pj_elapsed_time @ 60 NONAME + pj_elapsed_usec @ 61 NONAME + pj_enter_critical_section @ 62 NONAME + pj_enum_ip_interface @ 63 NONAME + pj_enum_ip_route @ 64 NONAME + pj_exception_id_alloc @ 65 NONAME + pj_exception_id_free @ 66 NONAME + pj_exception_id_name @ 67 NONAME + pj_fifobuf_alloc @ 68 NONAME + pj_fifobuf_free @ 69 NONAME + pj_fifobuf_init @ 70 NONAME + pj_fifobuf_max_size @ 71 NONAME + pj_fifobuf_unalloc @ 72 NONAME + pj_file_close @ 73 NONAME + pj_file_delete @ 74 NONAME + pj_file_exists @ 75 NONAME + pj_file_flush @ 76 NONAME + pj_file_getpos @ 77 NONAME + pj_file_getstat @ 78 NONAME + pj_file_move @ 79 NONAME + pj_file_open @ 80 NONAME + pj_file_read @ 81 NONAME + pj_file_setpos @ 82 NONAME + pj_file_size @ 83 NONAME + pj_file_write @ 84 NONAME + pj_generate_unique_string @ 85 NONAME + pj_get_netos_error @ 86 NONAME + pj_get_os_error @ 87 NONAME + pj_get_timestamp @ 88 NONAME + pj_get_timestamp_freq @ 89 NONAME + pj_get_version @ 90 NONAME + pj_getaddrinfo @ 91 NONAME + pj_getdefaultipinterface @ 92 NONAME + pj_gethostaddr @ 93 NONAME + pj_gethostbyname @ 94 NONAME + pj_gethostip @ 95 NONAME + pj_gethostname @ 96 NONAME + pj_getpid @ 97 NONAME + pj_gettimeofday @ 98 NONAME + pj_hash_calc @ 99 NONAME + pj_hash_calc_tolower @ 100 NONAME + pj_hash_count @ 101 NONAME + pj_hash_create @ 102 NONAME + pj_hash_first @ 103 NONAME + pj_hash_get @ 104 NONAME + pj_hash_next @ 105 NONAME + pj_hash_set @ 106 NONAME + pj_hash_set_np @ 107 NONAME + pj_hash_this @ 108 NONAME + pj_htonl @ 109 NONAME + pj_htons @ 110 NONAME + pj_inet_addr @ 111 NONAME + pj_inet_addr2 @ 112 NONAME + pj_inet_aton @ 113 NONAME + pj_inet_ntoa @ 114 NONAME + pj_inet_ntop @ 115 NONAME + pj_inet_ntop2 @ 116 NONAME + pj_inet_pton @ 117 NONAME + pj_init @ 118 NONAME + pj_ioqueue_accept @ 119 NONAME + pj_ioqueue_connect @ 120 NONAME + pj_ioqueue_create @ 121 NONAME + pj_ioqueue_destroy @ 122 NONAME + pj_ioqueue_get_user_data @ 123 NONAME + pj_ioqueue_is_pending @ 124 NONAME + pj_ioqueue_name @ 125 NONAME + pj_ioqueue_op_key_init @ 126 NONAME + pj_ioqueue_poll @ 127 NONAME + pj_ioqueue_post_completion @ 128 NONAME + pj_ioqueue_recv @ 129 NONAME + pj_ioqueue_recvfrom @ 130 NONAME + pj_ioqueue_register_sock @ 131 NONAME + pj_ioqueue_register_sock2 @ 132 NONAME + pj_ioqueue_send @ 133 NONAME + pj_ioqueue_sendto @ 134 NONAME + pj_ioqueue_set_lock @ 135 NONAME + pj_ioqueue_set_user_data @ 136 NONAME + pj_ioqueue_unregister @ 137 NONAME + pj_leave_critical_section @ 138 NONAME + pj_list_erase @ 139 NONAME + pj_list_find_node @ 140 NONAME + pj_list_insert_after @ 141 NONAME + pj_list_insert_before @ 142 NONAME + pj_list_insert_nodes_after @ 143 NONAME + pj_list_insert_nodes_before @ 144 NONAME + pj_list_merge_first @ 145 NONAME + pj_list_merge_last @ 146 NONAME + pj_list_search @ 147 NONAME + pj_list_size @ 148 NONAME + pj_lock_acquire @ 149 NONAME + pj_lock_create_null_mutex @ 150 NONAME + pj_lock_create_recursive_mutex @ 151 NONAME + pj_lock_create_semaphore @ 152 NONAME + pj_lock_create_simple_mutex @ 153 NONAME + pj_lock_destroy @ 154 NONAME + pj_lock_release @ 155 NONAME + pj_lock_tryacquire @ 156 NONAME + pj_log @ 157 NONAME + pj_log_1 @ 158 NONAME + pj_log_2 @ 159 NONAME + pj_log_3 @ 160 NONAME + pj_log_4 @ 161 NONAME + pj_log_5 @ 162 NONAME + pj_log_get_decor @ 163 NONAME + pj_log_get_level @ 164 NONAME + pj_log_get_log_func @ 165 NONAME + pj_log_set_decor @ 166 NONAME + pj_log_set_level @ 167 NONAME + pj_log_set_log_func @ 168 NONAME + pj_log_write @ 169 NONAME + pj_mutex_create @ 170 NONAME + pj_mutex_create_recursive @ 171 NONAME + pj_mutex_create_simple @ 172 NONAME + pj_mutex_destroy @ 173 NONAME + pj_mutex_lock @ 174 NONAME + pj_mutex_trylock @ 175 NONAME + pj_mutex_unlock @ 176 NONAME + pj_ntohl @ 177 NONAME + pj_ntohs @ 178 NONAME + pj_pool_alloc @ 179 NONAME + pj_pool_alloc_from_block @ 180 NONAME + pj_pool_allocate_find @ 181 NONAME + pj_pool_calloc @ 182 NONAME + pj_pool_create @ 183 NONAME + pj_pool_create_int @ 184 NONAME + pj_pool_create_on_buf @ 185 NONAME + pj_pool_destroy_int @ 186 NONAME + pj_pool_factory_default_policy @ 187 NONAME + pj_pool_factory_get_default_policy @ 188 NONAME + pj_pool_get_capacity @ 189 NONAME + pj_pool_get_used_size @ 190 NONAME + pj_pool_getobjname @ 191 NONAME + pj_pool_init_int @ 192 NONAME + pj_pool_release @ 193 NONAME + pj_pool_reset @ 194 NONAME + pj_rand @ 195 NONAME + pj_rbtree_erase @ 196 NONAME + pj_rbtree_find @ 197 NONAME + pj_rbtree_first @ 198 NONAME + pj_rbtree_init @ 199 NONAME + pj_rbtree_insert @ 200 NONAME + pj_rbtree_last @ 201 NONAME + pj_rbtree_max_height @ 202 NONAME + pj_rbtree_min_height @ 203 NONAME + pj_rbtree_next @ 204 NONAME + pj_rbtree_prev @ 205 NONAME + pj_register_strerror @ 206 NONAME + pj_rwmutex_create @ 207 NONAME + pj_rwmutex_destroy @ 208 NONAME + pj_rwmutex_lock_read @ 209 NONAME + pj_rwmutex_lock_write @ 210 NONAME + pj_rwmutex_unlock_read @ 211 NONAME + pj_rwmutex_unlock_write @ 212 NONAME + pj_sem_create @ 213 NONAME + pj_sem_destroy @ 214 NONAME + pj_sem_post @ 215 NONAME + pj_sem_trywait @ 216 NONAME + pj_sem_wait @ 217 NONAME + pj_set_netos_error @ 218 NONAME + pj_set_os_error @ 219 NONAME + pj_shutdown @ 220 NONAME + pj_sock_accept @ 221 NONAME + pj_sock_bind @ 222 NONAME + pj_sock_bind_in @ 223 NONAME + pj_sock_close @ 224 NONAME + pj_sock_connect @ 225 NONAME + pj_sock_getpeername @ 226 NONAME + pj_sock_getsockname @ 227 NONAME + pj_sock_getsockopt @ 228 NONAME + pj_sock_listen @ 229 NONAME + pj_sock_recv @ 230 NONAME + pj_sock_recvfrom @ 231 NONAME + pj_sock_select @ 232 NONAME + pj_sock_send @ 233 NONAME + pj_sock_sendto @ 234 NONAME + pj_sock_setsockopt @ 235 NONAME + pj_sock_shutdown @ 236 NONAME + pj_sock_socket @ 237 NONAME + pj_sockaddr_cmp @ 238 NONAME + pj_sockaddr_copy_addr @ 239 NONAME + pj_sockaddr_get_addr @ 240 NONAME + pj_sockaddr_get_addr_len @ 241 NONAME + pj_sockaddr_get_len @ 242 NONAME + pj_sockaddr_get_port @ 243 NONAME + pj_sockaddr_has_addr @ 244 NONAME + pj_sockaddr_in_get_addr @ 245 NONAME + pj_sockaddr_in_get_port @ 246 NONAME + pj_sockaddr_in_init @ 247 NONAME + pj_sockaddr_in_set_addr @ 248 NONAME + pj_sockaddr_in_set_port @ 249 NONAME + pj_sockaddr_in_set_str_addr @ 250 NONAME + pj_sockaddr_init @ 251 NONAME + pj_sockaddr_print @ 252 NONAME + pj_sockaddr_set_port @ 253 NONAME + pj_sockaddr_set_str_addr @ 254 NONAME + pj_srand @ 255 NONAME + pj_str @ 256 NONAME + pj_strassign @ 257 NONAME + pj_strcat @ 258 NONAME + pj_strcat2 @ 259 NONAME + pj_strcmp @ 260 NONAME + pj_strcmp2 @ 261 NONAME + pj_strcpy @ 262 NONAME + pj_strcpy2 @ 263 NONAME + pj_strdup @ 264 NONAME + pj_strdup2 @ 265 NONAME + pj_strdup2_with_null @ 266 NONAME + pj_strdup3 @ 267 NONAME + pj_strdup_with_null @ 268 NONAME + pj_strerror @ 269 NONAME + pj_stricmp @ 270 NONAME + pj_stricmp2 @ 271 NONAME + pj_strltrim @ 272 NONAME + pj_strncmp @ 273 NONAME + pj_strncmp2 @ 274 NONAME + pj_strncpy @ 275 NONAME + pj_strncpy_with_null @ 276 NONAME + pj_strnicmp @ 277 NONAME + pj_strnicmp2 @ 278 NONAME + pj_strrtrim @ 279 NONAME + pj_strtoul @ 280 NONAME + pj_strtoul2 @ 281 NONAME + pj_strtrim @ 282 NONAME + pj_symbianos_poll @ 283 NONAME + pj_symbianos_set_params @ 284 NONAME + pj_thread_check_stack @ 285 NONAME + pj_thread_create @ 286 NONAME + pj_thread_destroy @ 287 NONAME + pj_thread_get_name @ 288 NONAME + pj_thread_get_os_handle @ 289 NONAME + pj_thread_get_stack_info @ 290 NONAME + pj_thread_get_stack_max_usage @ 291 NONAME + pj_thread_is_registered @ 292 NONAME + pj_thread_join @ 293 NONAME + pj_thread_local_alloc @ 294 NONAME + pj_thread_local_free @ 295 NONAME + pj_thread_local_get @ 296 NONAME + pj_thread_local_set @ 297 NONAME + pj_thread_register @ 298 NONAME + pj_thread_resume @ 299 NONAME + pj_thread_sleep @ 300 NONAME + pj_thread_this @ 301 NONAME + pj_time_decode @ 302 NONAME + pj_time_encode @ 303 NONAME + pj_time_gmt_to_local @ 304 NONAME + pj_time_local_to_gmt @ 305 NONAME + pj_time_val_normalize @ 306 NONAME + pj_timer_entry_init @ 307 NONAME + pj_timer_heap_cancel @ 308 NONAME + pj_timer_heap_cancel_if_active @ 309 NONAME + pj_timer_heap_count @ 310 NONAME + pj_timer_heap_create @ 311 NONAME + pj_timer_heap_destroy @ 312 NONAME + pj_timer_heap_earliest_time @ 313 NONAME + pj_timer_heap_mem_size @ 314 NONAME + pj_timer_heap_poll @ 315 NONAME + pj_timer_heap_schedule @ 316 NONAME + pj_timer_heap_schedule_w_grp_lock @ 317 NONAME + pj_timer_heap_set_lock @ 318 NONAME + pj_timer_heap_set_max_timed_out_per_poll @ 319 NONAME + pj_unicode_to_ansi @ 320 NONAME + pj_utoa @ 321 NONAME + pj_utoa_pad @ 322 NONAME + platform_strerror @ 323 NONAME + snprintf @ 324 NONAME + vsnprintf @ 325 NONAME \ No newline at end of file diff --git a/build.symbian/pjlib_test.mmp b/build.symbian/pjlib_test.mmp new file mode 100644 index 0000000..73f004b --- /dev/null +++ b/build.symbian/pjlib_test.mmp @@ -0,0 +1,83 @@ +TARGET pjlib_test.exe +TARGETTYPE exe +UID 0x0 0xA0000002 + + +SOURCEPATH ..\pjlib\src\pjlib-test + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// Must compile as C++, otherwise exception would not work +OPTION CW -lang c++ +OPTION ARMCC --cpp --gnu +OPTION GCC -x c++ +OPTION GCCE -x c++ + +#if defined(PJ_BUILD_DLL) +MACRO PJ_DLL +LIBRARY pjlib.lib +#else +STATICLIBRARY pjlib.lib +#endif + +// Test files + +SOURCE activesock.c +SOURCE atomic.c +SOURCE echo_clt.c +SOURCE errno.c +SOURCE exception_wrap.cpp +SOURCE fifobuf.c +SOURCE file.c +SOURCE hash_test.c +SOURCE ioq_perf.c +SOURCE ioq_tcp.c +SOURCE ioq_udp.c +SOURCE ioq_unreg.c +SOURCE list.c +SOURCE mutex.c +SOURCE os.c +SOURCE pool_wrap.cpp +SOURCE pool_perf.c +SOURCE rand.c +SOURCE rbtree.c +SOURCE select.c +SOURCE sleep.c +SOURCE sock.c +SOURCE sock_perf.c +SOURCE ssl_sock.c +SOURCE string.c +SOURCE test_wrap.cpp +SOURCE thread.c +SOURCE timer.c +SOURCE timestamp.c +SOURCE udp_echo_srv_ioqueue.c +SOURCE udp_echo_srv_sync.c +SOURCE util.c + +SOURCE main_symbian.cpp + +DOCUMENT test.h + +START RESOURCE pjlib_test_reg.rss + TARGETPATH \private\10003a3f\apps +END + +SYSTEMINCLUDE ..\pjlib\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + +LIBRARY esock.lib insock.lib charconv.lib euser.lib estlib.lib +LIBRARY securesocket.lib x509.lib crypto.lib x500.lib +LIBRARY hal.lib efsrv.lib + +#ifdef WINSCW +STATICLIBRARY eexe.lib ecrt0.lib +#endif + +// Need a bit of mem for logging in the app. +EPOCSTACKSIZE 32768 + +CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment diff --git a/build.symbian/pjlib_test.pkg b/build.symbian/pjlib_test.pkg new file mode 100644 index 0000000..06d13aa --- /dev/null +++ b/build.symbian/pjlib_test.pkg @@ -0,0 +1,19 @@ +; pjlib_test.pkg + +; Languages +&EN + +; Header +;#{"pjlib_test"},(0x200235D3), 0, 1, 1 +#{"pjlib_test"},(0xA0000002), 0, 1, 1 + +; Platform compatibility +[0x101F7961], *, *, *,{"Series60ProductID"} + +; vendor +%{"PJSIP"} +:"PJSIP" + +; Target +"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\pjlib_test.exe"-"!:\sys\bin\pjlib_test.exe" +"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\pjlib_test_reg.rSC"-"!:\private\10003a3f\import\apps\pjlib_test_reg.rSC" diff --git a/build.symbian/pjlib_util.mmp b/build.symbian/pjlib_util.mmp new file mode 100644 index 0000000..f38134d --- /dev/null +++ b/build.symbian/pjlib_util.mmp @@ -0,0 +1,86 @@ +#if defined(PJ_BUILD_DLL) +TARGET pjlib_util.dll +TARGETTYPE dll +UID 0x0 0xA0000003 + +CAPABILITY NONE +LIBRARY pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib +MACRO PJ_DLL +MACRO PJ_EXPORTING + +DEFFILE .\pjlib_util.def + +#else + +TARGET pjlib_util.lib +TARGETTYPE lib + +#endif + +SOURCEPATH ..\pjlib-util\src\pjlib-util + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// Must compile as C++, otherwise exception would not work +OPTION CW -lang c++ +OPTION ARMCC --cpp --gnu +OPTION GCC -x c++ +OPTION GCCE -x c++ + +// +// PJLIB-UTIL files +// +SOURCE base64.c +SOURCE cli.c +SOURCE cli_console.c +SOURCE cli_telnet.c +SOURCE crc32.c +SOURCE dns.c +SOURCE dns_dump.c +SOURCE dns_server.c +SOURCE errno.c +SOURCE getopt.c +SOURCE hmac_md5.c +SOURCE hmac_sha1.c +SOURCE http_client.c +SOURCE md5.c +SOURCE pcap.c +SOURCE resolver_wrap.cpp +SOURCE scanner.c +SOURCE sha1.c +SOURCE srv_resolver.c +SOURCE string.c +SOURCE stun_simple.c +SOURCE stun_simple_client.c +SOURCE xml_wrap.cpp + +// +// Header files +// +//DOCUMENT pjlib-util\\config.h +//DOCUMENT pjlib-util\\crc32.h +//DOCUMENT pjlib-util\\dns.h +//DOCUMENT pjlib-util\\errno.h +//DOCUMENT pjlib-util\\getopt.h +//DOCUMENT pjlib-util\\hmac_md5.h +//DOCUMENT pjlib-util\hmac_sha1.h +//DOCUMENT pjlib-util\http_client.h +//DOCUMENT pjlib-util\md5.h +//DOCUMENT pjlib-util\resolver.h +//DOCUMENT pjlib-util\scanner.h +//DOCUMENT pjlib-util\sha1.h +//DOCUMENT pjlib-util\srv_resolver.h +//DOCUMENT pjlib-util\string.h +//DOCUMENT pjlib-util\stun_simple.h +//DOCUMENT pjlib-util\types.h +//DOCUMENT pjlib-util\xml.h + + +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\pjlib-util\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + + diff --git a/build.symbian/pjlib_utilU.def b/build.symbian/pjlib_utilU.def new file mode 100644 index 0000000..3e482af --- /dev/null +++ b/build.symbian/pjlib_utilU.def @@ -0,0 +1,92 @@ +EXPORTS + pj_cis_add_alpha @ 1 NONAME + pj_cis_add_cis @ 2 NONAME + pj_cis_add_num @ 3 NONAME + pj_cis_add_range @ 4 NONAME + pj_cis_add_str @ 5 NONAME + pj_cis_buf_init @ 6 NONAME + pj_cis_del_range @ 7 NONAME + pj_cis_del_str @ 8 NONAME + pj_cis_dup @ 9 NONAME + pj_cis_init @ 10 NONAME + pj_cis_invert @ 11 NONAME + pj_crc32_calc @ 12 NONAME + pj_crc32_final @ 13 NONAME + pj_crc32_init @ 14 NONAME + pj_crc32_update @ 15 NONAME + pj_dns_dump_packet @ 16 NONAME + pj_dns_get_type_name @ 17 NONAME + pj_dns_make_query @ 18 NONAME + pj_dns_packet_dup @ 19 NONAME + pj_dns_parse_a_response @ 20 NONAME + pj_dns_parse_packet @ 21 NONAME + pj_dns_resolver_add_entry @ 22 NONAME + pj_dns_resolver_cancel_query @ 23 NONAME + pj_dns_resolver_create @ 24 NONAME + pj_dns_resolver_destroy @ 25 NONAME + pj_dns_resolver_dump @ 26 NONAME + pj_dns_resolver_get_cached_count @ 27 NONAME + pj_dns_resolver_get_settings @ 28 NONAME + pj_dns_resolver_handle_events @ 29 NONAME + pj_dns_resolver_set_ns @ 30 NONAME + pj_dns_resolver_set_settings @ 31 NONAME + pj_dns_resolver_start_query @ 32 NONAME + pj_dns_settings_default @ 33 NONAME + pj_dns_srv_resolve @ 34 NONAME + pj_hmac_md5 @ 35 NONAME + pj_hmac_md5_final @ 36 NONAME + pj_hmac_md5_init @ 37 NONAME + pj_hmac_md5_update @ 38 NONAME + pj_hmac_sha1 @ 39 NONAME + pj_hmac_sha1_final @ 40 NONAME + pj_hmac_sha1_init @ 41 NONAME + pj_hmac_sha1_update @ 42 NONAME + pj_md5_final @ 43 NONAME + pj_md5_init @ 44 NONAME + pj_md5_update @ 45 NONAME + pj_scan_advance_n @ 46 NONAME + pj_scan_fini @ 47 NONAME + pj_scan_get @ 48 NONAME + pj_scan_get_char @ 49 NONAME + pj_scan_get_n @ 50 NONAME + pj_scan_get_newline @ 51 NONAME + pj_scan_get_quote @ 52 NONAME + pj_scan_get_quotes @ 53 NONAME + pj_scan_get_unescape @ 54 NONAME + pj_scan_get_until @ 55 NONAME + pj_scan_get_until_ch @ 56 NONAME + pj_scan_get_until_chr @ 57 NONAME + pj_scan_init @ 58 NONAME + pj_scan_peek @ 59 NONAME + pj_scan_peek_n @ 60 NONAME + pj_scan_peek_until @ 61 NONAME + pj_scan_restore_state @ 62 NONAME + pj_scan_save_state @ 63 NONAME + pj_scan_skip_line @ 64 NONAME + pj_scan_skip_whitespace @ 65 NONAME + pj_scan_strcmp @ 66 NONAME + pj_scan_stricmp @ 67 NONAME + pj_scan_stricmp_alnum @ 68 NONAME + pj_sha1_final @ 69 NONAME + pj_sha1_init @ 70 NONAME + pj_sha1_update @ 71 NONAME + pj_str_unescape @ 72 NONAME + pj_strcpy_unescape @ 73 NONAME + pj_strncpy2_escape @ 74 NONAME + pj_strncpy_escape @ 75 NONAME + pj_xml_add_attr @ 76 NONAME + pj_xml_add_node @ 77 NONAME + pj_xml_attr_new @ 78 NONAME + pj_xml_clone @ 79 NONAME + pj_xml_find @ 80 NONAME + pj_xml_find_attr @ 81 NONAME + pj_xml_find_next_node @ 82 NONAME + pj_xml_find_node @ 83 NONAME + pj_xml_node_new @ 84 NONAME + pj_xml_parse @ 85 NONAME + pj_xml_print @ 86 NONAME + pjlib_util_init @ 87 NONAME + pjstun_create_bind_req @ 88 NONAME + pjstun_get_mapped_addr @ 89 NONAME + pjstun_msg_find_attr @ 90 NONAME + pjstun_parse_msg @ 91 NONAME diff --git a/build.symbian/pjmedia.mmp b/build.symbian/pjmedia.mmp new file mode 100644 index 0000000..45903fe --- /dev/null +++ b/build.symbian/pjmedia.mmp @@ -0,0 +1,136 @@ +#if defined(PJ_BUILD_DLL) + +TARGET pjmedia.dll +TARGETTYPE dll +UID 0x0 0xA0000004 + +CAPABILITY None +LIBRARY null_audio.lib pjsdp.lib pjnath.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib +MACRO PJ_DLL +MACRO PJ_EXPORTING + +DEFFILE .\pjmedia.def + +#else + +TARGET pjmedia.lib +TARGETTYPE lib + +#endif + +SOURCEPATH ..\pjmedia\src\pjmedia + +// +// GCCE optimization setting +// +OPTION GCCE -O2 -fno-unit-at-a-time + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// Must compile as C++, otherwise exception would not work +OPTION CW -lang c++ +OPTION ARMCC --cpp --gnu +OPTION GCC -x c++ +OPTION GCCE -x c++ + +// +// Platform independent source +// + +SOURCE alaw_ulaw.c +SOURCE alaw_ulaw_table.c +SOURCE avi_player.c +SOURCE bidirectional.c +SOURCE clock_thread.c +SOURCE codec.c +SOURCE conf_switch.c +SOURCE conference.c +SOURCE converter.c +SOURCE converter_libswscale.c +SOURCE delaybuf.c +SOURCE echo_common.c +SOURCE echo_port.c +SOURCE echo_suppress.c +SOURCE endpoint.c +SOURCE errno.c +SOURCE event.c +SOURCE format.c +SOURCE g711.c +SOURCE jbuf.c +SOURCE master_port.c +SOURCE mem_capture.c +SOURCE mem_player.c +SOURCE null_port.c +SOURCE plc_common.c +SOURCE port.c +SOURCE resample_port.c +SOURCE resample_resample.c +SOURCE rtcp.c +SOURCE rtcp_xr.c +SOURCE rtp.c +//SDP files are in pjsdp.mmp: sdp.c, sdp_cmp.c, sdp_neg.c +//SOURCE session.c // deprecated +SOURCE silencedet.c +SOURCE sound_port.c +SOURCE splitcomb.c +SOURCE stereo_port.c +SOURCE stream.c +SOURCE stream_common.c +SOURCE stream_info.c +SOURCE tonegen.c +SOURCE transport_adapter_sample.c +SOURCE transport_ice.c +SOURCE transport_udp.c +SOURCE transport_srtp.c +SOURCE types.c +SOURCE vid_codec.c +SOURCE vid_codec_util.c +SOURCE vid_port.c +SOURCE vid_stream.c +SOURCE vid_stream_info.c +SOURCE vid_tee.c +SOURCE wav_player.c +SOURCE wav_playlist.c +SOURCE wav_writer.c +SOURCE wave.c +SOURCE wsola.c + +// +// pjmedia-codec common files +// +SOURCEPATH ..\pjmedia\src\pjmedia-codec +SOURCE audio_codecs.c +SOURCE amr_sdp_match.c +SOURCE g7221_sdp_match.c +SOURCE h263_packetizer.c +SOURCE h264_packetizer.c + + +// +// Symbian specific +// These are on separate project +// +//SOURCE symbian_sound.cpp +//SOURCE null_sound.c + + +// +// Header files +// + + +SYSTEMINCLUDE ..\pjmedia\include +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\pjlib-util\include +SYSTEMINCLUDE ..\pjnath\include +SYSTEMINCLUDE ..\third_party\srtp\include +SYSTEMINCLUDE ..\third_party\srtp\crypto\include +SYSTEMINCLUDE ..\third_party\build\srtp +SYSTEMINCLUDE .. + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc +//SYSTEMINCLUDE \epoc32\include\mmf\plugin + + diff --git a/build.symbian/pjmediaU.def b/build.symbian/pjmediaU.def new file mode 100644 index 0000000..5d14f35 --- /dev/null +++ b/build.symbian/pjmediaU.def @@ -0,0 +1,193 @@ +EXPORTS + echo_supp_cancel_echo @ 1 NONAME + echo_supp_capture @ 2 NONAME + echo_supp_create @ 3 NONAME + echo_supp_destroy @ 4 NONAME + echo_supp_playback @ 5 NONAME + pjmedia_bidirectional_port_create @ 6 NONAME + pjmedia_calc_avg_signal @ 7 NONAME + pjmedia_clock_create @ 8 NONAME + pjmedia_clock_destroy @ 9 NONAME + pjmedia_clock_start @ 10 NONAME + pjmedia_clock_stop @ 11 NONAME + pjmedia_clock_wait @ 12 NONAME + pjmedia_codec_g711_deinit @ 13 NONAME + pjmedia_codec_g711_init @ 14 NONAME + pjmedia_codec_info_to_id @ 15 NONAME + pjmedia_codec_mgr_alloc_codec @ 16 NONAME + pjmedia_codec_mgr_dealloc_codec @ 17 NONAME + pjmedia_codec_mgr_enum_codecs @ 18 NONAME + pjmedia_codec_mgr_find_codecs_by_id @ 19 NONAME + pjmedia_codec_mgr_get_codec_info @ 20 NONAME + pjmedia_codec_mgr_get_default_param @ 21 NONAME + pjmedia_codec_mgr_init @ 22 NONAME + pjmedia_codec_mgr_register_factory @ 23 NONAME + pjmedia_codec_mgr_set_codec_priority @ 24 NONAME + pjmedia_codec_mgr_unregister_factory @ 25 NONAME + pjmedia_conf_add_passive_port @ 26 NONAME + pjmedia_conf_add_port @ 27 NONAME + pjmedia_conf_adjust_rx_level @ 28 NONAME + pjmedia_conf_adjust_tx_level @ 29 NONAME + pjmedia_conf_configure_port @ 30 NONAME + pjmedia_conf_connect_port @ 31 NONAME + pjmedia_conf_create @ 32 NONAME + pjmedia_conf_destroy @ 33 NONAME + pjmedia_conf_disconnect_port @ 34 NONAME + pjmedia_conf_enum_ports @ 35 NONAME + pjmedia_conf_get_connect_count @ 36 NONAME + pjmedia_conf_get_master_port @ 37 NONAME + pjmedia_conf_get_port_count @ 38 NONAME + pjmedia_conf_get_port_info @ 39 NONAME + pjmedia_conf_get_ports_info @ 40 NONAME + pjmedia_conf_get_signal_level @ 41 NONAME + pjmedia_conf_remove_port @ 42 NONAME + pjmedia_conf_set_port0_name @ 43 NONAME + pjmedia_delay_buf_create @ 44 NONAME + pjmedia_delay_buf_get @ 45 NONAME + pjmedia_delay_buf_put @ 46 NONAME + pjmedia_echo_cancel @ 47 NONAME + pjmedia_echo_capture @ 48 NONAME + pjmedia_echo_create @ 49 NONAME + pjmedia_echo_destroy @ 50 NONAME + pjmedia_echo_playback @ 51 NONAME + pjmedia_echo_port_create @ 52 NONAME + pjmedia_endpt_create @ 53 NONAME + pjmedia_endpt_create_pool @ 54 NONAME + pjmedia_endpt_create_sdp @ 55 NONAME + pjmedia_endpt_destroy @ 56 NONAME + pjmedia_endpt_dump @ 57 NONAME + pjmedia_endpt_get_codec_mgr @ 58 NONAME + pjmedia_endpt_get_ioqueue @ 59 NONAME + pjmedia_endpt_get_thread @ 60 NONAME + pjmedia_endpt_get_thread_count @ 61 NONAME + pjmedia_ice_create @ 62 NONAME + pjmedia_ice_destroy @ 63 NONAME + pjmedia_ice_get_comp @ 64 NONAME + pjmedia_ice_get_init_status @ 65 NONAME + pjmedia_ice_init_ice @ 66 NONAME + pjmedia_ice_modify_sdp @ 67 NONAME + pjmedia_ice_simulate_lost @ 68 NONAME + pjmedia_ice_start_ice @ 69 NONAME + pjmedia_ice_start_init @ 70 NONAME + pjmedia_ice_stop_ice @ 71 NONAME + pjmedia_jbuf_create @ 72 NONAME + pjmedia_jbuf_destroy @ 73 NONAME + pjmedia_jbuf_get_frame @ 74 NONAME + pjmedia_jbuf_get_state @ 75 NONAME + pjmedia_jbuf_put_frame @ 76 NONAME + pjmedia_jbuf_reset @ 77 NONAME + pjmedia_jbuf_set_adaptive @ 78 NONAME + pjmedia_jbuf_set_fixed @ 79 NONAME + pjmedia_master_port_create @ 80 NONAME + pjmedia_master_port_destroy @ 81 NONAME + pjmedia_master_port_get_dport @ 82 NONAME + pjmedia_master_port_get_uport @ 83 NONAME + pjmedia_master_port_set_dport @ 84 NONAME + pjmedia_master_port_set_uport @ 85 NONAME + pjmedia_master_port_start @ 86 NONAME + pjmedia_master_port_stop @ 87 NONAME + pjmedia_mem_capture_create @ 88 NONAME + pjmedia_mem_capture_get_size @ 89 NONAME + pjmedia_mem_capture_set_eof_cb @ 90 NONAME + pjmedia_mem_player_create @ 91 NONAME + pjmedia_mem_player_set_eof_cb @ 92 NONAME + pjmedia_null_port_create @ 93 NONAME + pjmedia_plc_create @ 94 NONAME + pjmedia_plc_generate @ 95 NONAME + pjmedia_plc_save @ 96 NONAME + pjmedia_port_destroy @ 97 NONAME + pjmedia_port_get_frame @ 98 NONAME + pjmedia_port_info_init @ 99 NONAME + pjmedia_port_put_frame @ 100 NONAME + pjmedia_resample_create @ 101 NONAME + pjmedia_resample_destroy @ 102 NONAME + pjmedia_resample_get_input_size @ 103 NONAME + pjmedia_resample_port_create @ 104 NONAME + pjmedia_resample_run @ 105 NONAME + pjmedia_rtcp_build_rtcp @ 106 NONAME + pjmedia_rtcp_fini @ 107 NONAME + pjmedia_rtcp_get_ntp_time @ 108 NONAME + pjmedia_rtcp_init @ 109 NONAME + pjmedia_rtcp_rx_rtcp @ 110 NONAME + pjmedia_rtcp_rx_rtp @ 111 NONAME + pjmedia_rtcp_tx_rtp @ 112 NONAME + pjmedia_rtp_decode_rtp @ 113 NONAME + pjmedia_rtp_encode_rtp @ 114 NONAME + pjmedia_rtp_session_init @ 115 NONAME + pjmedia_rtp_session_update @ 116 NONAME + pjmedia_session_check_dtmf @ 117 NONAME + pjmedia_session_create @ 118 NONAME + pjmedia_session_destroy @ 119 NONAME + pjmedia_session_dial_dtmf @ 120 NONAME + pjmedia_session_enum_streams @ 121 NONAME + pjmedia_session_get_dtmf @ 122 NONAME + pjmedia_session_get_info @ 123 NONAME + pjmedia_session_get_port @ 124 NONAME + pjmedia_session_get_stream_stat @ 125 NONAME + pjmedia_session_info_from_sdp @ 126 NONAME + pjmedia_session_pause @ 127 NONAME + pjmedia_session_pause_stream @ 128 NONAME + pjmedia_session_resume @ 129 NONAME + pjmedia_session_resume_stream @ 130 NONAME + pjmedia_session_set_dtmf_callback @ 131 NONAME + pjmedia_silence_det_apply @ 132 NONAME + pjmedia_silence_det_create @ 133 NONAME + pjmedia_silence_det_detect @ 134 NONAME + pjmedia_silence_det_disable @ 135 NONAME + pjmedia_silence_det_set_adaptive @ 136 NONAME + pjmedia_silence_det_set_fixed @ 137 NONAME + pjmedia_silence_det_set_name @ 138 NONAME + pjmedia_silence_det_set_params @ 139 NONAME + pjmedia_snd_port_connect @ 140 NONAME + pjmedia_snd_port_create @ 141 NONAME + pjmedia_snd_port_create_player @ 142 NONAME + pjmedia_snd_port_create_rec @ 143 NONAME + pjmedia_snd_port_destroy @ 144 NONAME + pjmedia_snd_port_disconnect @ 145 NONAME + pjmedia_snd_port_get_ec_tail @ 146 NONAME + pjmedia_snd_port_get_port @ 147 NONAME + pjmedia_snd_port_get_snd_stream @ 148 NONAME + pjmedia_snd_port_set_ec @ 149 NONAME + pjmedia_splitcomb_create @ 150 NONAME + pjmedia_splitcomb_create_rev_channel @ 151 NONAME + pjmedia_splitcomb_set_channel @ 152 NONAME + pjmedia_stream_check_dtmf @ 153 NONAME + pjmedia_stream_create @ 154 NONAME + pjmedia_stream_destroy @ 155 NONAME + pjmedia_stream_dial_dtmf @ 156 NONAME + pjmedia_stream_get_dtmf @ 157 NONAME + pjmedia_stream_get_port @ 158 NONAME + pjmedia_stream_get_stat @ 159 NONAME + pjmedia_stream_get_transport @ 160 NONAME + pjmedia_stream_info_from_sdp @ 161 NONAME + pjmedia_stream_pause @ 162 NONAME + pjmedia_stream_resume @ 163 NONAME + pjmedia_stream_set_dtmf_callback @ 164 NONAME + pjmedia_stream_start @ 165 NONAME + pjmedia_strerror @ 166 NONAME + pjmedia_tonegen_create @ 167 NONAME + pjmedia_tonegen_create2 @ 168 NONAME + pjmedia_tonegen_get_digit_map @ 169 NONAME + pjmedia_tonegen_is_busy @ 170 NONAME + pjmedia_tonegen_play @ 171 NONAME + pjmedia_tonegen_play_digits @ 172 NONAME + pjmedia_tonegen_set_digit_map @ 173 NONAME + pjmedia_tonegen_stop @ 174 NONAME + pjmedia_transport_udp_attach @ 175 NONAME + pjmedia_transport_udp_close @ 176 NONAME + pjmedia_transport_udp_create @ 177 NONAME + pjmedia_transport_udp_create2 @ 178 NONAME + pjmedia_transport_udp_create3 @ 179 NONAME + pjmedia_transport_udp_get_info @ 180 NONAME + pjmedia_transport_udp_simulate_lost @ 181 NONAME + pjmedia_wav_player_port_create @ 182 NONAME + pjmedia_wav_player_port_get_pos @ 183 NONAME + pjmedia_wav_player_port_set_pos @ 184 NONAME + pjmedia_wav_player_set_eof_cb @ 185 NONAME + pjmedia_wav_playlist_create @ 186 NONAME + pjmedia_wav_playlist_set_eof_cb @ 187 NONAME + pjmedia_wav_writer_port_create @ 188 NONAME + pjmedia_wav_writer_port_get_pos @ 189 NONAME + pjmedia_wav_writer_port_set_cb @ 190 NONAME + pjmedia_wave_hdr_file_to_host @ 191 NONAME + pjmedia_wave_hdr_host_to_file @ 192 NONAME diff --git a/build.symbian/pjmedia_audiodev.mmp b/build.symbian/pjmedia_audiodev.mmp new file mode 100644 index 0000000..a80cfeb --- /dev/null +++ b/build.symbian/pjmedia_audiodev.mmp @@ -0,0 +1,33 @@ +TARGET pjmedia_audiodev.lib +TARGETTYPE lib + +SOURCEPATH ..\pjmedia\src\pjmedia-audiodev + +// +// GCCE optimization setting +// +//OPTION GCCE -O2 -fno-unit-at-a-time +OPTION ARMCC --gnu + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +SOURCE audiodev.c +SOURCE errno.c +SOURCE symb_aps_dev.cpp +SOURCE symb_mda_dev.cpp +SOURCE symb_vas_dev.cpp +SOURCE null_dev.c + +SYSTEMINCLUDE ..\pjmedia\include +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\pjlib-util\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc +SYSTEMINCLUDE \epoc32\include\mmf\server +SYSTEMINCLUDE \epoc32\include\mmf\common +SYSTEMINCLUDE \epoc32\include\mda\common +SYSTEMINCLUDE \epoc32\include\mmf\plugin + + diff --git a/build.symbian/pjnath.mmp b/build.symbian/pjnath.mmp new file mode 100644 index 0000000..76b64dd --- /dev/null +++ b/build.symbian/pjnath.mmp @@ -0,0 +1,65 @@ +#if defined(PJ_BUILD_DLL) +TARGET pjnath.dll +TARGETTYPE dll +UID 0x0 0xA0000005 + +CAPABILITY None +LIBRARY pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib +MACRO PJ_DLL +MACRO PJ_EXPORTING + +DEFFILE .\pjnath.def + +#else + +TARGET pjnath.lib +TARGETTYPE lib + +#endif + +OPTION ARMCC --gnu + +SOURCEPATH ..\pjnath\src\pjnath + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// +// PJNATH files +// +SOURCE errno.c +SOURCE ice_session.c +SOURCE ice_strans.c +SOURCE nat_detect.c +SOURCE stun_auth.c +SOURCE stun_msg.c +SOURCE stun_msg_dump.c +SOURCE stun_session.c +SOURCE stun_sock.c +SOURCE stun_transaction.c +SOURCE turn_session.c +SOURCE turn_sock.c + +// +// Include files +// +//DOCUMENT pjnath\config.h +//DOCUMENT pjnath\\errno.h +//DOCUMENT pjnath\\ice_session.h +//DOCUMENT pjnath\\ice_strans.h +//DOCUMENT pjnath\\stun_auth.h +//DOCUMENT pjnath\\stun_config.h +//DOCUMENT pjnath\\stun_msg.h +//DOCUMENT pjnath\\stun_session.h +//DOCUMENT pjnath\\stun_transaction.h +//DOCUMENT pjnath\\types.h + + + +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\pjlib-util\include +SYSTEMINCLUDE ..\pjnath\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + diff --git a/build.symbian/pjnathU.def b/build.symbian/pjnathU.def new file mode 100644 index 0000000..db4c282 --- /dev/null +++ b/build.symbian/pjnathU.def @@ -0,0 +1,88 @@ +EXPORTS + pj_ice_calc_foundation @ 1 NONAME + pj_ice_get_cand_type_name @ 2 NONAME + pj_ice_sess_add_cand @ 3 NONAME + pj_ice_sess_change_role @ 4 NONAME + pj_ice_sess_create @ 5 NONAME + pj_ice_sess_create_check_list @ 6 NONAME + pj_ice_sess_destroy @ 7 NONAME + pj_ice_sess_find_default_cand @ 8 NONAME + pj_ice_sess_on_rx_pkt @ 9 NONAME + pj_ice_sess_send_data @ 10 NONAME + pj_ice_sess_set_prefs @ 11 NONAME + pj_ice_sess_start_check @ 12 NONAME + pj_ice_strans_add_cand @ 13 NONAME + pj_ice_strans_create @ 14 NONAME + pj_ice_strans_create_comp @ 15 NONAME + pj_ice_strans_destroy @ 16 NONAME + pj_ice_strans_enum_cands @ 17 NONAME + pj_ice_strans_get_comps_status @ 18 NONAME + pj_ice_strans_init_ice @ 19 NONAME + pj_ice_strans_sendto @ 20 NONAME + pj_ice_strans_set_stun_domain @ 21 NONAME + pj_ice_strans_set_stun_srv @ 22 NONAME + pj_ice_strans_start_ice @ 23 NONAME + pj_ice_strans_stop_ice @ 24 NONAME + pj_stun_auth_cred_dup @ 25 NONAME + pj_stun_auth_valid_for_msg @ 26 NONAME + pj_stun_authenticate_request @ 27 NONAME + pj_stun_authenticate_response @ 28 NONAME + pj_stun_binary_attr_create @ 29 NONAME + pj_stun_client_tsx_create @ 30 NONAME + pj_stun_client_tsx_destroy @ 31 NONAME + pj_stun_client_tsx_get_data @ 32 NONAME + pj_stun_client_tsx_is_complete @ 33 NONAME + pj_stun_client_tsx_on_rx_msg @ 34 NONAME + pj_stun_client_tsx_retransmit @ 35 NONAME + pj_stun_client_tsx_schedule_destroy @ 36 NONAME + pj_stun_client_tsx_send_msg @ 37 NONAME + pj_stun_client_tsx_set_data @ 38 NONAME + pj_stun_create_key @ 39 NONAME + pj_stun_detect_nat_type @ 40 NONAME + pj_stun_empty_attr_create @ 41 NONAME + pj_stun_errcode_attr_create @ 42 NONAME + pj_stun_get_attr_name @ 43 NONAME + pj_stun_get_class_name @ 44 NONAME + pj_stun_get_err_reason @ 45 NONAME + pj_stun_get_method_name @ 46 NONAME + pj_stun_get_nat_name @ 47 NONAME + pj_stun_msg_add_attr @ 48 NONAME + pj_stun_msg_add_binary_attr @ 49 NONAME + pj_stun_msg_add_empty_attr @ 50 NONAME + pj_stun_msg_add_errcode_attr @ 51 NONAME + pj_stun_msg_add_msgint_attr @ 52 NONAME + pj_stun_msg_add_sockaddr_attr @ 53 NONAME + pj_stun_msg_add_string_attr @ 54 NONAME + pj_stun_msg_add_uint64_attr @ 55 NONAME + pj_stun_msg_add_uint_attr @ 56 NONAME + pj_stun_msg_add_unknown_attr @ 57 NONAME + pj_stun_msg_check @ 58 NONAME + pj_stun_msg_create @ 59 NONAME + pj_stun_msg_create_response @ 60 NONAME + pj_stun_msg_decode @ 61 NONAME + pj_stun_msg_destroy_tdata @ 62 NONAME + pj_stun_msg_dump @ 63 NONAME + pj_stun_msg_encode @ 64 NONAME + pj_stun_msg_find_attr @ 65 NONAME + pj_stun_msgint_attr_create @ 66 NONAME + pj_stun_session_cancel_req @ 67 NONAME + pj_stun_session_create @ 68 NONAME + pj_stun_session_create_ind @ 69 NONAME + pj_stun_session_create_req @ 70 NONAME + pj_stun_session_create_res @ 71 NONAME + pj_stun_session_destroy @ 72 NONAME + pj_stun_session_get_user_data @ 73 NONAME + pj_stun_session_on_rx_pkt @ 74 NONAME + pj_stun_session_retransmit_req @ 75 NONAME + pj_stun_session_send_msg @ 76 NONAME + pj_stun_session_set_credential @ 77 NONAME + pj_stun_session_set_server_name @ 78 NONAME + pj_stun_session_set_user_data @ 79 NONAME + pj_stun_set_padding_char @ 80 NONAME + pj_stun_sockaddr_attr_create @ 81 NONAME + pj_stun_string_attr_create @ 82 NONAME + pj_stun_uint64_attr_create @ 83 NONAME + pj_stun_uint_attr_create @ 84 NONAME + pj_stun_unknown_attr_create @ 85 NONAME + pjnath_init @ 86 NONAME + pjnath_perror @ 87 NONAME diff --git a/build.symbian/pjproject.cww b/build.symbian/pjproject.cww new file mode 100644 index 0000000..17e1d4c --- /dev/null +++ b/build.symbian/pjproject.cww @@ -0,0 +1,386 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + -1 + 0 + true + pjlib.mcp + + 0 + 0 + + + 347 + 128 + + + 1 + 0 + 0 + 59420 + 1.000000 + 350 + + 4294967294 + 4294967294 + + + + + -1 + 0 + pjlib_util.mcp + + 0 + 0 + + + 347 + 128 + + + 1 + 0 + 0 + 59420 + 1.000000 + 350 + + 4294967294 + 4294967294 + + + + + -1 + 0 + pjnath.mcp + + 0 + 0 + + + 347 + 128 + + + 1 + 0 + 0 + 59420 + 1.000000 + 350 + + 4294967294 + 4294967294 + + + + + -1 + 0 + null_audio.mcp + + 0 + 0 + + + 347 + 128 + + + 1 + 0 + 0 + 59420 + 1.000000 + 350 + + 4294967294 + 4294967294 + + + + + -1 + 0 + pjsdp.mcp + + 0 + 0 + + + 347 + 128 + + + 1 + 0 + 0 + 59420 + 1.000000 + 350 + + 4294967294 + 4294967294 + + + + + -1 + 0 + pjmedia.mcp + + 0 + 0 + + + 347 + 128 + + + 1 + 0 + 0 + 59420 + 1.000000 + 350 + + 4294967294 + 4294967294 + + + + + -1 + 0 + pjsip.mcp + + 0 + 0 + + + 347 + 128 + + + 1 + 0 + 0 + 59420 + 1.000000 + 350 + + 4294967294 + 4294967294 + + + + + -1 + 0 + pjsip_simple.mcp + + 0 + 0 + + + 347 + 128 + + + 1 + 0 + 0 + 59420 + 1.000000 + 350 + + 4294967294 + 4294967294 + + + + + -1 + 0 + pjsip_ua.mcp + + 0 + 0 + + + 347 + 128 + + + 1 + 0 + 0 + 59420 + 1.000000 + 350 + + 4294967294 + 4294967294 + + + + + -1 + 0 + pjsua_lib.mcp + + 0 + 0 + + + 347 + 128 + + + 1 + 0 + 0 + 59420 + 1.000000 + 350 + + 4294967294 + 4294967294 + + + + + -1 + 0 + symbian_ua.mcp + + 0 + 0 + + + 347 + 128 + + + 1 + 0 + 0 + 59420 + 1.000000 + 350 + + 4294967294 + 4294967294 + + + + + -2147483648 + 20 + + 4 + 23 + + + 1464 + 3681 + + + 0 + + + + + + + + + + + + + -2147483648 + 36 + + 4 + 23 + + + 366 + 354 + + + 0 + + + + + + + + + + + + + -2147483648 + 23 + + 6 + 81 + + + 566 + 477 + + + 0 + + + + + + + + + + + + diff --git a/build.symbian/pjsdp.mmp b/build.symbian/pjsdp.mmp new file mode 100644 index 0000000..e165704 --- /dev/null +++ b/build.symbian/pjsdp.mmp @@ -0,0 +1,46 @@ +#if defined(PJ_BUILD_DLL) +TARGET pjsdp.dll +TARGETTYPE dll +UID 0x0 0xA0000006 + +CAPABILITY None +LIBRARY pjlib_util.lib pjlib.lib charconv.lib euser.lib estlib.lib +MACRO PJ_DLL +MACRO PJ_EXPORTING + +DEFFILE .\pjsdp.def + +#else + +TARGET pjsdp.lib +TARGETTYPE lib + +#endif + +SOURCEPATH ..\pjmedia\src\pjmedia + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// Must compile as C++, otherwise exception would not work +OPTION CW -lang c++ +OPTION ARMCC --cpp --gnu +OPTION GCC -x c++ +OPTION GCCE -x c++ + +// +// Platform independent source +// +SOURCE errno.c +SOURCE sdp_wrap.cpp +SOURCE sdp_cmp.c +SOURCE sdp_neg.c + + +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\pjlib-util\include +SYSTEMINCLUDE ..\pjmedia\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + diff --git a/build.symbian/pjsdpU.def b/build.symbian/pjsdpU.def new file mode 100644 index 0000000..569193d --- /dev/null +++ b/build.symbian/pjsdpU.def @@ -0,0 +1,45 @@ +EXPORTS + pjmedia_sdp_attr_add @ 1 NONAME + pjmedia_sdp_attr_clone @ 2 NONAME + pjmedia_sdp_attr_create @ 3 NONAME + pjmedia_sdp_attr_find @ 4 NONAME + pjmedia_sdp_attr_find2 @ 5 NONAME + pjmedia_sdp_attr_get_fmtp @ 6 NONAME + pjmedia_sdp_attr_get_rtcp @ 7 NONAME + pjmedia_sdp_attr_get_rtpmap @ 8 NONAME + pjmedia_sdp_attr_remove @ 9 NONAME + pjmedia_sdp_attr_remove_all @ 10 NONAME + pjmedia_sdp_attr_to_rtpmap @ 11 NONAME + pjmedia_sdp_conn_clone @ 12 NONAME + pjmedia_sdp_media_add_attr @ 13 NONAME + pjmedia_sdp_media_clone @ 14 NONAME + pjmedia_sdp_media_cmp @ 15 NONAME + pjmedia_sdp_media_find_attr @ 16 NONAME + pjmedia_sdp_media_find_attr2 @ 17 NONAME + pjmedia_sdp_media_remove_all_attr @ 18 NONAME + pjmedia_sdp_media_remove_attr @ 19 NONAME + pjmedia_sdp_neg_cancel_offer @ 20 NONAME + pjmedia_sdp_neg_create_w_local_offer @ 21 NONAME + pjmedia_sdp_neg_create_w_remote_offer @ 22 NONAME + pjmedia_sdp_neg_get_active_local @ 23 NONAME + pjmedia_sdp_neg_get_active_remote @ 24 NONAME + pjmedia_sdp_neg_get_neg_local @ 25 NONAME + pjmedia_sdp_neg_get_neg_remote @ 26 NONAME + pjmedia_sdp_neg_get_state @ 27 NONAME + pjmedia_sdp_neg_has_local_answer @ 28 NONAME + pjmedia_sdp_neg_modify_local_offer @ 29 NONAME + pjmedia_sdp_neg_negotiate @ 30 NONAME + pjmedia_sdp_neg_send_local_offer @ 31 NONAME + pjmedia_sdp_neg_set_local_answer @ 32 NONAME + pjmedia_sdp_neg_set_prefer_remote_codec_order @ 33 NONAME + pjmedia_sdp_neg_set_remote_answer @ 34 NONAME + pjmedia_sdp_neg_set_remote_offer @ 35 NONAME + pjmedia_sdp_neg_state_str @ 36 NONAME + pjmedia_sdp_neg_was_answer_remote @ 37 NONAME + pjmedia_sdp_parse @ 38 NONAME + pjmedia_sdp_print @ 39 NONAME + pjmedia_sdp_rtpmap_to_attr @ 40 NONAME + pjmedia_sdp_session_clone @ 41 NONAME + pjmedia_sdp_session_cmp @ 42 NONAME + pjmedia_sdp_validate @ 43 NONAME + pjmedia_strerror @ 44 NONAME diff --git a/build.symbian/pjsip.mmp b/build.symbian/pjsip.mmp new file mode 100644 index 0000000..1fd7440 --- /dev/null +++ b/build.symbian/pjsip.mmp @@ -0,0 +1,69 @@ +#if defined(PJ_BUILD_DLL) + +TARGET pjsip.dll +TARGETTYPE dll + +UID 0x0 0xA0000007 + + +CAPABILITY None +LIBRARY pjsdp.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib +MACRO PJ_DLL +MACRO PJ_EXPORTING + +DEFFILE .\pjsip.def + +#else + +TARGET pjsip.lib +TARGETTYPE lib + +#endif + +SOURCEPATH ..\pjsip\src\pjsip + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// Must compile as C++, otherwise exception would not work +OPTION CW -lang c++ +OPTION ARMCC --cpp --gnu +OPTION GCC -x c++ +OPTION GCCE -x c++ + +// PJSIP-CORE files + +//SOURCE sip_auth_aka.c +SOURCE sip_auth_client.c +SOURCE sip_auth_msg.c +SOURCE sip_auth_parser_wrap.cpp +SOURCE sip_auth_server.c +SOURCE sip_config.c +SOURCE sip_dialog_wrap.cpp +SOURCE sip_endpoint_wrap.cpp +SOURCE sip_errno.c +SOURCE sip_msg.c +SOURCE sip_multipart.c +SOURCE sip_parser_wrap.cpp +SOURCE sip_resolve.c +SOURCE sip_tel_uri_wrap.cpp +SOURCE sip_transaction.c +SOURCE sip_transport_wrap.cpp +SOURCE sip_transport_loop.c +SOURCE sip_transport_tcp.c +SOURCE sip_transport_udp.c +SOURCE sip_transport_tls.c +SOURCE sip_ua_layer.c +SOURCE sip_uri.c +SOURCE sip_util_wrap.cpp +SOURCE sip_util_proxy_wrap.cpp +SOURCE sip_util_statefull.c + +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\pjlib-util\include +SYSTEMINCLUDE ..\pjsip\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + + diff --git a/build.symbian/pjsipU.def b/build.symbian/pjsipU.def new file mode 100644 index 0000000..68d31eb --- /dev/null +++ b/build.symbian/pjsipU.def @@ -0,0 +1,280 @@ +EXPORTS + pjsip_accept_hdr_create @ 1 NONAME + pjsip_accept_hdr_init @ 2 NONAME + pjsip_ack_method @ 3 NONAME + pjsip_allow_hdr_create @ 4 NONAME + pjsip_allow_hdr_init @ 5 NONAME + pjsip_auth_clt_clone @ 6 NONAME + pjsip_auth_clt_get_prefs @ 7 NONAME + pjsip_auth_clt_init @ 8 NONAME + pjsip_auth_clt_init_req @ 9 NONAME + pjsip_auth_clt_reinit_req @ 10 NONAME + pjsip_auth_clt_set_credentials @ 11 NONAME + pjsip_auth_clt_set_prefs @ 12 NONAME + pjsip_auth_create_digest @ 13 NONAME + pjsip_auth_deinit_parser @ 14 NONAME + pjsip_auth_init_parser @ 15 NONAME + pjsip_auth_srv_challenge @ 16 NONAME + pjsip_auth_srv_init @ 17 NONAME + pjsip_auth_srv_verify @ 18 NONAME + pjsip_authorization_hdr_create @ 19 NONAME + pjsip_bye_method @ 20 NONAME + pjsip_calculate_branch_id @ 21 NONAME + pjsip_cancel_method @ 22 NONAME + pjsip_cid_hdr_create @ 23 NONAME + pjsip_cid_hdr_init @ 24 NONAME + pjsip_clen_hdr_create @ 25 NONAME + pjsip_clen_hdr_init @ 26 NONAME + pjsip_clone_text_data @ 27 NONAME + pjsip_concat_param_imp @ 28 NONAME + pjsip_contact_hdr_create @ 29 NONAME + pjsip_contact_hdr_init @ 30 NONAME + pjsip_cred_info_dup @ 31 NONAME + pjsip_cseq_hdr_create @ 32 NONAME + pjsip_cseq_hdr_init @ 33 NONAME + pjsip_ctype_hdr_create @ 34 NONAME + pjsip_ctype_hdr_init @ 35 NONAME + pjsip_dlg_add_usage @ 36 NONAME + pjsip_dlg_create_request @ 37 NONAME + pjsip_dlg_create_response @ 38 NONAME + pjsip_dlg_create_uac @ 39 NONAME + pjsip_dlg_create_uas @ 40 NONAME + pjsip_dlg_dec_lock @ 41 NONAME + pjsip_dlg_dec_session @ 42 NONAME + pjsip_dlg_fork @ 43 NONAME + pjsip_dlg_get_mod_data @ 44 NONAME + pjsip_dlg_inc_lock @ 45 NONAME + pjsip_dlg_inc_session @ 46 NONAME + pjsip_dlg_modify_response @ 47 NONAME + pjsip_dlg_respond @ 48 NONAME + pjsip_dlg_send_request @ 49 NONAME + pjsip_dlg_send_response @ 50 NONAME + pjsip_dlg_set_mod_data @ 51 NONAME + pjsip_dlg_set_route_set @ 52 NONAME + pjsip_dlg_set_transport @ 53 NONAME + pjsip_dlg_terminate @ 54 NONAME + pjsip_dlg_try_inc_lock @ 55 NONAME + pjsip_endpt_acquire_transport @ 56 NONAME + pjsip_endpt_add_capability @ 57 NONAME + pjsip_endpt_cancel_timer @ 58 NONAME + pjsip_endpt_create @ 59 NONAME + pjsip_endpt_create_ack @ 60 NONAME + pjsip_endpt_create_cancel @ 61 NONAME + pjsip_endpt_create_pool @ 62 NONAME + pjsip_endpt_create_request @ 63 NONAME + pjsip_endpt_create_request_from_hdr @ 64 NONAME + pjsip_endpt_create_request_fwd @ 65 NONAME + pjsip_endpt_create_resolver @ 66 NONAME + pjsip_endpt_create_response @ 67 NONAME + pjsip_endpt_create_response_fwd @ 68 NONAME + pjsip_endpt_create_tdata @ 69 NONAME + pjsip_endpt_destroy @ 70 NONAME + pjsip_endpt_dump @ 71 NONAME + pjsip_endpt_get_capability @ 72 NONAME + pjsip_endpt_get_ioqueue @ 73 NONAME + pjsip_endpt_get_request_headers @ 74 NONAME + pjsip_endpt_get_resolver @ 75 NONAME + pjsip_endpt_get_timer_heap @ 76 NONAME + pjsip_endpt_get_tpmgr @ 77 NONAME + pjsip_endpt_handle_events @ 78 NONAME + pjsip_endpt_handle_events2 @ 79 NONAME + pjsip_endpt_has_capability @ 80 NONAME + pjsip_endpt_log_error @ 81 NONAME + pjsip_endpt_name @ 82 NONAME + pjsip_endpt_register_module @ 83 NONAME + pjsip_endpt_release_pool @ 84 NONAME + pjsip_endpt_resolve @ 85 NONAME + pjsip_endpt_respond @ 86 NONAME + pjsip_endpt_respond_stateless @ 87 NONAME + pjsip_endpt_schedule_timer @ 88 NONAME + pjsip_endpt_send_raw @ 89 NONAME + pjsip_endpt_send_raw_to_uri @ 90 NONAME + pjsip_endpt_send_request @ 91 NONAME + pjsip_endpt_send_request_stateless @ 92 NONAME + pjsip_endpt_send_response @ 93 NONAME + pjsip_endpt_send_response2 @ 94 NONAME + pjsip_endpt_set_resolver @ 95 NONAME + pjsip_endpt_unregister_module @ 96 NONAME + pjsip_event_str @ 97 NONAME + pjsip_expires_hdr_create @ 98 NONAME + pjsip_expires_hdr_init @ 99 NONAME + pjsip_find_msg @ 100 NONAME + pjsip_from_hdr_create @ 101 NONAME + pjsip_from_hdr_init @ 102 NONAME + pjsip_fromto_hdr_set_from @ 103 NONAME + pjsip_fromto_hdr_set_to @ 104 NONAME + pjsip_generic_array_hdr_create @ 105 NONAME + pjsip_generic_array_hdr_init @ 106 NONAME + pjsip_generic_int_hdr_create @ 107 NONAME + pjsip_generic_int_hdr_init @ 108 NONAME + pjsip_generic_string_hdr_create @ 109 NONAME + pjsip_generic_string_hdr_init @ 110 NONAME + pjsip_generic_string_hdr_init2 @ 111 NONAME + pjsip_get_ack_method @ 112 NONAME + pjsip_get_bye_method @ 113 NONAME + pjsip_get_cancel_method @ 114 NONAME + pjsip_get_invite_method @ 115 NONAME + pjsip_get_options_method @ 116 NONAME + pjsip_get_register_method @ 117 NONAME + pjsip_get_request_dest @ 118 NONAME + pjsip_get_response_addr @ 119 NONAME + pjsip_get_status_text @ 120 NONAME + pjsip_hdr_clone @ 121 NONAME + pjsip_hdr_print_on @ 122 NONAME + pjsip_hdr_shallow_clone @ 123 NONAME + pjsip_invite_method @ 124 NONAME + pjsip_loop_set_delay @ 125 NONAME + pjsip_loop_set_discard @ 126 NONAME + pjsip_loop_set_failure @ 127 NONAME + pjsip_loop_set_recv_delay @ 128 NONAME + pjsip_loop_set_send_callback_delay @ 129 NONAME + pjsip_loop_start @ 130 NONAME + pjsip_max_fwd_hdr_create @ 131 NONAME + pjsip_max_fwd_hdr_init @ 132 NONAME + pjsip_method_cmp @ 133 NONAME + pjsip_method_copy @ 134 NONAME + pjsip_method_creates_dialog @ 135 NONAME + pjsip_method_init @ 136 NONAME + pjsip_method_init_np @ 137 NONAME + pjsip_method_set @ 138 NONAME + pjsip_min_expires_hdr_create @ 139 NONAME + pjsip_min_expires_hdr_init @ 140 NONAME + pjsip_msg_body_clone @ 141 NONAME + pjsip_msg_body_copy @ 142 NONAME + pjsip_msg_body_create @ 143 NONAME + pjsip_msg_clone @ 144 NONAME + pjsip_msg_create @ 145 NONAME + pjsip_msg_find_hdr @ 146 NONAME + pjsip_msg_find_hdr_by_name @ 147 NONAME + pjsip_msg_find_remove_hdr @ 148 NONAME + pjsip_msg_print @ 149 NONAME + pjsip_name_addr_assign @ 150 NONAME + pjsip_name_addr_create @ 151 NONAME + pjsip_name_addr_init @ 152 NONAME + pjsip_options_method @ 153 NONAME + pjsip_param_cfind @ 154 NONAME + pjsip_param_clone @ 155 NONAME + pjsip_param_find @ 156 NONAME + pjsip_param_print_on @ 157 NONAME + pjsip_param_shallow_clone @ 158 NONAME + pjsip_parse_end_hdr_imp @ 159 NONAME + pjsip_parse_hdr @ 160 NONAME + pjsip_parse_msg @ 161 NONAME + pjsip_parse_param_imp @ 162 NONAME + pjsip_parse_rdata @ 163 NONAME + pjsip_parse_status_line @ 164 NONAME + pjsip_parse_uri @ 165 NONAME + pjsip_parse_uri_param_imp @ 166 NONAME + pjsip_parser_const @ 167 NONAME + pjsip_print_text_body @ 168 NONAME + pjsip_process_route_set @ 169 NONAME + pjsip_proxy_authenticate_hdr_create @ 170 NONAME + pjsip_proxy_authorization_hdr_create @ 171 NONAME + pjsip_rdata_get_dlg @ 172 NONAME + pjsip_rdata_get_tsx @ 173 NONAME + pjsip_register_hdr_parser @ 174 NONAME + pjsip_register_method @ 175 NONAME + pjsip_register_uri_parser @ 176 NONAME + pjsip_require_hdr_create @ 177 NONAME + pjsip_require_hdr_init @ 178 NONAME + pjsip_resolve @ 179 NONAME + pjsip_resolver_create @ 180 NONAME + pjsip_resolver_destroy @ 181 NONAME + pjsip_resolver_get_resolver @ 182 NONAME + pjsip_resolver_set_resolver @ 183 NONAME + pjsip_retry_after_hdr_create @ 184 NONAME + pjsip_retry_after_hdr_init @ 185 NONAME + pjsip_role_name @ 186 NONAME + pjsip_route_hdr_create @ 187 NONAME + pjsip_route_hdr_init @ 188 NONAME + pjsip_routing_hdr_set_route @ 189 NONAME + pjsip_routing_hdr_set_rr @ 190 NONAME + pjsip_rr_hdr_create @ 191 NONAME + pjsip_rr_hdr_init @ 192 NONAME + pjsip_rx_data_get_info @ 193 NONAME + pjsip_sip_uri_assign @ 194 NONAME + pjsip_sip_uri_create @ 195 NONAME + pjsip_sip_uri_init @ 196 NONAME + pjsip_sip_uri_set_secure @ 197 NONAME + pjsip_strerror @ 198 NONAME + pjsip_supported_hdr_create @ 199 NONAME + pjsip_supported_hdr_init @ 200 NONAME + pjsip_tcp_transport_start @ 201 NONAME + pjsip_tcp_transport_start2 @ 202 NONAME + pjsip_tel_nb_cmp @ 203 NONAME + pjsip_tel_uri_create @ 204 NONAME + pjsip_to_hdr_create @ 205 NONAME + pjsip_to_hdr_init @ 206 NONAME + pjsip_tpmgr_acquire_transport @ 207 NONAME + pjsip_tpmgr_create @ 208 NONAME + pjsip_tpmgr_destroy @ 209 NONAME + pjsip_tpmgr_dump_transports @ 210 NONAME + pjsip_tpmgr_find_local_addr @ 211 NONAME + pjsip_tpmgr_get_transport_count @ 212 NONAME + pjsip_tpmgr_receive_packet @ 213 NONAME + pjsip_tpmgr_register_tpfactory @ 214 NONAME + pjsip_tpmgr_send_raw @ 215 NONAME + pjsip_tpmgr_unregister_tpfactory @ 216 NONAME + pjsip_tpselector_add_ref @ 217 NONAME + pjsip_tpselector_dec_ref @ 218 NONAME + pjsip_transport_add_ref @ 219 NONAME + pjsip_transport_dec_ref @ 220 NONAME + pjsip_transport_destroy @ 221 NONAME + pjsip_transport_get_default_port_for_type @ 222 NONAME + pjsip_transport_get_flag_from_type @ 223 NONAME + pjsip_transport_get_type_desc @ 224 NONAME + pjsip_transport_get_type_from_flag @ 225 NONAME + pjsip_transport_get_type_from_name @ 226 NONAME + pjsip_transport_get_type_name @ 227 NONAME + pjsip_transport_register @ 228 NONAME + pjsip_transport_register_type @ 229 NONAME + pjsip_transport_send @ 230 NONAME + pjsip_transport_shutdown @ 231 NONAME + pjsip_transport_type_get_af @ 232 NONAME + pjsip_tsx_create_key @ 233 NONAME + pjsip_tsx_create_uac @ 234 NONAME + pjsip_tsx_create_uas @ 235 NONAME + pjsip_tsx_get_dlg @ 236 NONAME + pjsip_tsx_layer_destroy @ 237 NONAME + pjsip_tsx_layer_dump @ 238 NONAME + pjsip_tsx_layer_find_tsx @ 239 NONAME + pjsip_tsx_layer_get_tsx_count @ 240 NONAME + pjsip_tsx_layer_init_module @ 241 NONAME + pjsip_tsx_layer_instance @ 242 NONAME + pjsip_tsx_recv_msg @ 243 NONAME + pjsip_tsx_retransmit_no_state @ 244 NONAME + pjsip_tsx_send_msg @ 245 NONAME + pjsip_tsx_set_transport @ 246 NONAME + pjsip_tsx_state_str @ 247 NONAME + pjsip_tsx_stop_retransmit @ 248 NONAME + pjsip_tsx_terminate @ 249 NONAME + pjsip_tx_data_add_ref @ 250 NONAME + pjsip_tx_data_create @ 251 NONAME + pjsip_tx_data_dec_ref @ 252 NONAME + pjsip_tx_data_get_info @ 253 NONAME + pjsip_tx_data_invalidate_msg @ 254 NONAME + pjsip_tx_data_is_valid @ 255 NONAME + pjsip_tx_data_set_transport @ 256 NONAME + pjsip_ua_destroy @ 257 NONAME + pjsip_ua_dump @ 258 NONAME + pjsip_ua_find_dialog @ 259 NONAME + pjsip_ua_get_dlg_set_count @ 260 NONAME + pjsip_ua_get_endpt @ 261 NONAME + pjsip_ua_init_module @ 262 NONAME + pjsip_ua_instance @ 263 NONAME + pjsip_ua_register_dlg @ 264 NONAME + pjsip_ua_unregister_dlg @ 265 NONAME + pjsip_udp_transport_attach @ 266 NONAME + pjsip_udp_transport_attach2 @ 267 NONAME + pjsip_udp_transport_get_socket @ 268 NONAME + pjsip_udp_transport_pause @ 269 NONAME + pjsip_udp_transport_restart @ 270 NONAME + pjsip_udp_transport_start @ 271 NONAME + pjsip_udp_transport_start6 @ 272 NONAME + pjsip_unsupported_hdr_create @ 273 NONAME + pjsip_unsupported_hdr_init @ 274 NONAME + pjsip_via_hdr_create @ 275 NONAME + pjsip_via_hdr_init @ 276 NONAME + pjsip_warning_hdr_create @ 277 NONAME + pjsip_warning_hdr_create_from_status @ 278 NONAME + pjsip_www_authenticate_hdr_create @ 279 NONAME diff --git a/build.symbian/pjsip_simple.mmp b/build.symbian/pjsip_simple.mmp new file mode 100644 index 0000000..9b83a9d --- /dev/null +++ b/build.symbian/pjsip_simple.mmp @@ -0,0 +1,54 @@ +#if defined(PJ_BUILD_DLL) + +TARGET pjsip_simple.dll +TARGETTYPE dll + +UID 0x0 0xA0000008 + + +CAPABILITY None +LIBRARY pjsip.lib pjsdp.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib +MACRO PJ_DLL +MACRO PJ_EXPORTING + +DEFFILE .\pjsip_simple.def + +#else + +TARGET pjsip_simple.lib +TARGETTYPE lib + +#endif + +SOURCEPATH ..\pjsip\src\pjsip-simple + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// Must compile as C++, otherwise exception would not work +OPTION CW -lang c++ +OPTION ARMCC --cpp --gnu +OPTION GCC -x c++ +OPTION GCCE -x c++ + +// PJSIP-SIMPLE files + +SOURCE errno.c +SOURCE evsub.c +SOURCE evsub_msg.c +SOURCE iscomposing.c +SOURCE mwi.c +SOURCE pidf.c +SOURCE presence.c +SOURCE presence_body.c +SOURCE publishc.c +SOURCE rpid.c +SOURCE xpidf.c + +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\pjlib-util\include +SYSTEMINCLUDE ..\pjsip\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + diff --git a/build.symbian/pjsip_simpleU.def b/build.symbian/pjsip_simpleU.def new file mode 100644 index 0000000..7e41793 --- /dev/null +++ b/build.symbian/pjsip_simpleU.def @@ -0,0 +1,96 @@ +EXPORTS + pjpidf_create @ 1 NONAME + pjpidf_parse @ 2 NONAME + pjpidf_pres_add_note @ 3 NONAME + pjpidf_pres_add_tuple @ 4 NONAME + pjpidf_pres_construct @ 5 NONAME + pjpidf_pres_find_tuple @ 6 NONAME + pjpidf_pres_get_first_note @ 7 NONAME + pjpidf_pres_get_first_tuple @ 8 NONAME + pjpidf_pres_get_next_note @ 9 NONAME + pjpidf_pres_get_next_tuple @ 10 NONAME + pjpidf_pres_remove_tuple @ 11 NONAME + pjpidf_print @ 12 NONAME + pjpidf_status_construct @ 13 NONAME + pjpidf_status_is_basic_open @ 14 NONAME + pjpidf_status_set_basic_open @ 15 NONAME + pjpidf_tuple_add_note @ 16 NONAME + pjpidf_tuple_construct @ 17 NONAME + pjpidf_tuple_get_contact @ 18 NONAME + pjpidf_tuple_get_contact_prio @ 19 NONAME + pjpidf_tuple_get_first_note @ 20 NONAME + pjpidf_tuple_get_id @ 21 NONAME + pjpidf_tuple_get_next_note @ 22 NONAME + pjpidf_tuple_get_status @ 23 NONAME + pjpidf_tuple_get_timestamp @ 24 NONAME + pjpidf_tuple_set_contact @ 25 NONAME + pjpidf_tuple_set_contact_prio @ 26 NONAME + pjpidf_tuple_set_id @ 27 NONAME + pjpidf_tuple_set_timestamp @ 28 NONAME + pjpidf_tuple_set_timestamp_np @ 29 NONAME + pjrpid_add_element @ 30 NONAME + pjrpid_element_dup @ 31 NONAME + pjrpid_get_element @ 32 NONAME + pjsip_allow_events_hdr_create @ 33 NONAME + pjsip_event_hdr_create @ 34 NONAME + pjsip_evsub_accept @ 35 NONAME + pjsip_evsub_create_uac @ 36 NONAME + pjsip_evsub_create_uas @ 37 NONAME + pjsip_evsub_current_notify @ 38 NONAME + pjsip_evsub_get_allow_events_hdr @ 39 NONAME + pjsip_evsub_get_mod_data @ 40 NONAME + pjsip_evsub_get_state @ 41 NONAME + pjsip_evsub_get_state_name @ 42 NONAME + pjsip_evsub_init_module @ 43 NONAME + pjsip_evsub_init_parser @ 44 NONAME + pjsip_evsub_initiate @ 45 NONAME + pjsip_evsub_instance @ 46 NONAME + pjsip_evsub_notify @ 47 NONAME + pjsip_evsub_register_pkg @ 48 NONAME + pjsip_evsub_send_request @ 49 NONAME + pjsip_evsub_set_mod_data @ 50 NONAME + pjsip_evsub_terminate @ 51 NONAME + pjsip_get_notify_method @ 52 NONAME + pjsip_get_subscribe_method @ 53 NONAME + pjsip_iscomposing_create_body @ 54 NONAME + pjsip_iscomposing_create_xml @ 55 NONAME + pjsip_iscomposing_parse @ 56 NONAME + pjsip_notify_method @ 57 NONAME + pjsip_pres_accept @ 58 NONAME + pjsip_pres_create_pidf @ 59 NONAME + pjsip_pres_create_uac @ 60 NONAME + pjsip_pres_create_uas @ 61 NONAME + pjsip_pres_create_xpidf @ 62 NONAME + pjsip_pres_current_notify @ 63 NONAME + pjsip_pres_get_status @ 64 NONAME + pjsip_pres_init_module @ 65 NONAME + pjsip_pres_initiate @ 66 NONAME + pjsip_pres_instance @ 67 NONAME + pjsip_pres_notify @ 68 NONAME + pjsip_pres_parse_pidf @ 69 NONAME + pjsip_pres_parse_xpidf @ 70 NONAME + pjsip_pres_send_request @ 71 NONAME + pjsip_pres_set_status @ 72 NONAME + pjsip_pres_terminate @ 73 NONAME + pjsip_publishc_create @ 74 NONAME + pjsip_publishc_destroy @ 75 NONAME + pjsip_publishc_get_pool @ 76 NONAME + pjsip_publishc_init @ 77 NONAME + pjsip_publishc_init_module @ 78 NONAME + pjsip_publishc_publish @ 79 NONAME + pjsip_publishc_send @ 80 NONAME + pjsip_publishc_set_credentials @ 81 NONAME + pjsip_publishc_set_route_set @ 82 NONAME + pjsip_publishc_unpublish @ 83 NONAME + pjsip_publishc_update_expires @ 84 NONAME + pjsip_sub_state_hdr_create @ 85 NONAME + pjsip_subscribe_method @ 86 NONAME + pjsip_tsx_get_evsub @ 87 NONAME + pjsipsimple_strerror @ 88 NONAME + pjxpidf_create @ 89 NONAME + pjxpidf_get_status @ 90 NONAME + pjxpidf_get_uri @ 91 NONAME + pjxpidf_parse @ 92 NONAME + pjxpidf_print @ 93 NONAME + pjxpidf_set_status @ 94 NONAME + pjxpidf_set_uri @ 95 NONAME diff --git a/build.symbian/pjsip_ua.mmp b/build.symbian/pjsip_ua.mmp new file mode 100644 index 0000000..609c0a3 --- /dev/null +++ b/build.symbian/pjsip_ua.mmp @@ -0,0 +1,52 @@ +#if defined(PJ_BUILD_DLL) + +TARGET pjsip_ua.dll +TARGETTYPE dll + +UID 0x0 0xA0000009 + + +CAPABILITY None +LIBRARY pjsip_simple.lib pjsip.lib pjsdp.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib +MACRO PJ_DLL +MACRO PJ_EXPORTING + +DEFFILE .\pjsip_ua.def + +#else + +TARGET pjsip_ua.lib +TARGETTYPE lib + +#endif + +SOURCEPATH ..\pjsip\src\pjsip-ua + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// Must compile as C++, otherwise exception would not work +OPTION CW -lang c++ +OPTION ARMCC --cpp --gnu +OPTION GCC -x c++ +OPTION GCCE -x c++ + + +// PJSIP-UA files + +SOURCE sip_inv.c +SOURCE sip_reg.c +SOURCE sip_replaces.c +SOURCE sip_xfer.c +SOURCE sip_100rel.c +SOURCE sip_timer.c + +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\pjlib-util\include +SYSTEMINCLUDE ..\pjsip\include +SYSTEMINCLUDE ..\pjmedia\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + + diff --git a/build.symbian/pjsip_uaU.def b/build.symbian/pjsip_uaU.def new file mode 100644 index 0000000..0c847a9 --- /dev/null +++ b/build.symbian/pjsip_uaU.def @@ -0,0 +1,58 @@ +EXPORTS + pjsip_100rel_attach @ 1 NONAME + pjsip_100rel_create_prack @ 2 NONAME + pjsip_100rel_end_session @ 3 NONAME + pjsip_100rel_init_module @ 4 NONAME + pjsip_100rel_is_reliable @ 5 NONAME + pjsip_100rel_on_rx_prack @ 6 NONAME + pjsip_100rel_send_prack @ 7 NONAME + pjsip_100rel_tx_response @ 8 NONAME + pjsip_create_sdp_body @ 9 NONAME + pjsip_dlg_get_inv_session @ 10 NONAME + pjsip_get_prack_method @ 11 NONAME + pjsip_get_refer_method @ 12 NONAME + pjsip_inv_answer @ 13 NONAME + pjsip_inv_create_ack @ 14 NONAME + pjsip_inv_create_uac @ 15 NONAME + pjsip_inv_create_uas @ 16 NONAME + pjsip_inv_end_session @ 17 NONAME + pjsip_inv_initial_answer @ 18 NONAME + pjsip_inv_invite @ 19 NONAME + pjsip_inv_reinvite @ 20 NONAME + pjsip_inv_send_msg @ 21 NONAME + pjsip_inv_set_sdp_answer @ 22 NONAME + pjsip_inv_state_name @ 23 NONAME + pjsip_inv_terminate @ 24 NONAME + pjsip_inv_update @ 25 NONAME + pjsip_inv_usage_init @ 26 NONAME + pjsip_inv_usage_instance @ 27 NONAME + pjsip_inv_verify_request @ 28 NONAME + pjsip_prack_method @ 29 NONAME + pjsip_refer_method @ 30 NONAME + pjsip_regc_add_headers @ 31 NONAME + pjsip_regc_create @ 32 NONAME + pjsip_regc_destroy @ 33 NONAME + pjsip_regc_get_info @ 34 NONAME + pjsip_regc_get_pool @ 35 NONAME + pjsip_regc_init @ 36 NONAME + pjsip_regc_register @ 37 NONAME + pjsip_regc_send @ 38 NONAME + pjsip_regc_set_credentials @ 39 NONAME + pjsip_regc_set_prefs @ 40 NONAME + pjsip_regc_set_route_set @ 41 NONAME + pjsip_regc_set_transport @ 42 NONAME + pjsip_regc_unregister @ 43 NONAME + pjsip_regc_unregister_all @ 44 NONAME + pjsip_regc_update_contact @ 45 NONAME + pjsip_regc_update_expires @ 46 NONAME + pjsip_replaces_hdr_create @ 47 NONAME + pjsip_replaces_init_module @ 48 NONAME + pjsip_replaces_verify_request @ 49 NONAME + pjsip_xfer_accept @ 50 NONAME + pjsip_xfer_create_uac @ 51 NONAME + pjsip_xfer_create_uas @ 52 NONAME + pjsip_xfer_current_notify @ 53 NONAME + pjsip_xfer_init_module @ 54 NONAME + pjsip_xfer_initiate @ 55 NONAME + pjsip_xfer_notify @ 56 NONAME + pjsip_xfer_send_request @ 57 NONAME diff --git a/build.symbian/pjstun_client.mmp b/build.symbian/pjstun_client.mmp new file mode 100644 index 0000000..6ca5eab --- /dev/null +++ b/build.symbian/pjstun_client.mmp @@ -0,0 +1,41 @@ +TARGET pjstun_client.exe +TARGETTYPE exe +UID 0x0 0xA000000A + +OPTION ARMCC --gnu + +SOURCEPATH ..\pjnath\src\pjstun-client + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// PJSTUN-CLIENT files + +SOURCE client_main.c + +//SOURCE main_symbian.cpp + + +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\pjlib-util\include +SYSTEMINCLUDE ..\pjnath\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + +#if defined(PJ_BUILD_DLL) +MACRO PJ_DLL +LIBRARY pjnath.lib pjlib_util.lib pjlib.lib +#else +STATICLIBRARY pjnath.lib pjlib_util.lib pjlib.lib +#endif + +LIBRARY esock.lib insock.lib charconv.lib euser.lib estlib.lib + +#ifdef WINSCW +STATICLIBRARY eexe.lib ecrt0.lib +#endif + + +CAPABILITY None + diff --git a/build.symbian/pjsua_lib.mmp b/build.symbian/pjsua_lib.mmp new file mode 100644 index 0000000..0ec25ca --- /dev/null +++ b/build.symbian/pjsua_lib.mmp @@ -0,0 +1,55 @@ +#if defined(PJ_BUILD_DLL) + +TARGET pjsua_lib.dll +TARGETTYPE dll + +UID 0x0 0xA000000B + + +CAPABILITY None +LIBRARY pjsip_ua.lib pjsip_simple.lib pjsip.lib pjmedia.lib null_audio.lib pjsdp.lib pjnath.lib pjlib_util.lib pjlib.lib esock.lib insock.lib charconv.lib euser.lib estlib.lib +MACRO PJ_DLL +MACRO PJ_EXPORTING + +DEFFILE .\pjsua_lib.def + +#else + +TARGET pjsua_lib.lib +TARGETTYPE lib + +#endif + +SOURCEPATH ..\pjsip\src\pjsua-lib + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// Must compile as C++, otherwise exception would not work +OPTION CW -lang c++ +OPTION ARMCC --cpp --gnu +OPTION GCC -x c++ +OPTION GCCE -x c++ + +// PJLIB-UTIL files + +SOURCE pjsua_acc.c +SOURCE pjsua_aud.c +SOURCE pjsua_call.c +SOURCE pjsua_core.c +SOURCE pjsua_dump.c +SOURCE pjsua_im.c +SOURCE pjsua_media.c +SOURCE pjsua_pres.c +SOURCE pjsua_vid.c + +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\pjlib-util\include +SYSTEMINCLUDE ..\pjnath\include +SYSTEMINCLUDE ..\pjmedia\include +SYSTEMINCLUDE ..\pjsip\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + + diff --git a/build.symbian/pjsua_libU.def b/build.symbian/pjsua_libU.def new file mode 100644 index 0000000..911efbc --- /dev/null +++ b/build.symbian/pjsua_libU.def @@ -0,0 +1,122 @@ +EXPORTS + pjsua_acc_add @ 1 NONAME + pjsua_acc_add_local @ 2 NONAME + pjsua_acc_config_default @ 3 NONAME + pjsua_acc_config_dup @ 4 NONAME + pjsua_acc_create_request @ 5 NONAME + pjsua_acc_create_uac_contact @ 6 NONAME + pjsua_acc_create_uas_contact @ 7 NONAME + pjsua_acc_del @ 8 NONAME + pjsua_acc_enum_info @ 9 NONAME + pjsua_acc_find_for_incoming @ 10 NONAME + pjsua_acc_find_for_outgoing @ 11 NONAME + pjsua_acc_get_count @ 12 NONAME + pjsua_acc_get_default @ 13 NONAME + pjsua_acc_get_info @ 14 NONAME + pjsua_acc_is_valid @ 15 NONAME + pjsua_acc_modify @ 16 NONAME + pjsua_acc_set_default @ 17 NONAME + pjsua_acc_set_online_status @ 18 NONAME + pjsua_acc_set_online_status2 @ 19 NONAME + pjsua_acc_set_registration @ 20 NONAME + pjsua_acc_set_transport @ 21 NONAME + pjsua_buddy_add @ 22 NONAME + pjsua_buddy_config_default @ 23 NONAME + pjsua_buddy_del @ 24 NONAME + pjsua_buddy_get_info @ 25 NONAME + pjsua_buddy_is_valid @ 26 NONAME + pjsua_buddy_subscribe_pres @ 27 NONAME + pjsua_buddy_update_pres @ 28 NONAME + pjsua_call_answer @ 29 NONAME + pjsua_call_dial_dtmf @ 30 NONAME + pjsua_call_dump @ 31 NONAME + pjsua_call_get_conf_port @ 32 NONAME + pjsua_call_get_count @ 33 NONAME + pjsua_call_get_info @ 34 NONAME + pjsua_call_get_max_count @ 35 NONAME + pjsua_call_get_rem_nat_type @ 36 NONAME + pjsua_call_get_user_data @ 37 NONAME + pjsua_call_hangup @ 38 NONAME + pjsua_call_hangup_all @ 39 NONAME + pjsua_call_has_media @ 40 NONAME + pjsua_call_is_active @ 41 NONAME + pjsua_call_make_call @ 42 NONAME + pjsua_call_reinvite @ 43 NONAME + pjsua_call_send_im @ 44 NONAME + pjsua_call_send_request @ 45 NONAME + pjsua_call_send_typing_ind @ 46 NONAME + pjsua_call_set_hold @ 47 NONAME + pjsua_call_set_user_data @ 48 NONAME + pjsua_call_update @ 49 NONAME + pjsua_call_xfer @ 50 NONAME + pjsua_call_xfer_replaces @ 51 NONAME + pjsua_codec_get_param @ 52 NONAME + pjsua_codec_set_param @ 53 NONAME + pjsua_codec_set_priority @ 54 NONAME + pjsua_conf_add_port @ 55 NONAME + pjsua_conf_adjust_rx_level @ 56 NONAME + pjsua_conf_adjust_tx_level @ 57 NONAME + pjsua_conf_connect @ 58 NONAME + pjsua_conf_disconnect @ 59 NONAME + pjsua_conf_get_active_ports @ 60 NONAME + pjsua_conf_get_max_ports @ 61 NONAME + pjsua_conf_get_port_info @ 62 NONAME + pjsua_conf_get_signal_level @ 63 NONAME + pjsua_conf_remove_port @ 64 NONAME + pjsua_config_default @ 65 NONAME + pjsua_config_dup @ 66 NONAME + pjsua_create @ 67 NONAME + pjsua_destroy @ 68 NONAME + pjsua_detect_nat_type @ 69 NONAME + pjsua_dump @ 70 NONAME + pjsua_enum_accs @ 71 NONAME + pjsua_enum_buddies @ 72 NONAME + pjsua_enum_calls @ 73 NONAME + pjsua_enum_codecs @ 74 NONAME + pjsua_enum_conf_ports @ 75 NONAME + pjsua_enum_snd_devs @ 76 NONAME + pjsua_enum_transports @ 77 NONAME + pjsua_get_buddy_count @ 78 NONAME + pjsua_get_ec_tail @ 79 NONAME + pjsua_get_nat_type @ 80 NONAME + pjsua_get_pjmedia_endpt @ 81 NONAME + pjsua_get_pjsip_endpt @ 82 NONAME + pjsua_get_pool_factory @ 83 NONAME + pjsua_get_snd_dev @ 84 NONAME + pjsua_get_var @ 85 NONAME + pjsua_handle_events @ 86 NONAME + pjsua_im_send @ 87 NONAME + pjsua_im_typing @ 88 NONAME + pjsua_init @ 89 NONAME + pjsua_logging_config_default @ 90 NONAME + pjsua_logging_config_dup @ 91 NONAME + pjsua_media_config_default @ 92 NONAME + pjsua_media_transports_create @ 93 NONAME + pjsua_msg_data_init @ 94 NONAME + pjsua_perror @ 95 NONAME + pjsua_player_create @ 96 NONAME + pjsua_player_destroy @ 97 NONAME + pjsua_player_get_conf_port @ 98 NONAME + pjsua_player_get_port @ 99 NONAME + pjsua_player_set_pos @ 100 NONAME + pjsua_playlist_create @ 101 NONAME + pjsua_pool_create @ 102 NONAME + pjsua_pres_dump @ 103 NONAME + pjsua_reconfigure_logging @ 104 NONAME + pjsua_recorder_create @ 105 NONAME + pjsua_recorder_destroy @ 106 NONAME + pjsua_recorder_get_conf_port @ 107 NONAME + pjsua_recorder_get_port @ 108 NONAME + pjsua_set_ec @ 109 NONAME + pjsua_set_no_snd_dev @ 110 NONAME + pjsua_set_null_snd_dev @ 111 NONAME + pjsua_set_snd_dev @ 112 NONAME + pjsua_start @ 113 NONAME + pjsua_transport_close @ 114 NONAME + pjsua_transport_config_default @ 115 NONAME + pjsua_transport_config_dup @ 116 NONAME + pjsua_transport_create @ 117 NONAME + pjsua_transport_get_info @ 118 NONAME + pjsua_transport_register @ 119 NONAME + pjsua_transport_set_enable @ 120 NONAME + pjsua_verify_sip_url @ 121 NONAME diff --git a/build.symbian/symbian_audio.mmp b/build.symbian/symbian_audio.mmp new file mode 100644 index 0000000..bba9ce5 --- /dev/null +++ b/build.symbian/symbian_audio.mmp @@ -0,0 +1,47 @@ +#if defined(PJ_BUILD_DLL) + +TARGET symbian_audio.dll +TARGETTYPE dll +UID 0x0 0xA000000C + +CAPABILITY None +LIBRARY pjlib.lib charconv.lib euser.lib estlib.lib +LIBRARY mediaclientaudiostream.lib +LIBRARY mediaclientaudioinputstream.lib + +MACRO PJ_DLL +MACRO PJ_EXPORTING + +DEFFILE .\symbian_audio.def + +#else + +TARGET symbian_audio.lib +TARGETTYPE lib + +#endif + +SOURCEPATH ..\pjmedia\src\pjmedia + +OPTION CW -lang c++ +OPTION GCCE -O2 -fno-unit-at-a-time +OPTION ARMCC --gnu + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +SOURCE nullsound.c +SOURCE symbian_sound.cpp +SOURCE symbian_sound_aps.cpp + +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\pjmedia\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc +SYSTEMINCLUDE \epoc32\include\mmf\server +SYSTEMINCLUDE \epoc32\include\mmf\common +SYSTEMINCLUDE \epoc32\include\mda\common + +SYSTEMINCLUDE \epoc32\include\mmf\plugin + diff --git a/build.symbian/symbian_audioU.def b/build.symbian/symbian_audioU.def new file mode 100644 index 0000000..883d5d8 --- /dev/null +++ b/build.symbian/symbian_audioU.def @@ -0,0 +1,12 @@ +EXPORTS + pjmedia_snd_deinit @ 1 NONAME + pjmedia_snd_get_dev_count @ 2 NONAME + pjmedia_snd_get_dev_info @ 3 NONAME + pjmedia_snd_init @ 4 NONAME + pjmedia_snd_open @ 5 NONAME + pjmedia_snd_open_player @ 6 NONAME + pjmedia_snd_open_rec @ 7 NONAME + pjmedia_snd_stream_close @ 8 NONAME + pjmedia_snd_stream_get_info @ 9 NONAME + pjmedia_snd_stream_start @ 10 NONAME + pjmedia_snd_stream_stop @ 11 NONAME diff --git a/build.symbian/symsndtest.mmp b/build.symbian/symsndtest.mmp new file mode 100644 index 0000000..fb375db --- /dev/null +++ b/build.symbian/symsndtest.mmp @@ -0,0 +1,51 @@ +#define SND_USE_APS 0 +#define SND_USE_VAS 0 + +TARGET symsndtest.exe +TARGETTYPE exe +UID 0x0 0xA000000E + +OPTION ARMCC --gnu + +SOURCEPATH ..\pjsip-apps\src\symsndtest + +MACRO PJ_M_I386=1 +MACRO PJ_SYMBIAN=1 + +// Test files + +SOURCE app_main.cpp +SOURCE main_symbian.cpp + +START RESOURCE symsndtest_reg.rss + TARGETPATH \private\10003a3f\apps +END + +SYSTEMINCLUDE ..\pjlib\include +SYSTEMINCLUDE ..\pjmedia\include + +SYSTEMINCLUDE \epoc32\include +SYSTEMINCLUDE \epoc32\include\libc + +LIBRARY charconv.lib euser.lib estlib.lib +LIBRARY esock.lib insock.lib +STATICLIBRARY pjmedia_audiodev.lib +STATICLIBRARY pjmedia.lib +STATICLIBRARY pjlib.lib +STATICLIBRARY libresample.lib + +#if SND_USE_APS + LIBRARY APSSession2.lib + CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD +#elif SND_USE_VAS + LIBRARY VoIPAudioIntfc.lib + CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment MultimediaDD +#else + LIBRARY mediaclientaudiostream.lib + LIBRARY mediaclientaudioinputstream.lib + CAPABILITY NetworkServices LocalServices ReadUserData WriteUserData UserEnvironment +#endif + +#ifdef WINSCW + STATICLIBRARY eexe.lib ecrt0.lib +#endif diff --git a/build.symbian/symsndtest.pkg b/build.symbian/symsndtest.pkg new file mode 100644 index 0000000..b401cee --- /dev/null +++ b/build.symbian/symsndtest.pkg @@ -0,0 +1,19 @@ +; symsndtest.pkg + +; Languages +&EN + +; Header +#{"symsndtest"},(0xA000000E), 0, 1, 1 + +; Platform compatibility +[0x101F7961], *, *, *, {"Series60ProductID"} + +; vendor +%{"PJSIP"} +:"PJSIP" + +; Target +"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\symsndtest.exe"-"!:\sys\bin\symsndtest.exe" +"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\symsndtest_reg.rSC"-"!:\private\10003a3f\import\apps\symsndtest_reg.rSC" + diff --git a/build/cc-auto.mak.in b/build/cc-auto.mak.in new file mode 100644 index 0000000..2530e21 --- /dev/null +++ b/build/cc-auto.mak.in @@ -0,0 +1,22 @@ +export CC = @CC@ -c +export CXX = @CXX@ -c +export AR = @AR@ +export AR_FLAGS = @AR_FLAGS@ +export LD = @LD@ +export LDOUT = -o +export RANLIB = @RANLIB@ + +export OBJEXT := .@OBJEXT@ +export LIBEXT := .@LIBEXT@ +export LIBEXT2 := @LIBEXT2@ + +export CC_OUT := @CC_OUT@ +export CC_INC := @CC_INC@ +export CC_DEF := @CC_DEF@ +export CC_OPTIMIZE := @CC_OPTIMIZE@ +export CC_LIB := -l + +export CC_SOURCES := +export CC_CFLAGS := @CC_CFLAGS@ +export CC_LDFLAGS := + diff --git a/build/cc-gcc.mak b/build/cc-gcc.mak new file mode 100644 index 0000000..a3b4807 --- /dev/null +++ b/build/cc-gcc.mak @@ -0,0 +1,22 @@ +export CC = $(CROSS_COMPILE)gcc -c +export AR = $(CROSS_COMPILE)ar rv +export LD = $(CROSS_COMPILE)gcc +export LDOUT = -o +export RANLIB = $(CROSS_COMPILE)ranlib + +export OBJEXT := .o +export LIBEXT := .a +export LIBEXT2 := + +export CC_OUT := -o +export CC_INC := -I +export CC_DEF := -D +export CC_OPTIMIZE := -O2 +export CC_LIB := -l + +export CC_SOURCES := +export CC_CFLAGS := -Wall +#export CC_CFLAGS += -Wdeclaration-after-statement +#export CC_CXXFLAGS := -Wdeclaration-after-statement +export CC_LDFLAGS := + diff --git a/build/cc-vc.mak b/build/cc-vc.mak new file mode 100644 index 0000000..187372d --- /dev/null +++ b/build/cc-vc.mak @@ -0,0 +1,20 @@ +export CC := cl /c /nologo +export AR := lib /NOLOGO /OUT: +export LD := cl /nologo +export LDOUT := /Fe +export RANLIB := echo ranlib + +export OBJEXT := .obj +export LIBEXT := .lib +export LIBEXT2 := .LIB + +export CC_OUT := /Fo +export CC_INC := /I +export CC_DEF := /D +export CC_OPTIMIZE := /Ox +export CC_LIB := + +export CC_SOURCES := +export CC_CFLAGS := /W4 /MT +export CC_CXXFLAGS := /GX +export CC_LDFLAGS := /MT diff --git a/build/common.mak b/build/common.mak new file mode 100644 index 0000000..ad6df03 --- /dev/null +++ b/build/common.mak @@ -0,0 +1,63 @@ +# +# Include host/target/compiler selection. +# This will export CC_NAME, MACHINE_NAME, OS_NAME, and HOST_NAME variables. +# +include $(PJDIR)/build.mak + +# +# Include global compiler specific definitions +# +include $(PJDIR)/build/cc-$(CC_NAME).mak + +# +# (Optionally) Include compiler specific configuration that is +# specific to this project. This configuration file is +# located in this directory. +# +-include cc-$(CC_NAME).mak + +# +# Include auto configured compiler specification. +# This will override the compiler settings above. +# Currently this is made OPTIONAL, to prevent people +# from getting errors because they don't re-run ./configure +# after downloading new PJSIP. +# +-include $(PJDIR)/build/cc-auto.mak + +# +# Include global machine specific definitions +# +include $(PJDIR)/build/m-$(MACHINE_NAME).mak +-include m-$(MACHINE_NAME).mak + +# +# Include target OS specific definitions +# +include $(PJDIR)/build/os-$(OS_NAME).mak + +# +# (Optionally) Include target OS specific configuration that is +# specific to this project. This configuration file is +# located in this directory. +# +-include os-$(OS_NAME).mak + +# +# Include host specific definitions +# +include $(PJDIR)/build/host-$(HOST_NAME).mak + +# +# (Optionally) Include host specific configuration that is +# specific to this project. This configuration file is +# located in this directory. +# +-include host-$(HOST_NAME).mak + +# +# Include global user configuration, if any +# +-include $(PJDIR)/user.mak + + diff --git a/build/host-mingw.mak b/build/host-mingw.mak new file mode 100644 index 0000000..94d03af --- /dev/null +++ b/build/host-mingw.mak @@ -0,0 +1,13 @@ +export HOST_MV := mv +export HOST_RM := rm -f @@ +export HOST_RMR := rm -rf @@ +export HOST_RMDIR := rm -rf @@ +export HOST_MKDIR := mkdir @@ +export HOST_EXE := .exe +export HOST_PSEP := / + +export HOST_SOURCES := +export HOST_CFLAGS := +export HOST_CXXFLAGS := +export HOST_LDFLAGS := $(CC_LIB)stdc++$(LIBEXT2) + diff --git a/build/host-unix.mak b/build/host-unix.mak new file mode 100644 index 0000000..0c62ac5 --- /dev/null +++ b/build/host-unix.mak @@ -0,0 +1,13 @@ +export HOST_MV := mv +export HOST_RM := rm -f @@ +export HOST_RMR := rm -rf @@ +export HOST_RMDIR := rm -rf @@ +export HOST_MKDIR := mkdir -p @@ +export HOST_EXE := $(HOST_EXE) +export HOST_PSEP := / + +export HOST_SOURCES := +export HOST_CFLAGS := +export HOST_CXXFLAGS := +export HOST_LDFLAGS := + diff --git a/build/host-win32.mak b/build/host-win32.mak new file mode 100644 index 0000000..9d0b379 --- /dev/null +++ b/build/host-win32.mak @@ -0,0 +1,12 @@ +export HOST_MV := ren +export HOST_RM := if exist @@; del /F /Q @@ +export HOST_RMR := if exist @@; del /F /Q @@ +export HOST_RMDIR := if exist @@; rmdir @@ +export HOST_MKDIR := if not exist @@; mkdir @@ +export HOST_EXE := .exe +export HOST_PSEP := \\ + +export HOST_SOURCES := +export HOST_CFLAGS := +export HOST_CXXFLAGS := +export HOST_LDFLAGS := diff --git a/build/m-alpha.mak b/build/m-alpha.mak new file mode 100644 index 0000000..f1c7502 --- /dev/null +++ b/build/m-alpha.mak @@ -0,0 +1,4 @@ +export M_CFLAGS := $(CC_DEF)PJ_M_ALPHA=1 +export M_CXXFLAGS := +export M_LDFLAGS := +export M_SOURCES := diff --git a/build/m-arm.mak b/build/m-arm.mak new file mode 100644 index 0000000..43a1ef2 --- /dev/null +++ b/build/m-arm.mak @@ -0,0 +1,4 @@ +export M_CFLAGS := $(CC_DEF)PJ_M_ARMV4=1 +export M_CXXFLAGS := +export M_LDFLAGS := +export M_SOURCES := diff --git a/build/m-auto.mak b/build/m-auto.mak new file mode 100644 index 0000000..3bd2ac3 --- /dev/null +++ b/build/m-auto.mak @@ -0,0 +1 @@ +# Nothing needs to be defined here diff --git a/build/m-i386.mak b/build/m-i386.mak new file mode 100644 index 0000000..1a8229d --- /dev/null +++ b/build/m-i386.mak @@ -0,0 +1,4 @@ +export M_CFLAGS := $(CC_DEF)PJ_M_I386=1 +export M_CXXFLAGS := +export M_LDFLAGS := +export M_SOURCES := diff --git a/build/m-m68k.mak b/build/m-m68k.mak new file mode 100644 index 0000000..265a6ea --- /dev/null +++ b/build/m-m68k.mak @@ -0,0 +1,4 @@ +export M_CFLAGS := $(CC_DEF)PJ_M_M68K=1 +export M_CXXFLAGS := +export M_LDFLAGS := +export M_SOURCES := diff --git a/build/m-mpc860.mak b/build/m-mpc860.mak new file mode 100644 index 0000000..04ff947 --- /dev/null +++ b/build/m-mpc860.mak @@ -0,0 +1,9 @@ +# +# PowerPC MPC860 specific. +# It's a PowerPC without floating point support. +# +export M_CFLAGS := $(CC_DEF)PJ_M_POWERPC=1 $(CC_DEF)PJ_HAS_FLOATING_POINT=0 -mcpu=860 +export M_CXXFLAGS := +export M_LDFLAGS := -mcpu=860 +export M_SOURCES := + diff --git a/build/m-powerpc.mak b/build/m-powerpc.mak new file mode 100644 index 0000000..6a8d448 --- /dev/null +++ b/build/m-powerpc.mak @@ -0,0 +1,4 @@ +export M_CFLAGS := $(CC_DEF)PJ_M_POWERPC=1 +export M_CXXFLAGS := +export M_LDFLAGS := +export M_SOURCES := diff --git a/build/m-sparc.mak b/build/m-sparc.mak new file mode 100644 index 0000000..fa27aac --- /dev/null +++ b/build/m-sparc.mak @@ -0,0 +1,4 @@ +export M_CFLAGS := $(CC_DEF)PJ_M_SPARC=1 +export M_CXXFLAGS := +export M_LDFLAGS := +export M_SOURCES := diff --git a/build/m-x86_64.mak b/build/m-x86_64.mak new file mode 100644 index 0000000..5e847e9 --- /dev/null +++ b/build/m-x86_64.mak @@ -0,0 +1,4 @@ +export M_CFLAGS := $(CC_DEF)PJ_M_X86_64=1 +export M_CXXFLAGS := +export M_LDFLAGS := +export M_SOURCES := diff --git a/build/os-auto.mak.in b/build/os-auto.mak.in new file mode 100644 index 0000000..3d99927 --- /dev/null +++ b/build/os-auto.mak.in @@ -0,0 +1,11 @@ +# @configure_input@ + +export OS_CFLAGS := $(CC_DEF)PJ_AUTOCONF=1 @CFLAGS@ + +export OS_CXXFLAGS := $(CC_DEF)PJ_AUTOCONF=1 @CXXFLAGS@ + +export OS_LDFLAGS := @LDFLAGS@ @LIBS@ + +export OS_SOURCES := + + diff --git a/build/os-darwinos.mak b/build/os-darwinos.mak new file mode 100644 index 0000000..9db31a1 --- /dev/null +++ b/build/os-darwinos.mak @@ -0,0 +1,9 @@ +export OS_CFLAGS := $(CC_DEF)PJ_DARWINOS=1 + +export OS_CXXFLAGS := + +export OS_LDFLAGS := $(CC_LIB)pthread$(LIBEXT2) -framework CoreAudio -lm + +export OS_SOURCES := + + diff --git a/build/os-linux-kernel.mak b/build/os-linux-kernel.mak new file mode 100644 index 0000000..f559116 --- /dev/null +++ b/build/os-linux-kernel.mak @@ -0,0 +1,43 @@ + +include $(KERNEL_DIR)/.config + +# +# Basic kernel compilation flags. +# +export OS_CFLAGS := $(CC_DEF)PJ_LINUX_KERNEL=1 -D__KERNEL__ \ + -I$(KERNEL_DIR)/include -iwithprefix include \ + -nostdinc -msoft-float + +# +# Additional kernel compilation flags are taken from the kernel Makefile +# itself. +# + +KERNEL_CFLAGS := \ + $(shell cd $(KERNEL_DIR) ; \ + make script SCRIPT='@echo $$(CFLAGS) $$(CFLAGS_MODULE)' $(KERNEL_ARCH)) + +export OS_CFLAGS += $(KERNEL_CFLAGS) + +# -DMODULE -I$(KERNEL_DIR)/include -nostdinc \ +# -Wstrict-prototypes \ +# -Wno-trigraphs -fno-strict-aliasing -fno-common \ +# -msoft-float -m32 -fno-builtin-sprintf -fno-builtin-log2\ +# -fno-builtin-puts -mpreferred-stack-boundary=2 \ +# -fno-unit-at-a-time -march=i686 -mregparm=3 \ +# -iwithprefix include + +#export OS_CFLAGS += -U__i386__ -Ui386 -D__arch_um__ -DSUBARCH=\"i386\" \ +# -D_LARGEFILE64_SOURCE -I$(KERNEL_DIR)/arch/um/include \ +# -Derrno=kernel_errno \ +# -I$(KERNEL_DIR)/arch/um/kernel/tt/include \ +# -I$(KERNEL_DIR)/arch/um/kernel/skas/include \ + + +export OS_CXXFLAGS := + +export OS_LDFLAGS := + +export OS_SOURCES := + + diff --git a/build/os-linux.mak b/build/os-linux.mak new file mode 100644 index 0000000..d3783b8 --- /dev/null +++ b/build/os-linux.mak @@ -0,0 +1,9 @@ +export OS_CFLAGS := $(CC_DEF)PJ_LINUX=1 + +export OS_CXXFLAGS := + +export OS_LDFLAGS := -lportaudio-$(TARGET_NAME) -lgsmcodec-$(TARGET_NAME) -lilbccodec-$(TARGET_NAME) -lspeex-$(TARGET_NAME) -lresample-$(TARGET_NAME) $(CC_LIB)pthread$(LIBEXT2) -lm + +export OS_SOURCES := + + diff --git a/build/os-palmos.mak b/build/os-palmos.mak new file mode 100644 index 0000000..43f83bb --- /dev/null +++ b/build/os-palmos.mak @@ -0,0 +1,32 @@ +# +# make-mingw.inc: Mingw specific compilation switches. +# +PALM_OS_SDK_VER := 0x06000000 +PALM_OS_TARGET_HOST := TARGET_HOST_PALMOS +PALM_OS_TARGET_PLATFORM := TARGET_PLATFORM_PALMSIM_WIN32 +PALM_OS_BUILD_TYPE := BUILD_TYPE_DEBUG +PALM_OS_TRACE_OUTPUT := TRACE_OUTPUT_ON +PALM_OS_CPU_TYPE := CPU_ARM + +export CROSS_COMPILE := + +ifeq ($(CC_NAME),gcc) + export CFLAGS += -mno-cygwin -fexceptions -frtti +endif + +export OS_CFLAGS := $(CC_DEF)PJ_PALMOS=1 \ + $(CC_DEF)__PALMOS_KERNEL__=1 \ + $(CC_DEF)__PALMOS__=$(PALM_OS_SDK_VER) \ + $(CC_DEF)BUILD_TYPE=$(PALM_OS_BUILD_TYPE) \ + $(CC_DEF)TRACE_OUTPUT=$(PALM_OS_TRACE_OUTPUT) \ + $(CC_DEF)_SUPPORTS_NAMESPACE=0 \ + $(CC_DEF)_SUPPORTS_RTTI=0 \ + $(CC_DEF)TARGET_HOST=$(PALM_OS_TRAGET_HOST) \ + $(CC_DEF)TARGET_PLATFORM=$(PALM_OS_TARGET_PLATFORM) + +export OS_CXXFLAGS := + +export OS_LDFLAGS := + +export OS_SOURCES := + diff --git a/build/os-rtems.mak b/build/os-rtems.mak new file mode 100644 index 0000000..af99dbf --- /dev/null +++ b/build/os-rtems.mak @@ -0,0 +1,17 @@ +# +# Global OS specific configurations for RTEMS OS. +# +# Thanks Zetron, Inc and Phil Torre for donating PJLIB +# port to RTEMS. +# +export RTEMS_DEBUG := -ggdb3 -DRTEMS_DEBUG -DDEBUG -qrtems_debug + +export OS_CFLAGS := $(CC_DEF)PJ_RTEMS=1 \ + -B$(RTEMS_LIBRARY_PATH)/lib/ -specs bsp_specs -qrtems + +export OS_CXXFLAGS := + +export OS_LDFLAGS := -B$(RTEMS_LIBRARY_PATH)/lib/ -specs bsp_specs -qrtems -lm + +export OS_SOURCES := + diff --git a/build/os-sunos.mak b/build/os-sunos.mak new file mode 100644 index 0000000..608f9eb --- /dev/null +++ b/build/os-sunos.mak @@ -0,0 +1,13 @@ +export OS_CFLAGS := $(CC_DEF)PJ_SUNOS=1 + +export OS_CXXFLAGS := + +export OS_LDFLAGS := $(CC_LIB)pthread$(LIBEXT2) \ + $(CC_LIB)socket$(LIBEXT2) \ + $(CC_LIB)rt$(LIBEXT2) \ + $(CC_LIB)nsl$(LIBEXT2) \ + $(CC_LIB)m$(LIBEXT2) + +export OS_SOURCES := + + diff --git a/build/os-win32.mak b/build/os-win32.mak new file mode 100644 index 0000000..816a97f --- /dev/null +++ b/build/os-win32.mak @@ -0,0 +1,12 @@ +export OS_CFLAGS := $(CC_DEF)PJ_WIN32=1 + +export OS_CXXFLAGS := + +export OS_LDFLAGS := $(CC_LIB)wsock32$(LIBEXT2) \ + $(CC_LIB)ws2_32$(LIBEXT2)\ + $(CC_LIB)ole32$(LIBEXT2)\ + $(CC_LIB)m$(LIBEXT2) + +export OS_SOURCES := + + diff --git a/build/rules.mak b/build/rules.mak new file mode 100644 index 0000000..9891bf4 --- /dev/null +++ b/build/rules.mak @@ -0,0 +1,239 @@ +ifeq ($(LIBDIR),) +LIBDIR = ../lib +endif +ifeq ($(BINDIR),) +BINDIR = ../bin +endif + +# +# The name(s) of output lib file(s) (e.g. libapp.a). +# +LIB := $($(APP)_LIB) +SHLIB = $($(APP)_SHLIB) +SONAME = $($(APP)_SONAME) + +ifeq ($(SHLIB_SUFFIX),so) +SHLIB_OPT := -shared -Wl,-soname,$(SHLIB) +else ifeq ($(SHLIB_SUFFIX),dylib) +SHLIB_OPT := -dynamiclib -undefined dynamic_lookup -flat_namespace +else ifeq ($(SHLIB_SUFFIX),dll) +SHLIB_OPT := -shared -Wl,-soname,$(SHLIB) +else +SHLIB_OPT := +endif + +# +# The name of output executable file (e.g. app.exe). +# +EXE = $($(APP)_EXE) + +# +# Source directory +# +SRCDIR = $($(APP)_SRCDIR) + +# +# Output directory for object files (i.e. output/target) +# +OBJDIR = output/$(app)-$(TARGET_NAME) + +ifeq ($(OS_NAME),linux-kernel) +export $(APP)_CFLAGS += -DKBUILD_MODNAME=$(app) -DKBUILD_BASENAME=$(app) +endif + + +# +# OBJS is ./output/target/file.o +# +OBJS = $(foreach file, $($(APP)_OBJS), $(OBJDIR)/$(file)) +OBJDIRS := $(sort $(dir $(OBJS))) + +# +# FULL_SRCS is ../src/app/file1.c ../src/app/file1.S +# +FULL_SRCS = $(foreach file, $($(APP)_OBJS), $(SRCDIR)/$(basename $(file)).m $(SRCDIR)/$(basename $(file)).c $(SRCDIR)/$(basename $(file)).cpp $(SRCDIR)/$(basename $(file)).S) + +# +# When generating dependency (gcc -MM), ideally we use only either +# CFLAGS or CXXFLAGS (not both). But I just couldn't make if/ifeq to work. +# +#DEPFLAGS = $($(APP)_CXXFLAGS) $($(APP)_CFLAGS) +DEPCFLAGS = $($(APP)_CFLAGS) +DEPCXXFLAGS = $($(APP)_CXXFLAGS) + +# Dependency file +DEP_FILE := .$(app)-$(TARGET_NAME).depend + + +print_common: + @echo "###" + @echo "### DUMPING MAKE VARIABLES (I WON'T DO ANYTHING ELSE):" + @echo "###" + @echo APP=$(APP) + @echo OBJDIR=$(OBJDIR) + @echo OBJDIRS=$(OBJDIRS) + @echo OBJS=$(OBJS) + @echo SRCDIR=$(SRCDIR) + @echo FULL_SRCS=$(FULL_SRCS) + @echo $(APP)_CFLAGS=$($(APP)_CFLAGS) + @echo $(APP)_CXXFLAGS=$($(APP)_CXXFLAGS) + @echo $(APP)_LDFLAGS=$($(APP)_LDFLAGS) +# @echo DEPFLAGS=$(DEPFLAGS) + @echo CC=$(CC) + @echo AR=$(AR) + @echo AR_FLAGS=$(AR_FLAGS) + @echo RANLIB=$(RANLIB) + +print_bin: print_common + @echo EXE=$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE)) + @echo BINDIR=$(BINDIR) + +print_lib: print_common +ifneq ($(LIB),) + @echo LIB=$(subst /,$(HOST_PSEP),$(LIBDIR)/$(LIB)) +endif +ifneq ($(SHLIB),) + @echo SHLIB=$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB)) +endif +ifneq ($(SONAME),) + @echo SONAME=$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SONAME)) +endif + @echo LIBDIR=$(LIBDIR) + +ifneq ($(LIB),) +$(subst /,$(HOST_PSEP),$(LIBDIR)/$(LIB)): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP) + if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi + $(AR) $(AR_FLAGS) $@ $(OBJS) + $(RANLIB) $@ +endif + +ifneq ($(SHLIB),) +$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB)): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP) + if test ! -d $(LIBDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)),$(HOST_MKDIR)); fi + $(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$@) \ + $(subst /,$(HOST_PSEP),$(OBJS)) $($(APP)_LDFLAGS) $(SHLIB_OPT) +endif + +ifneq ($(SONAME),) +$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SONAME)): $(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB)) + ln -sf $(SHLIB) $@ +endif + +ifneq ($(EXE),) +$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE)): $(OBJDIRS) $(OBJS) $($(APP)_EXTRA_DEP) + if test ! -d $(BINDIR); then $(subst @@,$(subst /,$(HOST_PSEP),$(BINDIR)),$(HOST_MKDIR)); fi + $(LD) $(LDOUT)$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE)) \ + $(subst /,$(HOST_PSEP),$(OBJS)) $($(APP)_LDFLAGS) +endif + +$(OBJDIR)/$(app).o: $(OBJDIRS) $(OBJS) + $(CROSS_COMPILE)ld -r -o $@ $(OBJS) + +$(OBJDIR)/$(app).ko: $(OBJDIR)/$(app).o + @echo Creating kbuild Makefile... + @echo "# Our module name:" > $(OBJDIR)/Makefile + @echo 'obj-m += $(app).o' >> $(OBJDIR)/Makefile + @echo >> $(OBJDIR)/Makefile + @echo "# Object members:" >> $(OBJDIR)/Makefile + @echo -n '$(app)-objs += ' >> $(OBJDIR)/Makefile + @for file in $($(APP)_OBJS); do \ + echo -n "$$file " >> $(OBJDIR)/Makefile; \ + done + @echo >> $(OBJDIR)/Makefile + @echo >> $(OBJDIR)/Makefile + @echo "# Prevent .o files to be built by kbuild:" >> $(OBJDIR)/Makefile + @for file in $($(APP)_OBJS); do \ + echo ".PHONY: `pwd`/$(OBJDIR)/$$file" >> $(OBJDIR)/Makefile; \ + done + @echo >> $(OBJDIR)/Makefile + @echo all: >> $(OBJDIR)/Makefile + @echo -e "\tmake -C $(KERNEL_DIR) M=`pwd`/$(OBJDIR) modules $(KERNEL_ARCH)" >> $(OBJDIR)/Makefile + @echo Invoking kbuild... + make -C $(OBJDIR) + +../lib/$(app).ko: $(LIB) $(OBJDIR)/$(app).ko + cp $(OBJDIR)/$(app).ko ../lib + +$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.m + $(CC) $($(APP)_CFLAGS) \ + $(CC_OUT)$(subst /,$(HOST_PSEP),$@) \ + $(subst /,$(HOST_PSEP),$<) + +$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.c + $(CC) $($(APP)_CFLAGS) \ + $(CC_OUT)$(subst /,$(HOST_PSEP),$@) \ + $(subst /,$(HOST_PSEP),$<) + +$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.S + $(CC) $($(APP)_CFLAGS) \ + $(CC_OUT)$(subst /,$(HOST_PSEP),$@) \ + $(subst /,$(HOST_PSEP),$<) + +$(OBJDIR)/%$(OBJEXT): $(SRCDIR)/%.cpp + $(CXX) $($(APP)_CXXFLAGS) \ + $(CC_OUT)$(subst /,$(HOST_PSEP),$@) \ + $(subst /,$(HOST_PSEP),$<) + +$(OBJDIRS): + $(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR)) + +$(LIBDIR): + $(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR)) + +$(BINDIR): + $(subst @@,$(subst /,$(HOST_PSEP),$@),$(HOST_MKDIR)) + +clean: + $(subst @@,$(subst /,$(HOST_PSEP),$(OBJDIR)/*),$(HOST_RMR)) + $(subst @@,$(subst /,$(HOST_PSEP),$(OBJDIR)),$(HOST_RMDIR)) +ifeq ($(OS_NAME),linux-kernel) + rm -f ../lib/$(app).o +endif + +gcov-report: + for file in $(FULL_SRCS); do \ + gcov $$file -n -o $(OBJDIR); \ + done + +realclean: clean +ifneq ($(LIB),) + $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)/$(LIB)),$(HOST_RM)) +endif +ifneq ($(SHLIB),) + $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SHLIB)),$(HOST_RM)) +endif +ifneq ($(SONAME),) + $(subst @@,$(subst /,$(HOST_PSEP),$(LIBDIR)/$(SONAME)),$(HOST_RM)) +endif +ifneq ($(EXE),) + $(subst @@,$(subst /,$(HOST_PSEP),$(BINDIR)/$(EXE)),$(HOST_RM)) +endif + $(subst @@,$(DEP_FILE),$(HOST_RM)) +ifeq ($(OS_NAME),linux-kernel) + rm -f ../lib/$(app).ko +endif + +depend: + $(subst @@,$(DEP_FILE),$(HOST_RM)) + for F in $(FULL_SRCS); do \ + if test -f $$F; then \ + echo "$(OBJDIR)/" | tr -d '\n' >> $(DEP_FILE); \ + if echo $$F | grep -q .cpp$$; then \ + dep="$(CC) -M $(DEPCXXFLAGS) $$F"; \ + else \ + dep="$(CC) -M $(DEPCFLAGS) $$F"; \ + fi; \ + if eval $$dep | sed '/^#/d' >> $(DEP_FILE); then \ + true; \ + else \ + echo 'err:' >> $(DEP_FILE); \ + rm -f $(DEP_FILE); \ + exit 1; \ + fi; \ + fi; \ + done; + +dep: depend + +-include $(DEP_FILE) + diff --git a/build/vs/pjproject-vs8-common-defaults.vsprops b/build/vs/pjproject-vs8-common-defaults.vsprops new file mode 100644 index 0000000..f35dec2 --- /dev/null +++ b/build/vs/pjproject-vs8-common-defaults.vsprops @@ -0,0 +1,27 @@ + + + + + + + diff --git a/build/vs/pjproject-vs8-debug-defaults.vsprops b/build/vs/pjproject-vs8-debug-defaults.vsprops new file mode 100644 index 0000000..61995d9 --- /dev/null +++ b/build/vs/pjproject-vs8-debug-defaults.vsprops @@ -0,0 +1,19 @@ + + + + + diff --git a/build/vs/pjproject-vs8-debug-dynamic-defaults.vsprops b/build/vs/pjproject-vs8-debug-dynamic-defaults.vsprops new file mode 100644 index 0000000..f121c8f --- /dev/null +++ b/build/vs/pjproject-vs8-debug-dynamic-defaults.vsprops @@ -0,0 +1,12 @@ + + + + diff --git a/build/vs/pjproject-vs8-debug-static-defaults.vsprops b/build/vs/pjproject-vs8-debug-static-defaults.vsprops new file mode 100644 index 0000000..0330723 --- /dev/null +++ b/build/vs/pjproject-vs8-debug-static-defaults.vsprops @@ -0,0 +1,12 @@ + + + + diff --git a/build/vs/pjproject-vs8-release-defaults.vsprops b/build/vs/pjproject-vs8-release-defaults.vsprops new file mode 100644 index 0000000..8579da5 --- /dev/null +++ b/build/vs/pjproject-vs8-release-defaults.vsprops @@ -0,0 +1,17 @@ + + + + + diff --git a/build/vs/pjproject-vs8-release-dynamic-defaults.vsprops b/build/vs/pjproject-vs8-release-dynamic-defaults.vsprops new file mode 100644 index 0000000..5e4f35a --- /dev/null +++ b/build/vs/pjproject-vs8-release-dynamic-defaults.vsprops @@ -0,0 +1,12 @@ + + + + diff --git a/build/vs/pjproject-vs8-release-static-defaults.vsprops b/build/vs/pjproject-vs8-release-static-defaults.vsprops new file mode 100644 index 0000000..94d084d --- /dev/null +++ b/build/vs/pjproject-vs8-release-static-defaults.vsprops @@ -0,0 +1,12 @@ + + + + diff --git a/build/vs/pjproject-vs8-win32-common-defaults.vsprops b/build/vs/pjproject-vs8-win32-common-defaults.vsprops new file mode 100644 index 0000000..2cfd978 --- /dev/null +++ b/build/vs/pjproject-vs8-win32-common-defaults.vsprops @@ -0,0 +1,20 @@ + + + + + + diff --git a/build/vs/pjproject-vs8-win32-release-defaults.vsprops b/build/vs/pjproject-vs8-win32-release-defaults.vsprops new file mode 100644 index 0000000..6b696ae --- /dev/null +++ b/build/vs/pjproject-vs8-win32-release-defaults.vsprops @@ -0,0 +1,8 @@ + + + diff --git a/build/vs/pjproject-vs8-win64-common-defaults.vsprops b/build/vs/pjproject-vs8-win64-common-defaults.vsprops new file mode 100644 index 0000000..f168437 --- /dev/null +++ b/build/vs/pjproject-vs8-win64-common-defaults.vsprops @@ -0,0 +1,20 @@ + + + + + + diff --git a/build/vs/pjproject-vs8-win64-release-defaults.vsprops b/build/vs/pjproject-vs8-win64-release-defaults.vsprops new file mode 100644 index 0000000..3d551d0 --- /dev/null +++ b/build/vs/pjproject-vs8-win64-release-defaults.vsprops @@ -0,0 +1,8 @@ + + + diff --git a/build/vs/pjproject-vs8-wm2003-common-defaults.vsprops b/build/vs/pjproject-vs8-wm2003-common-defaults.vsprops new file mode 100644 index 0000000..6b94917 --- /dev/null +++ b/build/vs/pjproject-vs8-wm2003-common-defaults.vsprops @@ -0,0 +1,30 @@ + + + + + + + diff --git a/build/vs/pjproject-vs8-wm2003-release-defaults.vsprops b/build/vs/pjproject-vs8-wm2003-release-defaults.vsprops new file mode 100644 index 0000000..6c6ada6 --- /dev/null +++ b/build/vs/pjproject-vs8-wm2003-release-defaults.vsprops @@ -0,0 +1,8 @@ + + + diff --git a/build/vs/pjproject-vs8-wm5-common-defaults.vsprops b/build/vs/pjproject-vs8-wm5-common-defaults.vsprops new file mode 100644 index 0000000..d5135ea --- /dev/null +++ b/build/vs/pjproject-vs8-wm5-common-defaults.vsprops @@ -0,0 +1,28 @@ + + + + + + + diff --git a/build/vs/pjproject-vs8-wm5-release-defaults.vsprops b/build/vs/pjproject-vs8-wm5-release-defaults.vsprops new file mode 100644 index 0000000..8372c8c --- /dev/null +++ b/build/vs/pjproject-vs8-wm5-release-defaults.vsprops @@ -0,0 +1,8 @@ + + + diff --git a/build/vs/pjproject-vs8-wm6-common-defaults.vsprops b/build/vs/pjproject-vs8-wm6-common-defaults.vsprops new file mode 100644 index 0000000..5f94b04 --- /dev/null +++ b/build/vs/pjproject-vs8-wm6-common-defaults.vsprops @@ -0,0 +1,28 @@ + + + + + + + diff --git a/build/vs/pjproject-vs8-wm6-release-defaults.vsprops b/build/vs/pjproject-vs8-wm6-release-defaults.vsprops new file mode 100644 index 0000000..ad75a1f --- /dev/null +++ b/build/vs/pjproject-vs8-wm6-release-defaults.vsprops @@ -0,0 +1,8 @@ + + + diff --git a/c++-build.mak b/c++-build.mak new file mode 100644 index 0000000..bc647ce --- /dev/null +++ b/c++-build.mak @@ -0,0 +1,20 @@ +include build.mak +include build/host-$(HOST_NAME).mak + +DIRS = pjlib pjlib-util pjnath pjmedia pjsip + +ifdef MINSIZE +MAKE_FLAGS := MINSIZE=1 +endif + +export CPP_MODE=1 + +all clean dep depend distclean doc print realclean: + for dir in $(DIRS); do \ + if $(MAKE) $(MAKE_FLAGS) -C $$dir/build $@; then \ + true; \ + else \ + exit 1; \ + fi; \ + done + diff --git a/config.guess b/config.guess new file mode 100644 index 0000000..aa04f04 --- /dev/null +++ b/config.guess @@ -0,0 +1,1534 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2011, 2012 Free Software Foundation, Inc. + +timestamp='2012-06-17' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner. Please send patches (context +# diff format) to and include a ChangeLog +# entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/config.sub b/config.sub new file mode 100644 index 0000000..a92e846 --- /dev/null +++ b/config.sub @@ -0,0 +1,1782 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +# 2011, 2012 Free Software Foundation, Inc. + +timestamp='2012-06-17' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted GNU ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray | -microblaze) + os= + basic_machine=$1 + ;; + -bluegene*) + os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm64 | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | armv[67] | armv7s | avr | avr32 \ + | be32 | be64 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | epiphany \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 \ + | ns16k | ns32k \ + | open8 \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pyramid \ + | rl78 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | we32k \ + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | arm64-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | be32-* | be64-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pyramid-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ + | tron-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aros) + basic_machine=i386-pc + os=-aros + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16 | cr16-*) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + microblaze) + basic_machine=microblaze-xilinx + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + msys) + basic_machine=i386-pc + os=-msys + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc | ppcbe) basic_machine=powerpc-unknown + ;; + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tile*) + basic_machine=$basic_machine-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -bitrig* | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + hexagon-*) + os=-elf + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -cnk*|-aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/configure b/configure new file mode 100644 index 0000000..ba445cf --- /dev/null +++ b/configure @@ -0,0 +1,7 @@ +#!/bin/sh +./aconfigure "$@" + +# Note: +# if you're looking for the old configure script, it has been renamed +# to configure-legacy + diff --git a/configure-android b/configure-android new file mode 100644 index 0000000..53a96bb --- /dev/null +++ b/configure-android @@ -0,0 +1,196 @@ +#!/bin/sh +# + +F="configure-android" + +if test "$*" = "--help" -o "$*" = "-h"; then + echo "$F [--use-ndk-cflags] [OPTIONS]" + echo "" + echo "where:" + echo " --use-ndk-cflags Optional parameter to use the same compilation flags" + echo " as the one used by ndk-build. Android NDK r9 or later" + echo " is required when using this option." + echo " OPTIONS Other options that will be passed directly to" + echo " ./aconfigure script. Run ./aconfigure --help" + echo " for more info." + echo "" + echo "Environment variables:" + echo " ANDROID_NDK_ROOT Specify the directory of Android NDK to use." + echo " APP_PLATFORM Optionally specify the platform level used, e.g." + echo " android-9. By default, configure will use the" + echo " maximum platform level detected." + echo " TARGET_ABI Optionally specify a single target architecture," + echo " e.g. armeabi-v7a, mips, x86. By default, the target" + echo " architecture is armeabi. Only used when" + echo " --use-ndk-cflags is specified." + echo " IGNORE_CFLAGS Optionally specify compilation flags to be ignored." + echo " Each grepped flag that satisfies the criteria will" + echo " be ignored. Default:" + echo " IGNORE_CFLAGS=\"\-M\|\-f*stack\|\-f*alias\"" + echo " Only used when --use-ndk-cflags is specified." + echo "" + exit 0 +fi + +if test "x${ANDROID_NDK_ROOT}" = "x" || test ! -e ${ANDROID_NDK_ROOT}; then + echo "$F error: ANDROID_NDK_ROOT env var is not specified or invalid" + exit 0 +fi + +if test "x$APP_PLATFORM" = "x"; then + APP_PLATFORM=`ls ${ANDROID_NDK_ROOT}/platforms/ | sed 's/android-//' | sort -gr | head -1` + APP_PLATFORM="android-${APP_PLATFORM}" + echo "$F: APP_PLATFORM not specified, using ${APP_PLATFORM}" +fi + +if test "x$TARGET_ABI" = "x"; then + TARGET_ABI="armeabi" + echo "$F: TARGET_ABI not specified, using ${TARGET_ABI}" +fi + +if test "$TARGET_ABI" = "x86_64" || test "$TARGET_ABI" = "mips64"; then + USR_LIB="/usr/lib64" +else + USR_LIB="/usr/lib" +fi + + +if test "$1" = "--use-ndk-cflags"; then + shift + ADD_CFLAGS="1" + if test "x${IGNORE_CFLAGS}" = "x"; then + IGNORE_CFLAGS="\-M\|\-f*stack\|\-f*alias" + fi + + NDK_OUT=`${ANDROID_NDK_ROOT}/ndk-build -n -C ${ANDROID_NDK_ROOT}/samples/hello-jni NDK_TOOLCHAIN_VERSION=4.8 APP_PLATFORM=${APP_PLATFORM} APP_ABI=${TARGET_ABI}` + if test ! "${NDK_OUT}"; then + echo "$F error: failed to run ndk-build, check ANDROID_NDK_ROOT env var" + exit 1 + fi + + for i in $NDK_OUT; do + if test "x${NDK_CXX}" != "x" -a "$i" = "-o"; then break; fi + + # Parse NDK CXXFLAGS + if test "x${NDK_CXX}" != "x" -a "x`echo $i|grep 'hello-jni'`" = "x"; then + if test "x`echo $i|grep '\-\-sysroot='`" != "x"; then + ANDROID_SYSROOT=`echo $i|sed 's/--sysroot=//'`; + fi + NDK_CXXFLAGS="${NDK_CXXFLAGS} $i" + fi + + # Parse NDK CFLAGS + if test "x${NDK_CC}" != "x" -a "x`echo $i|grep 'hello-jni'`" = "x" -a "${ADD_CFLAGS}" = "1"; then + if test "$i" = "-c"; then ADD_CFLAGS="0"; else + if test "x`echo $i|grep ${IGNORE_CFLAGS}`" = "x"; then + NDK_CFLAGS="${NDK_CFLAGS} $i" + fi + fi + fi + + # Find gcc toolchain + if test "x${NDK_CC}" = "x" -a "x`echo $i | grep 'gcc'`" != "x"; then + NDK_CC=$i + fi + # Find g++ toolchain + if test "x`echo $i | grep 'g++'`" != "x"; then + NDK_CXX=$i + fi + done + + # Get target host from NDK toolchain dir name + TARGET_HOST=`echo ${NDK_CC} | sed -e 's/.*\/toolchains\/\([^\/]*\).*/\1/'` + + # Remove version number suffix (otherwise config.sub will return error, perhaps it just doesn't like the format) + TARGET_HOST=`echo ${TARGET_HOST} | sed -e 's/\-[0-9\.]*$//'` + + # Make sure target host string has 'linux-android' in it + if test "x`echo ${TARGET_HOST} | grep 'linux-android'`" = "x"; then + #TARGET_HOST=`echo ${TARGET_HOST} | sed -e 's/\(.*\)\-\([0-9\.]*\)/\1-linux-android-\2/'` + TARGET_HOST+=-linux-android + fi + + export CC="${NDK_CC}" + export CXX="${NDK_CXX}" + export AR=`echo ${NDK_CXX}|sed 's/-g++/-ar/'`; + export RANLIB=`echo ${NDK_CXX}|sed 's/-g++/-ranlib/'`; + + export LDFLAGS="${LDFLAGS} -nostdlib -L${ANDROID_SYSROOT}${USR_LIB}" + export LIBS="${LIBS} -lc -lgcc -ldl" + export CFLAGS="${NDK_CFLAGS} ${CFLAGS}" + export CPPFLAGS="${CFLAGS} -fexceptions -frtti" + export CXXFLAGS="${NDK_CXXFLAGS} -fexceptions -frtti" + +else + + if test "$TARGET_ABI" != "armeabi"; then + echo "$F error: For targets other than 'armeabi', specify --use-ndk-cflags" + exit 1 + fi + + TARGET_HOST="arm-linux-androideabi" + + ANDROID_TC_VER=`ls -d ${ANDROID_NDK_ROOT}/toolchains/${TARGET_HOST}-* | sed 's/clang/0/' | sort -gr | head -1` + ANDROID_TC=`ls -d ${ANDROID_TC_VER}/prebuilt/* | grep -v gdbserver | head -1` + if test ! -d ${ANDROID_TC}; then + echo "$F error: unable to find directory ${ANDROID_TC} in Android NDK" + exit 1 + fi + + export ANDROID_SYSROOT="${ANDROID_NDK_ROOT}/platforms/${APP_PLATFORM}/arch-arm" + if test ! -d ${ANDROID_SYSROOT}; then + echo "$F error: unable to find sysroot dir ${ANDROID_SYSROOT} in Android NDK" + exit 1 + fi + + export CC="${ANDROID_TC}/bin/${TARGET_HOST}-gcc" + export CXX="${ANDROID_TC}/bin/${TARGET_HOST}-g++" + export AR="${ANDROID_TC}/bin/${TARGET_HOST}-ar" + export RANLIB="${ANDROID_TC}/bin/${TARGET_HOST}-ranlib" + + export LDFLAGS="${LDFLAGS} -nostdlib -L${ANDROID_SYSROOT}${USR_LIB}" + export LIBS="${LIBS} -lc -lgcc" + export CFLAGS="${CFLAGS} -I${ANDROID_SYSROOT}/usr/include" + export CPPFLAGS="${CFLAGS} -fexceptions -frtti" + export CXXFLAGS="${CXXFLAGS} -shared --sysroot=${ANDROID_SYSROOT} -fexceptions -frtti" + +fi + +if test "x${CC}" = "x" || test ! -e ${CC}; then + echo "$F error: compiler not found, please check environment settings (TARGET_ABI, etc)" + exit 1 +fi + +# C++ STL +# Note: STL for pjsua2 sample app is specified in pjsip-apps/src/swig/java/android/jni/Application.mk + +# gnustl +STDCPP_TC_VER=`ls -d ${ANDROID_NDK_ROOT}/sources/cxx-stl/gnu-libstdc++/[0-9]* | sort -gr | head -1` +STDCPP_CFLAGS="-I${STDCPP_TC_VER}/include -I${STDCPP_TC_VER}/libs/${TARGET_ABI}/include" +STDCPP_LIBS="${ANDROID_SYSROOT}${USR_LIB}/crtbegin_so.o -lgnustl_static" +STDCPP_LDFLAGS="-L${STDCPP_TC_VER}/libs/${TARGET_ABI}/" + +# stlport +#STDCPP_CFLAGS="-I${ANDROID_NDK_ROOT}/sources/cxx-stl/stlport/stlport" +#STDCPP_LIBS="${ANDROID_SYSROOT}${USR_LIB}/crtbegin_so.o -lstlport_static -ldl" +#STDCPP_LDFLAGS="-L${ANDROID_NDK_ROOT}/sources/cxx-stl/stlport/libs/${TARGET_ABI}" + +export CFLAGS="${CFLAGS} ${STDCPP_CFLAGS}" +export LIBS="${STDCPP_LIBS} ${LIBS}" +export LDFLAGS="${LDFLAGS} ${STDCPP_LDFLAGS}" + +# Print settings +if test "1" = "1"; then + echo "$F: calling ./configure with env vars:" + echo " CC = ${CC}" + echo " CXX = ${CXX}" + echo " CFLAGS = ${CFLAGS}" + echo " CXXFLAGS = ${CXXFLAGS}" + echo " LDFLAGS = ${LDFLAGS}" + echo " LIBS = ${LIBS}" + echo " AR = ${AR}" + echo " RANLIB = ${RANLIB}" + echo " TARGET_HOST = ${TARGET_HOST}" +fi + +./configure --host=${TARGET_HOST} $* diff --git a/configure-bb10 b/configure-bb10 new file mode 100644 index 0000000..4474947 --- /dev/null +++ b/configure-bb10 @@ -0,0 +1,67 @@ +#!/bin/sh +# + +F="configure-bb10" + +if test "$*" = "--help" -o "$*" = "-h"; then + echo "$F [--simulator] [OPTIONS]" + echo "" + echo "where:" + echo " --simulator Optional parameter to specify that the compilation" + echo " target is a simulator." + echo " OPTIONS Other options that will be passed directly to" + echo " ./configure script. Run ./configure --help" + echo " for more info." + exit 0 +fi + +# Find simulator argument +args="" +simulator="no" +for arg in "$@"; do + if test "$arg" = "--simulator"; then + simulator="yes" + else + args="$args $arg" + fi +done + +if test "$simulator" = "yes"; then + TARGET_ARCH="x86" + TARGET_ARCHEND=${TARGET_ARCH} + LIBDIR=${TARGET_ARCH} + TARGET_HOST="i486-pc-nto-qnx8.0.0" +else + TARGET_ARCH="armv7" + TARGET_ARCHEND="${TARGET_ARCH}le" + LIBDIR="armle-v7" + TARGET_HOST="arm-unknown-nto-qnx8.0.0eabi" +fi + +RANLIB="${QNX_HOST}/usr/bin/nto${TARGET_ARCH}-ranlib " +CPP="${QNX_HOST}/usr/bin/qcc -V4.6.3,gcc_nto${TARGET_ARCHEND}_cpp -E " +CC="${QNX_HOST}/usr/bin/qcc -V4.6.3,gcc_nto${TARGET_ARCHEND}_cpp " +LD="${QNX_HOST}/usr/bin/nto${TARGET_ARCH}-ld " +export LDFLAGS="$LDFLAGS -L${QNX_TARGET}/${LIBDIR}/usr/lib -L${QNX_TARGET}/${LIBDIR}/lib -L${QNX_HOST}/usr/lib/gcc/${TARGET_HOST}/4.6.3 -lgcc -lasound -laudio_manager" + +if test "$CFLAGS" = ""; then + # Default if no CFLAGS is set in env + export CFLAGS=" -g -O2" +fi +export CFLAGS="$CFLAGS -fPIC -DPJ_CONFIG_BB10=1 -DPJMEDIA_AUDIO_DEV_HAS_BB10=1" + +# Invoke configure +./configure --host=${TARGET_HOST} --disable-oss $args +RETVAL=$? + +# Write to pjsip.pri only if configure was successful +if test $RETVAL -eq 0; then + echo "# Config file to be included in app's .pro file" > pjsip.pri + echo "# Auto-generated by 'configure-bb10 $*'" >> pjsip.pri + make -f bb10-config.mak >> pjsip.pri + + echo PJSIP config file for BB10 has been written to \'pjsip.pri\'. You can include this file from your application\'s .pro file. + echo +fi + + diff --git a/configure-iphone b/configure-iphone new file mode 100644 index 0000000..cf39918 --- /dev/null +++ b/configure-iphone @@ -0,0 +1,155 @@ +#!/bin/bash + +F="configure-iphone" + +if test "$*" = "--help" -o "$*" = "-h"; then + echo "$F [OPTIONS]" + echo "" + echo "where:" + echo " OPTIONS Other options that will be passed directly to" + echo " ./aconfigure script. Run ./aconfigure --help" + echo " for more info." + echo "" + echo "Environment variables:" + echo " IPHONESDK Optionally specify which SDK to use. Value is the full " + echo " path of the SDK. By default, the latest SDK installed" + echo " will be used." + echo " CC Optionally specify the path of the ARM cross compiler" + echo " to use. By default, the compiler is deduced from the" + echo " SDK." + echo " ARCH Optional flags to specify target architecture, e.g." + echo " ARCH='-arch armv6'. Default is armv7." + echo "" + exit 0 +fi + +# Set the main iPhone developer directory, if not set +if test "x${DEVPATH}" = "x"; then + DEVPATH=/Applications/XCode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer + if test ! -d $DEVPATH; then + DEVPATH=/Developer/Platforms/iPhoneOS.platform/Developer + fi + echo "$F: DEVPATH is not specified, using ${DEVPATH}" +fi + +# Make sure $DEVPATH directory exist +if test ! -d $DEVPATH; then + echo "$F error: directory $DEVPATH does not exist. Please install iPhone development kit" + exit 1 +fi + +# Choose SDK version to use +if test "$IPHONESDK" = ""; then + # If IPHONESDK is not set, use the latest one + for f in `ls $DEVPATH/SDKs/`; do echo $f | sed 's/\(.sdk\)//'; done | sort | tail -1 > tmpsdkname + IPHONESDK=`cat tmpsdkname`.sdk + rm -f tmpsdkname + SDKPATH=${DEVPATH}/SDKs/${IPHONESDK} + echo "$F: IPHONESDK is not specified, choosing ${IPHONESDK}" +elif test -d ${IPHONESDK}; then + # .. else if IPHONESDK is set and it points to a valid path, just use it + SDKPATH=${IPHONESDK} +else + # .. else assume the SDK name is used. + SDKPATH=${DEVPATH}/SDKs/${IPHONESDK} +fi + +# Test the SDK directory +if test ! -d ${SDKPATH}/usr/include; then + echo "$F error: unable to find valid iPhone SDK in ${SDKPATH}" + exit 1 +fi + +# Default CFLAGS if it's not specified +if test "$CFLAGS" = ""; then + CFLAGS="-O2 -Wno-unused-label" +fi + +# Default LDFLAGS if it's not specified +if test "$LDFLAGS" = ""; then + LDFLAGS="-O2" +fi + +# Test the toolchain directory +TCPATH="${DEVPATH}/../../../Toolchains/XcodeDefault.xctoolchain" +if test ! -d ${TCPATH}/usr/bin; then + TCPATH="${DEVPATH}" +fi + +# Determine which gcc for this SDK. Binaries should have the +# full path as it's not normally in user's PATH + +if test "${CC}" = ""; then + # Try to use clang if available + ccpath="${TCPATH}/usr/bin/clang" + # Next, try to use llvm-gcc + gccpath="${DEVPATH}/usr/bin/llvm-gcc" + if test -e ${ccpath}; then + export CC="${ccpath}" + elif test -e ${gccpath}; then + export CC="${gccpath}" + else + for archpath in `ls -d ${SDKPATH}/usr/lib/gcc/arm-apple-darwin*`; do + archname=`basename ${archpath}` + for gccver in `ls ${archpath}`; do + gccpath="${DEVPATH}/usr/bin/${archname}-gcc-${gccver}" + if test -e ${gccpath}; then + export CC="${gccpath}" + fi + done + done + fi + if test ! "${CC}" = ""; then + echo "$F: CC is not specified, choosing ${CC}" + fi +fi + +if test "${CC}" = ""; then + echo "$F error: unable to find gcc for ${IPHONESDK}. If you think you have the right gcc, set the full path in CC environment variable." + exit 1 +fi + +if test "${ARCH}" = ""; then + export ARCH="-arch armv7" + echo "$F: ARCH is not specified, choosing ${ARCH}" +fi +export ARCH_VAL=`echo ${ARCH} | sed 's/\-arch //' | sed -e 's/^[ \t]*//;s/[ \t]*$//' ` + +# Set CXX if not set +if test "${CXX}" = ""; then + export CXX=`echo ${CC} | sed 's/gcc/g++/'` + echo "$F: CXX is not specified, using ${CXX}" +fi + +# Other settings to feed to configure script. +#ARCH="-arch armv6" +export CFLAGS="${CFLAGS} -DPJ_SDK_NAME=\"\\\"`basename $SDKPATH`\\\"\" ${ARCH} -isysroot ${SDKPATH}" +export LDFLAGS="${LDFLAGS} ${ARCH} -isysroot ${SDKPATH} -framework AudioToolbox -framework Foundation" +export AR="${TCPATH}/usr/bin/libtool -static -o" +export AR_FLAGS=" " +export RANLIB="echo ranlib" +# Use gcc -E as preprocessor instead of cpp, since cpp will find the +# header files in standard /usr/include instead of in isysroot +export CPP="${CC} ${ARCH} -E -isysroot ${SDKPATH}" + +# Print settings +if test "1" = "1"; then + echo "$F: calling ./aconfigure with env vars:" + echo " CC = ${CC}" + echo " CXX = ${CXX}" + echo " SDKPATH = ${SDKPATH}" + echo " CFLAGS = ${CFLAGS}" + echo " LDFLAGS = ${LDFLAGS}" + echo " AR = ${AR}" + echo " RANLIB = ${RANLIB}" + echo " ARCH = ${ARCH_VAL}" +fi + +# And finally invoke the configure script itself +./aconfigure --host=${ARCH_VAL}-apple-darwin_ios --disable-sdl $* + +if test "$?" = "0"; then + echo "Done configuring for `basename $SDKPATH`" + echo "" +fi + diff --git a/configure-legacy b/configure-legacy new file mode 100644 index 0000000..fd0dd94 --- /dev/null +++ b/configure-legacy @@ -0,0 +1,148 @@ +#!/bin/sh + +PJDIR=`pwd` + +# +# Detect machine, unless the choice has been made already. +# +if [ "$MACHINE" = "" ]; then + MACHINE=`uname -m` +fi + +if echo $MACHINE | grep sun4u > /dev/null; then + MACHINE_NAME=sparc +elif echo $MACHINE | grep i.86 > /dev/null; then + MACHINE_NAME=i386 +elif echo $MACHINE | grep x86_64 > /dev/null; then + MACHINE_NAME=x86_64 +elif echo $MACHINE | grep alpha > /dev/null; then + MACHINE_NAME=alpha +elif echo $MACHINE | grep Mac > /dev/null; then + MACHINE_NAME=powerpc +else + echo "Unable to detect processor type ('uname -m' == '$MACHINE')" + exit 1 +fi + +# +# Detect OS and host, unless the choice has been made already +# +if [ "$SYSTEM" = "" ]; then + SYSTEM=`uname -s` +fi + + +if echo $SYSTEM | grep -i sunos > /dev/null; then + OS_NAME=sunos + HOST_NAME=unix +elif echo $SYSTEM | grep -i linux > /dev/null; then + OS_NAME=linux + HOST_NAME=unix + # More on linux version + KERNEL_VER=`uname -r` + if echo $KERNEL_VER | grep '^2\.4' > /dev/null; then + LINUX_POLL=select + elif echo $KERNEL_VER | grep '^2\.2' > /dev/null; then + LINUX_POLL=select + elif echo $KERNEL_VER | grep '^2\.0' > /dev/null; then + LINUX_EPOLL=select + else +# LINUX_POLL=epoll + LINUX_POLL=select + fi +elif echo $SYSTEM | grep -i mingw > /dev/null; then + OS_NAME=win32 + HOST_NAME=mingw +elif echo $SYSTEM | grep -i cygwin > /dev/null; then + OS_NAME=win32 + HOST_NAME=mingw +elif echo $SYSTEM | grep -i darwin > /dev/null; then + OS_NAME=darwinos + HOST_NAME=unix +elif echo $SYSTEM | grep -i rtems > /dev/null; then + OS_NAME=rtems + HOST_NAME=unix +else + echo "Unable to detect system type ('uname -s' == '$SYSTEM')" + exit 1 +fi + +# +# Detect gcc, unless it has been chosen already +# +if [ "$CC_NAME" = "" ]; then + if gcc --version 2>&1 > /dev/null; then + CC_NAME=gcc + else + echo "Unable to find gcc" + exit 1 + fi +fi + + +# +# Specify TARGET_NAME, if not already choosen. +# +if [ "$TARGET_NAME" = "" ]; then + TARGET_NAME=$MACHINE_NAME-$OS_NAME-$CC_NAME +fi + + +if test -f build.mak; then + echo 'Saving build.mak --> build.mak.old' + cp -f build.mak build.mak.old +fi + +echo 'build.mak configurations are set as follows:' +echo " PJDIR = $PJDIR" +echo " MACHINE_NAME = $MACHINE_NAME" +echo " OS_NAME = $OS_NAME" +echo " HOST_NAME = $HOST_NAME" +echo " CC_NAME = $CC_NAME" +echo " TARGET_NAME = $TARGET_NAME" +echo " CROSS_COMPILE = $CROSS_COMPILE" +echo " LINUX_POLL = $LINUX_POLL" + +echo "# Auto-generated build.mak" > build.mak +echo "export PJDIR := $PJDIR" >> build.mak +echo "export MACHINE_NAME := $MACHINE_NAME" >> build.mak +echo "export OS_NAME := $OS_NAME" >> build.mak +echo "export HOST_NAME := $HOST_NAME" >> build.mak +echo "export CC_NAME := $CC_NAME" >> build.mak +echo "export TARGET_NAME := $TARGET_NAME" >> build.mak +echo "export CROSS_COMPILE := $CROSS_COMPILE" >> build.mak +echo "export LINUX_POLL := $LINUX_POLL" >> build.mak + +echo >> build.mak + +cat << EOF >> build.mak +export APP_CC = \$(CROSS_COMPILE)\$(CC_NAME) + +export APP_CFLAGS = \$(CC_CFLAGS) \$(OS_CFLAGS) \$(HOST_CFLAGS) \$(M_CFLAGS) \$(CFLAGS) -I\$(PJDIR)/pjlib/include -I\$(PJDIR)/pjlib-util/include -I\$(PJDIR)/pjnath/include -I\$(PJDIR)/pjmedia/include -I\$(PJDIR)/pjsip/include + +export APP_CXXFLAGS = \$(APP_CFLAGS) + +export APP_LDFLAGS = -L\$(PJDIR)/pjlib/lib -L\$(PJDIR)/pjlib-util/lib -L\$(PJDIR)/pjnath/lib -L\$(PJDIR)/pjmedia/lib -L\$(PJDIR)/pjsip/lib -L\$(PJDIR)/third_party/lib + +export APP_LDLIBS = -lpjsua-\$(TARGET_NAME) -lpjsip-ua-\$(TARGET_NAME) -lpjsip-simple-\$(TARGET_NAME) -lpjsip-\$(TARGET_NAME) -lpjmedia-codec-\$(TARGET_NAME) -lpjmedia-\$(TARGET_NAME) -lpjnath-\$(TARGET_NAME) -lpjlib-util-\$(TARGET_NAME) \$(APP_THIRD_PARTY_LIBS) \$(APP_THIRD_PARTY_EXT) -lpj-\$(TARGET_NAME) \$(CC_LDFLAGS) \$(OS_LDFLAGS) \$(M_LDFLAGS) \$(HOST_LDFLAGS) \$(LDFLAGS) + +export PJ_DIR = \$(PJDIR) +export PJ_CC = \$(APP_CC) +export PJ_CFLAGS = \$(APP_CFLAGS) +export PJ_CXXFLAGS = \$(APP_CXXFLAGS) +export PJ_LDFLAGS = \$(APP_LDFLAGS) +export PJ_LDLIBS = \$(APP_LDLIBS) + +EOF + +touch user.mak + + +echo +echo "The configuration for current host has been written to 'build.mak'." +echo "Customizations can be put in:" +echo " - 'user.mak'" +echo " - 'pjlib/include/pj/config_site.h'" +echo +echo "Next, run 'make dep && make clean && make'" + diff --git a/doc/pjsip-book/Doxyfile b/doc/pjsip-book/Doxyfile new file mode 100644 index 0000000..49b794c --- /dev/null +++ b/doc/pjsip-book/Doxyfile @@ -0,0 +1,1781 @@ +# Doxyfile 1.7.6.1 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" "). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or sequence of words) that should +# identify the project. Note that if you do not use Doxywizard you need +# to put quotes around the project name if it contains spaces. + +PROJECT_NAME = "pjsua2" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer +# a quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is +# included in the documentation. The maximum height of the logo should not +# exceed 55 pixels and the maximum width should not exceed 200 pixels. +# Doxygen will copy the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = YES + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful if your file system +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding +# "class=itcl::class" will allow you to use the command class in the +# itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also makes the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and +# unions are shown inside the group in which they are included (e.g. using +# @ingroup) instead of on a separate page (for HTML and Man pages) or +# section (for LaTeX and RTF). + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and +# unions with only public data fields will be shown inline in the documentation +# of the scope in which they are defined (i.e. file, namespace, or group +# documentation), provided this scope is documented. If set to NO (the default), +# structs, classes, and unions are shown on a separate page (for HTML and Man +# pages) or section (for LaTeX and RTF). + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penalty. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will roughly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols. + +SYMBOL_CACHE_SIZE = 0 + +# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be +# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given +# their name and scope. Since this can be an expensive process and often the +# same symbol appear multiple times in the code, doxygen keeps a cache of +# pre-resolved symbols. If the cache is too small doxygen will become slower. +# If the cache is too large, memory is wasted. The cache size is given by this +# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespaces are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to +# do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even +# if there is only one candidate or it is obvious which candidate to choose +# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# will still accept a match between prototype and implementation in such cases. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or macro consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and macros in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files +# containing the references data. This must be a list of .bib files. The +# .bib extension is automatically appended if omitted. Using this command +# requires the bibtex tool to be installed. See also +# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style +# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this +# feature you need bibtex and perl available in the search path. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_NO_PARAMDOC option can be enabled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = ../../pjsip/include/pjsua2 + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py +# *.f90 *.f *.for *.vhd *.vhdl + +FILE_PATTERNS = *.hpp + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty or if +# non of the patterns match the file name, INPUT_FILTER is applied. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) +# and it is also possible to disable source filtering for a specific pattern +# using *.ext= (so without naming a filter). This option only has effect when +# FILTER_SOURCE_FILES is enabled. + +FILTER_SOURCE_PATTERNS = + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. +# Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = YES + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = NO + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. Note that when using a custom header you are responsible +# for the proper inclusion of any scripts and style sheets that doxygen +# needs, which is dependent on the configuration options used. +# It is advised to generate a default header using "doxygen -w html +# header.html footer.html stylesheet.css YourConfigFile" and then modify +# that header. Note that the header is subject to change so you typically +# have to redo this when upgrading to a newer version of doxygen or when +# changing the value of configuration settings such as GENERATE_TREEVIEW! + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# style sheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that +# the files will be copied as-is; there are no commands or markers available. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the style sheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# +# Qt Help Project / Custom Filters. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# +# Qt Help Project / Filter Attributes. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) +# at top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. Since the tabs have the same information as the +# navigation tree you can set this option to NO if you already set +# GENERATE_TREEVIEW to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. +# Since the tree basically has the same information as the tab index you +# could consider to set DISABLE_INDEX to NO when enabling this option. + +GENERATE_TREEVIEW = NO + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values +# (range [0,1..20]) that doxygen will group on one line in the generated HTML +# documentation. Note that a value of 0 will completely suppress the enum +# values from appearing in the overview section. + +ENUM_VALUES_PER_LINE = 4 + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax +# (see http://www.mathjax.org) which uses client side Javascript for the +# rendering instead of using prerendered bitmaps. Use this if you do not +# have LaTeX installed or if you want to formulas look prettier in the HTML +# output. When enabled you also need to install MathJax separately and +# configure the path to it using the MATHJAX_RELPATH option. + +USE_MATHJAX = NO + +# When MathJax is enabled you need to specify the location relative to the +# HTML output directory using the MATHJAX_RELPATH option. The destination +# directory should contain the MathJax.js script. For instance, if the mathjax +# directory is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the +# mathjax.org site, so you can quickly see the result without installing +# MathJax, but it is strongly recommended to install a local copy of MathJax +# before deployment. + +MATHJAX_RELPATH = http://www.mathjax.org/mathjax + +# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension +# names that should be enabled during MathJax rendering. + +MATHJAX_EXTENSIONS = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvantages are that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4 + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for +# the generated latex document. The footer should contain everything after +# the last chapter. If it is left blank doxygen will generate a +# standard footer. Notice: only use this tag if you know what you are doing! + +LATEX_FOOTER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +# The LATEX_BIB_STYLE tag can be used to specify the style to use for the +# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See +# http://en.wikipedia.org/wiki/BibTeX for more info. + +LATEX_BIB_STYLE = plain + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load style sheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = YES + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# pointed to by INCLUDE_PATH will be searched when a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = DOXYGEN + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition that +# overrules the definition found in the source code. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all references to function-like macros +# that are alone on a line, have an all uppercase name, and do not end with a +# semicolon, because these will confuse the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option also works with HAVE_DOT disabled, but it is recommended to +# install and use dot, since it yields more powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will use the Helvetica font for all dot files that +# doxygen generates. When you want a differently looking font you can specify +# the font name using DOT_FONTNAME. You need to make sure dot is able to find +# the font, which can be done by putting it in a standard location or by setting +# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. + +DOT_FONTNAME = Helvetica + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the Helvetica font. +# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to +# set the path where dot can find it. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will generate a graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are svg, png, jpg, or gif. +# If left blank png will be used. If you choose svg you need to set +# HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible in IE 9+ (other browsers do not have this requirement). + +DOT_IMAGE_FORMAT = png + +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to +# enable generation of interactive SVG images that allow zooming and panning. +# Note that this requires a modern browser other than Internet Explorer. +# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you +# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible. Older versions of IE do not have SVG support. + +INTERACTIVE_SVG = NO + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the +# \mscfile command). + +MSCFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = YES + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES diff --git a/doc/pjsip-book/Makefile b/doc/pjsip-book/Makefile new file mode 100644 index 0000000..696410e --- /dev/null +++ b/doc/pjsip-book/Makefile @@ -0,0 +1,170 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +all: html + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + -rm -rf $(BUILDDIR)/* + -rm -rf xml + -rm -rf html + +install: + @if test -z "$(WWWDIR)" ; then \ + echo WWWDIR is not set; \ + else \ + echo Copying html dir to $(WWWDIR)/docs/book-latest/..; \ + cp -a -f _build/html $(WWWDIR)/docs/book-latest/; \ + echo Copying PJSUA2Doc.pdf to $(WWWDIR)/docs/book-latest/..; \ + cp -f _build/latex/PJSUA2Doc.pdf $(WWWDIR)/docs/book-latest/; \ + fi + +xml: Doxyfile ../../pjsip/include/pjsua2 + doxygen + +html: xml + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/ThePJSIPBook.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/ThePJSIPBook.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/ThePJSIPBook" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/ThePJSIPBook" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: xml + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." diff --git a/doc/pjsip-book/account.rst b/doc/pjsip-book/account.rst new file mode 100644 index 0000000..c4bfbac --- /dev/null +++ b/doc/pjsip-book/account.rst @@ -0,0 +1,222 @@ + +Accounts +========= +Accounts provide identity (or identities) of the user who is currently using the application. An account has one SIP Uniform Resource Identifier (URI) associated with it. In SIP terms, this URI acts as Address of Record (AOR) of the person and is used as the From header in outgoing requests. + +Account may or may not have client registration associated with it. An account is also associated with route set and some authentication credentials, which are used when sending SIP request messages using the account. An account also has presence status, which will be reported to remote peer when they subscribe to the account's presence, or which is published to a presence server if presence publication is enabled for the account. + +At least one account MUST be created in the application, since any outgoing requests require an account context. If no user association is required, application can create a userless account by calling Account.create(). A userless account identifies local endpoint instead of a particular user, and it corresponds to a particular transport ID. + +Also one account must be set as the default account, which will be used as the account identity when pjsua fails to match incoming request with any accounts using the stricter matching rules. + +Subclassing the Account class +--------------------------------- +To use the Account class, normally application SHOULD create its own subclass, in order to receive notifications for the account. For example: + +.. code-block:: c++ + + class MyAccount : public Account + { + public: + MyAccount() {} + ~MyAccount() {} + + virtual void onRegState(OnRegStateParam &prm) + { + AccountInfo ai = getInfo(); + cout << (ai.regIsActive? "*** Register: code=" : "*** Unregister: code=") + << prm.code << endl; + } + + virtual void onIncomingCall(OnIncomingCallParam &iprm) + { + Call *call = new MyCall(*this, iprm.callId); + + // Just hangup for now + CallOpParam op; + op.statusCode = PJSIP_SC_DECLINE; + call->hangup(op); + + // And delete the call + delete call; + } + }; + +In its subclass, application can implement the account callbacks, which is basically used to process events related to the account, such as: + +- the status of SIP registration +- incoming calls +- incoming presence subscription requests +- incoming instant message not from buddy + +Application needs to override the relevant callback methods in the derived class to handle these particular events. + +If the events are not handled, default actions will be invoked: + +- incoming calls will not be handled +- incoming presence subscription requests will be accepted +- incoming instant messages from non-buddy will be ignored + +Creating Userless Accounts +-------------------------- +A userless account identifies a particular SIP endpoint rather than a particular user. Some other SIP softphones may call this peer-to-peer mode, which means that we are calling another computer via its address rather than calling a particular user ID. For example, we might identify ourselves as "sip:192.168.0.15" (a userless account) rather than, say, "sip:alice@pjsip.org". + +In the lower layer PJSUA-LIB API, a userless account is associated with a SIP transport, and is created with ``pjsua_acc_add_local()`` API. This concept has been deprecated in PJSUA2, and rather, a userless account is a "normal" account with a userless ID URI (e.g. "sip:192.168.0.15") and without registration. Thus creating a userless account is exactly the same as creating "normal" account. + + +Creating Account +---------------- +We need to configure AccountConfig and call Account.create() to create the account. At the very minimum, pjsua only requires the account's ID, which is an URI to identify the account (or in SIP terms, it's called Address of Record/AOR). Here's a snippet: + +.. code-block:: c++ + + AccountConfig acc_cfg; + acc_cfg.idUri = "sip:test1@pjsip.org"; + + MyAccount *acc = new MyAccount; + try { + acc->create(acc_cfg); + } catch(Error& err) { + cout << "Account creation error: " << err.info() << endl; + } + +The account created above doesn't do anything except to provide identity in the "From:" header for outgoing requests. The account will not register to SIP server or anything. + +Typically you will want the account to authenticate and register to your SIP server so that you can receive incoming calls. To do that you will need to configure some more settings in your AccountConfig, something like this: + +.. code-block:: c++ + + AccountConfig acc_cfg; + acc_cfg.idUri = "sip:test1@pjsip.org"; + acc_cfg.regConfig.registrarUri = "sip:pjsip.org"; + acc_cfg.sipConfig.authCreds.push_back( AuthCredInfo("digest", "*", "test1", 0, "secret1") ); + + MyAccount *acc = new MyAccount; + try { + acc->create(acc_cfg); + } catch(Error& err) { + cout << "Account creation error: " << err.info() << endl; + } + +Account Configurations +----------------------- +There are many more settings that can be specified in AccountConfig, like: + +- AccountRegConfig, to specify registration settings, such as registrar server and retry interval. +- AccountSipConfig, to specify SIP settings, such as credential information and proxy server. +- AccountCallConfig, to specify call settings, such as whether reliable provisional response (SIP 100rel) is required. +- AccountPresConfig, to specify presence settings, such as whether presence publication (PUBLISH) is enabled. +- AccountMwiConfig, to specify MWI (Message Waiting Indication) settings. +- AccountNatConfig, to specify NAT settings, such as whether STUN or ICE is used. +- AccountMediaConfig, to specify media settings, such as Secure RTP (SRTP) related settings. +- AccountVideoConfig, to specify video settings, such as default capture and render device. + +Please see AccountConfig reference documentation for more info. + +Account Operations +-------------------------------------- +Some of the operations to the Account object: + +- manage registration +- manage buddies/contacts +- manage presence online status + +Please see the reference documentation for Account for more info. Calls, presence, and buddy will be explained in later chapters. + + +Class Reference +--------------- +Account ++++++++ +.. doxygenclass:: pj::Account + :path: xml + :members: + +AccountInfo ++++++++++++ +.. doxygenstruct:: pj::AccountInfo + :path: xml + +Account Settings +++++++++++++++++ +AccountConfig +~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountConfig + :path: xml + +AccoutRegConfig +~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountRegConfig + :path: xml + +AccountSipConfig +~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountSipConfig + :path: xml + +AccountCallConfig +~~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountCallConfig + :path: xml + +AccountPresConfig +~~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountPresConfig + :path: xml + +AccountMwiConfig +~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountMwiConfig + :path: xml + +AccountNatConfig +~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountNatConfig + :path: xml + +AccountMediaConfig +~~~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountMediaConfig + :path: xml + +AccountVideoConfig +~~~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::AccountVideoConfig + :path: xml + + +Callback Parameters ++++++++++++++++++++ +.. doxygenstruct:: pj::OnIncomingCallParam + :path: xml + +.. doxygenstruct:: pj::OnRegStartedParam + :path: xml + +.. doxygenstruct:: pj::OnRegStateParam + :path: xml + +.. doxygenstruct:: pj::OnIncomingSubscribeParam + :path: xml + +.. doxygenstruct:: pj::OnInstantMessageParam + :path: xml + +.. doxygenstruct:: pj::OnInstantMessageStatusParam + :path: xml + +.. doxygenstruct:: pj::OnTypingIndicationParam + :path: xml + +.. doxygenstruct:: pj::OnMwiInfoParam + :path: xml + +.. doxygenstruct:: pj::PresNotifyParam + :path: xml + +Other ++++++ +.. doxygenclass:: pj::FindBuddyMatch + :path: xml + :members: + diff --git a/doc/pjsip-book/breathe.rst b/doc/pjsip-book/breathe.rst new file mode 100644 index 0000000..ea6d351 --- /dev/null +++ b/doc/pjsip-book/breathe.rst @@ -0,0 +1,113 @@ +Appendix: Generating This Documentation +======================================= + +Requirements +------------ + +This documentation is created with `Sphinx `_ and `Breathe `_. Here are the required tools: + +1. Doxygen is required. `Install `_ it for your platform. + +2. The easiest way to install all the tools is with `Python Package Index (PyPI) `_. Just run this and it will install Sphinx, Breathe, and all the required tools if they are not installed:: + + $ sudo pip install breathe + +3. Otherwise if PyPI is not available, consult Sphinx and Breathe sites for installation instructions and you may need to install these manually: + + - `Sphinx `_ + - `Breathe `_ + - docutils + - Pygments + + +Rendering The Documentation +------------------------------ +The main source of the documentation is currently the '''Trac''' pages at https://trac.pjsip.org/repos/wiki/pjsip-doc/index. The copies in SVN are just copies for backup. + +To render the documentation as HTML in `_build/html` directory:: + + $ cd $PJDIR/doc/pjsip-book + $ python fetch_trac.py + $ make + +To build PDF, run:: + + $ make latexpdf + + +How to Use Integrate Book with Doxygen +-------------------------------------- +Quick sample:: + + will be rendered like this: + +++++++++++++++++++++++++++ + + This is how to quote a code with syntax coloring: + + .. code-block:: c++ + + pj::AudioMediaPlayer *player = new AudioMediaPlayer; + player->createPlayer("announcement.wav"); + + There are many ways to refer a symbol: + + * A method: :cpp:func:`pj::AudioMediaPlayer::createPlayer()` + * A method with alternate display: :cpp:func:`a method ` + * A class :cpp:class:`pj::AudioMediaPlayer` + * A class with alternate display: :cpp:class:`a class ` + + For that links to work, we need to display the link target declaration (a class or method) + somewhere in the doc, like this: + + .. doxygenclass:: pj::AudioMediaPlayer + :path: xml + :members: + + Alternatively we can display a single method declaration like this: + + .. doxygenfunction:: pj::AudioMediaPlayer::createPlayer() + :path: xml + :no-link: + + We can also display class declaration with specific members. + + For more info see `Breathe documentation `_ + + +.. default-domain:: cpp + +will be rendered like this: ++++++++++++++++++++++++++++ + +This is how to quote a code with syntax coloring: + +.. code-block:: c++ + + pj::AudioMediaPlayer *player = new AudioMediaPlayer; + player->createPlayer("announcement.wav"); + +There are many ways to refer a symbol: + +* A method: :cpp:func:`pj::AudioMediaPlayer::createPlayer()` +* A method with alternate display: :cpp:func:`a method ` +* A class :cpp:class:`pj::AudioMediaPlayer` +* A class with alternate display: :cpp:class:`a class ` + +For that links to work, we need to display the link target declaration (a class or method) somewhere in the doc, like this: + + .. doxygenclass:: pj::AudioMediaPlayer + :path: xml + :members: + +Alternatively we can display a single method declaration like this: + + .. doxygenfunction:: pj::AudioMediaPlayer::createPlayer() + :path: xml + :no-link: + +We can also display class declaration with specific members. + +For more info see `Breathe documentation `_ + + + diff --git a/doc/pjsip-book/call.rst b/doc/pjsip-book/call.rst new file mode 100644 index 0000000..f3aee4e --- /dev/null +++ b/doc/pjsip-book/call.rst @@ -0,0 +1,244 @@ + +Calls +===== +Calls are represented by Call class. + +Subclassing the Call Class +------------------------------------ +To use the Call class, normally application SHOULD create its own subclass, such as: + +.. code-block:: c++ + + class MyCall : public Call + { + public: + MyCall(Account &acc, int call_id = PJSUA_INVALID_ID) + : Call(acc, call_id) + { } + + ~MyCall() + { } + + // Notification when call's state has changed. + virtual void onCallState(OnCallStateParam &prm); + + // Notification when call's media state has changed. + virtual void onCallMediaState(OnCallMediaStateParam &prm); + }; + +In its subclass, application can implement the call callbacks, which is basically used to process events related to the call, such as call state change or incoming call transfer request. + +Making Outgoing Calls +-------------------------------------- +Making outgoing call is simple, just invoke makeCall() method of the Call object. Assuming you have the Account object as acc variable and destination URI string in dest_uri, you can initiate outgoing call with the snippet below: + +.. code-block:: c++ + + Call *call = new MyCall(*acc); + CallOpParam prm(true); // Use default call settings + try { + call->makeCall(dest_uri, prm); + } catch(Error& err) { + cout << err.info() << endl; + } + +The snippet above creates a Call object and initiates outgoing call to dest_uri using the default call settings. Subsequent operations to the call can use the method in the call instance, and events to the call will be reported to the callback. More on the callback will be explained a bit later. + +Receiving Incoming Calls +-------------------------------------- +Incoming calls are reported as onIncomingCall() of the Account class. You must derive a class from the Account class to handle incoming calls. + +Below is a sample code of the callback implementation: + +.. code-block:: c++ + + void MyAccount::onIncomingCall(OnIncomingCallParam &iprm) + { + Call *call = new MyCall(*this, iprm.callId); + CallOpParam prm; + prm.statusCode = PJSIP_SC_OK; + call->answer(prm); + } + +For incoming calls, the call instance is created in the callback function as shown above. Application should make sure to store the call instance during the lifetime of the call (that is until the call is disconnected). + +Call Properties +---------------- +All call properties such as state, media state, remote peer information, etc. are stored as CallInfo class, which can be retrieved from the call object with using getInfo() method of the Call. + +Call Disconnection +------------------- +Call disconnection event is a special event since once the callback that reports this event returns, the call is no longer valid and any operations invoked to the call object will raise error exception. Thus, it is recommended to delete the call object inside the callback. + +The call disconnection is reported in onCallState() method of Call and it can be detected as follows: + +.. code-block:: c++ + + void MyCall::onCallState(OnCallStateParam &prm) + { + CallInfo ci = getInfo(); + if (ci.state == PJSIP_INV_STATE_DISCONNECTED) { + /* Delete the call */ + delete this; + } + } + +Working with Call's Audio Media +------------------------------------------------- +You can only operate with the call's audio media (e.g. connecting the call to the sound device in the conference bridge) when the call's audio media is ready (or active). The changes to the call's media state is reported in onCallMediaState() callback, and if the calls audio media is ready (or active) the function Call.getMedia() will return a valid audio media. + +Below is a sample code to connect the call to the sound device when the media is active: + +.. code-block:: c++ + + void MyCall::onCallMediaState(OnCallMediaStateParam &prm) + { + CallInfo ci = getInfo(); + // Iterate all the call medias + for (unsigned i = 0; i < ci.media.size(); i++) { + if (ci.media[i].type==PJMEDIA_TYPE_AUDIO && getMedia(i)) { + AudioMedia *aud_med = (AudioMedia *)getMedia(i); + + // Connect the call audio media to sound device + AudDevManager& mgr = Endpoint::instance().audDevManager(); + aud_med->startTransmit(mgr.getPlaybackDevMedia()); + mgr.getCaptureDevMedia().startTransmit(*aud_med); + } + } + } + +When the audio media becomes inactive (for example when the call is put on hold), there is no need to stop the audio media's transmission to/from the sound device since the call's audio media will be removed automatically from the conference bridge when it's no longer valid, and this will automatically remove all connections to/from the call. + +Call Operations +------------------- +You can invoke operations to the Call object, such as hanging up, putting the call on hold, sending re-INVITE, etc. Please see the reference documentation of Call for more info. + +Instant Messaging(IM) +--------------------- +You can send IM within a call using Call.sendInstantMessage(). The transmission status of outgoing instant messages is reported in Call.onInstantMessageStatus() callback method. + +In addition to sending instant messages, you can also send typing indication using Call.sendTypingIndication(). + +Incoming IM and typing indication received within a call will be reported in the callback functions Call.onInstantMessage() and Call.onTypingIndication(). + +Alternatively, you can send IM and typing indication outside a call by using Buddy.sendInstantMessage() and Buddy.sendTypingIndication(). For more information, please see Presence documentation. + + +Class Reference +--------------- +Call +++++ +.. doxygenclass:: pj::Call + :path: xml + :members: + +Settings +++++++++ +.. doxygenstruct:: pj::CallSetting + :path: xml + + +Info and Statistics ++++++++++++++++++++ +.. doxygenstruct:: pj::CallInfo + :path: xml + +.. doxygenstruct:: pj::CallMediaInfo + :path: xml + +.. doxygenstruct:: pj::StreamInfo + :path: xml + +.. doxygenstruct:: pj::StreamStat + :path: xml + +.. doxygenstruct:: pj::JbufState + :path: xml + +.. doxygenstruct:: pj::RtcpStat + :path: xml + +.. doxygenstruct:: pj::RtcpStreamStat + :path: xml + +.. doxygenstruct:: pj::MathStat + :path: xml + +.. doxygenstruct:: pj::MediaTransportInfo + :path: xml + + +Callback Parameters ++++++++++++++++++++ +.. doxygenstruct:: pj::OnCallStateParam + :path: xml + +.. doxygenstruct:: pj::OnCallTsxStateParam + :path: xml + +.. doxygenstruct:: pj::OnCallMediaStateParam + :path: xml + +.. doxygenstruct:: pj::OnCallSdpCreatedParam + :path: xml + +.. doxygenstruct:: pj::OnStreamCreatedParam + :path: xml + +.. doxygenstruct:: pj::OnStreamDestroyedParam + :path: xml + +.. doxygenstruct:: pj::OnDtmfDigitParam + :path: xml + +.. doxygenstruct:: pj::OnCallTransferRequestParam + :path: xml + +.. doxygenstruct:: pj::OnCallTransferStatusParam + :path: xml + +.. doxygenstruct:: pj::OnCallReplaceRequestParam + :path: xml + +.. doxygenstruct:: pj::OnCallReplacedParam + :path: xml + +.. doxygenstruct:: pj::OnCallRxOfferParam + :path: xml + +.. doxygenstruct:: pj::OnCallRedirectedParam + :path: xml + +.. doxygenstruct:: pj::OnCallMediaEventParam + :path: xml + +.. doxygenstruct:: pj::OnCallMediaTransportStateParam + :path: xml + +.. doxygenstruct:: pj::OnCreateMediaTransportParam + :path: xml + +.. doxygenstruct:: pj::CallOpParam + :path: xml + +.. doxygenstruct:: pj::CallSendRequestParam + :path: xml + +.. doxygenstruct:: pj::CallVidSetStreamParam + :path: xml + +Other ++++++ +.. doxygenstruct:: pj::MediaEvent + :path: xml + +.. doxygenstruct:: pj::MediaFmtChangedEvent + :path: xml + +.. doxygenstruct:: pj::SdpSession + :path: xml + +.. doxygenstruct:: pj::RtcpSdes + :path: xml + + diff --git a/doc/pjsip-book/conf.py b/doc/pjsip-book/conf.py new file mode 100644 index 0000000..3e21197 --- /dev/null +++ b/doc/pjsip-book/conf.py @@ -0,0 +1,256 @@ +# -*- coding: utf-8 -*- +# +# The PJSIP Book documentation build configuration file, created by +# sphinx-quickstart on Sat Nov 30 06:36:26 2013. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys, os + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ----------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = [ 'breathe', 'sphinx.ext.todo', 'sphinx.ext.viewcode'] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'PJSUA2 Documentation' +copyright = u'2014, Teluu Ltd.' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '1.0' +# The full version, including alpha/beta/rc tags. +release = '1.0-alpha' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + + +# -- Options for HTML output --------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'default' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'PJSUA2Doc' + + +# -- Options for LaTeX output -------------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass [howto/manual]). +latex_documents = [ + ('index', 'PJSUA2Doc.tex', u'PJSUA2 Documentation', + u'Sauw Ming Liong, Benny Prijono', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output -------------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'pjsua2doc', u'PJSUA2 Documentation', + [u'Sauw Ming Liong', u'Benny Prijono'], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------------ + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'PJSUA2Doc', u'PJSUA2 Documentation', + u'Sauw Ming Liong@*Benny Prijono', 'ThePJSIPBook', 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' + +breathe_projects = { + "pjsua2": "xml/", +} + +breathe_default_project = "pjsua2" + +breathe_projects_source = { + "pjsua2":"../../pjsip/include/pjsua2" +} + +breathe_domain_by_extension = { + "hpp":"cpp" +} diff --git a/doc/pjsip-book/consider.rst b/doc/pjsip-book/consider.rst new file mode 100644 index 0000000..9533503 --- /dev/null +++ b/doc/pjsip-book/consider.rst @@ -0,0 +1,215 @@ + +Development Guidelines and Considerations +***************************************** + +Development Guidelines +====================== + +Preparation +------------ +* **Essential:** Familiarise yourself with SIP. You don't need to be an expert, but SIP knowledge is essential. +* Check out our features in `Datasheet `_. Other features may be provided by our `community `_. +* All PJSIP documentation is indexed in our `Trac site `_. + + +Development +------------- +* **Essential:** Follow the `Getting Started `_ instructions to build PJSIP for your platform. +* **Essential:** Interactive debugging capability is essential during development +* Start with default settings in ``. The default settings should be good to get you started. You can always optimize later after things are running okay. + +Coding Style +------------- +**Essential:** set your editor to use 8 characters tab size in order to see PJSIP source correctly. + +Detailed below is the PJSIP coding style. You don't need to follow it unless you are submitting patches to PJSIP: + +* Indentation uses tabs and spaces. Tab size is 8 characters, indentation 4. +* All public API in header file must be documented in Doxygen format. +* Apart from that, we mostly just use `K & R style `_, which is the only correct style anyway. + + +Deployment +----------- +* **Essential:** Logging is essential when troubleshooting any problems. The application MUST be equipped with logging capability. Enable PJSIP log at level 5. + + +Platform Consideration +======================== +Platform selection is usually driven by business motives. The selection will affect all aspects of development, and here we will cover considerations for each platforms that we support. + +Windows Desktop +--------------- +Windows is supported from Windows 2000 up to the recent Windows 8 and beyond. All features are expected to work. 64bit support was added recently. Development is based on Visual Studio. Considerations for this platform include: + +#. Because Visual Studio file format keeps changing on every release, we decided to support the lowest denominator, namely Visual Studio 2005. Unfortunately the project upgrade procedure fails on Visual Studio 2010, and we don't have any solution for that. VS 2008 and VS 2012 onwards should work. + +MacOS X +------- +All features are expected to work. Considerations include: + +#. Development with XCode is currently not supported. This is **not** to say that you cannot use XCode, but PJSIP only provides basic Makefiles and if you want to use XCode you'd need to arrange the project yourself. +#. Mac systems typically provides very good sound device, so we don't expect any problems with audio on Mac. + +Linux Desktop +------------- +All features are expected to work. Linux considerations: + +#. Use our native ALSA backend instead of PortAudio because ALSA has less jitter than OSS and our backend is more lightweight than PortAudio + + +iOS for iPhone, iPad, and iPod Touch +------------------------------------ +All features except video are expected to work (video is coming soon!). Considerations for iOS: + +#. You need to use TCP transport for SIP for the background feature to work +#. IP change (for example when user is changing access point) is a feature frequently asked by developers and you can find the documentation here: http://trac.pjsip.org/repos/wiki/IPAddressChange +#. There are some specific issues for iOS 7 and beyond, please see http://trac.pjsip.org/repos/ticket/1697 +#. If SSL is needed, you need to compile OpenSSL for iOS + + +Android +------- +All features except video are expected to work (video is coming soon!). Considerations for Android: + +#. You can only use PJSUA2 Java binding for this target. +#. It has been reported that Android audio device is not so good in general, so some audio tuning may be needed. Echo cancellation also needs to be checked. +#. This is also a new platform for us. + + +Symbian +------- +Symbian has been supported for a long time. In general all features (excluding video) are expected to work, but we're not going to do Symbian specific development anymore. Other considerations for Symbian: + +#. The MDA audio is not very good (it has high latency), so normally you'd want to use Audio Proxy Server (APS) or VoIP Audio Service (VAS) for the audio device, which we support. Using these audio backends will also provide us with high quality echo cancellation as well as low bitrate codecs such as AMR-NB, G.729, and iLBC. But VAS and APS requires purchase of Nokia development certificate to sign the app, and also since APS and VAS only run on specific device type, you need to package the app carefully and manage the deployment to cover various device types. + + +BlackBerry 10 +------------- +BlackBerry 10 (BB10) is supported since PJSIP version 2.2. As this is a relatively new platform for us, we are currently listening to developer's feedback regarding the port. But so far it seems to be working well. Some considerations for BB10 platform include: + +#. IP change (for example when user is changing access point) is a feature frequently asked by developers and you can find the documentation here: http://trac.pjsip.org/repos/wiki/IPAddressChange + + +Windows Mobile +-------------- +This is the old Windows Mobile platform that is based on WinCE. This platform has been supported for a long time. We expect all features except video to work, but there may be some errors every now and then because this target is not actively maintained. No new development will be done for this platform. + +Other considerations for Windows Mobile platform are: + +#. The quality of audio device on WM varies a lot, and this affects audio latency. Audio latency could go as high as hundreds of millisecond on bad hardware. +#. Echo cancellation could be a problem. We can only use basic echo suppressor due to hardware limitation, and combined with bad quality of audio device, it may cause ineffective echo cancellation. This could be mitigated by setting the audio level to low. + + +Windows Phone 8 +--------------- +Windows Phone 8 (WP8) support is being added and is still under development on `projects/winphone` branch. Specific considerations for this platform are: + +#. WP8 governs specific interaction with WP8 GUI and framework that needs to be followed by application in order to make VoIP call work seamlessly on the device. Some lightweight process will be created by WP8 framework in order for background call to work and PJSIP needs to put its background processing in this process' context. Currently this feature is under development. + + + +Embedded Linux +-------------- +In general embedded Linux support is similar to Linux and we find no problems with it. We found some specific considerations for embedded Linux as follows: + +#. The performance of the audio device is probably the one with most issues, as some development boards does not have a decent sound device. Typically there is high audio jitter (or burst) and latency. This will affect end to end audio latency and also the performance of the echo canceller. Also we found that ALSA generally works better than OSS, so if you can have ALSA up and running that will be better. Use our native ALSA backend audio device instead of PortAudio since it is simpler and lighter. + + +QNX or Other Posix Embedded OS +------------------------------ +This is not part of our officially supported OS platforms, but users have run PJSIP on QNX and BlackBerry 10 is based on QNX too. Since QNX provides Posix API, and maybe by using the settings found in the configure-bb10 script, PJSIP should be able to run on it, but you need to develop PJMEDIA sound device wrapper for your audio device. Other than this, we don't have enough experience to comment on the platform. + + +Other Unix Desktop OSes +----------------------- +Community members, including myself, have occasionally run PJSIP on other Unix OSes such as Solaris, FreeBSD, and OpenBSD. We expect PJSIP to run on these platforms (maybe with a little kick). + + +Porting to Other Embedded OS +------------------------------ +It is possible to port PJSIP to other embedded OS or even directly to device without OS and people have done so. In general, the closer resemblance the new OS to existing supported OS, the easier the porting job will be. The good thing is, PJSIP has been made to be very very portable, and system dependent features are localized in PJLIB and PJMEDIA audio device, so the effort is more quantifiable. Once you are able to successfully run *pjlib-test*, you are more or less there with your porting effort. Other than that, if you really want to port PJSIP to new platform, you probably already know what you're doing. + + + +Which API to Use +================ + +PJSIP, PJMEDIA, and PJNATH Level +-------------------------------- +At the lowest level we have the individual PJSIP **C** libraries, which consist of PJSIP, PJMEDIA, and PJNATH, with PJLIB-UTIL and PJLIB as support libraries. This level provides the most flexibility, but it's also the hardest to use. The only reason you'd want to use this level is if: + +#. You only need the individual library (say, PJNATH) +#. You need to be very very tight in footprint (say when things need to be measured in Kilobytes instead of Megabytes) +#. You are **not** developing a SIP client + +Use the corresponding PJSIP, PJMEDIA, PJNATH manuals from http://trac.pjsip.org/repos/ for information on how to use the libraries. If you use PJSIP, the PJSIP Developer's Guide (PDF) from that page provides in-depth information about PJSIP library. + +PJSUA-LIB API +------------- +Next up is PJSUA-LIB API that combines all those libraries into a high level, integrated client user agent library written in C. This is the library that most PJSIP users use, and the highest level abstraction before pjsua2 was created. + +Motivations for using PJSUA-LIB library includes: + +#. Developing client application (PJSUA-LIB is optimized for developing client app) +#. Better efficiency than higher level API + + +PJSUA2 C++ API +-------------- +pjsua2 is a new, objected oriented, C++ API created on top of PJSUA-LIB. The API is different than PJSUA-LIB, but it should be even easier to use and it should have better documentation too (such as this book). The pjsua2 API removes most cruxes typically associated with PJSIP, such as the pool and pj_str_t, and add new features such as object persistence so you can save your configs to a file, for example. All data structures are rewritten for more clarity. + +A C++ application can use pjsua2 natively, while at the same time still has access to the lower level objects if it needs to. This means that the C++ application should not lose any information from using the C++ abstraction, compared to if it is using PJSUA-LIB directly. The C++ application also should not lose the ability to extend the library. It would still be able to register a custom PJSIP module, pjmedia_port, pjmedia_transport, and so on. + +Benefits of using pjsua2 C++ API include: + +#. Cleaner object oriented API +#. Uniform API for higher level language such as Java and Python +#. Persistence API +#. The ability to access PJSUA-LIB and lower level libraries when needed (including the ability to extend the libraries, for example creating custom PJSIP module, pjmedia_port, pjmedia_transport, etc.) + + +Some considerations on PJSUA2 C++ API are: + +#. Instead of returning error, the API uses exception for error reporting +#. It uses standard C++ library (STL) +#. The performance penalty due to the API abstraction should be negligible on typical modern device + + + +PJSUA2 API for Java, Python, and Others +--------------------------------------- +The PJSUA2 API is also available for non-native code via SWIG binding. Configurations for Java and Python are provided with the distribution. Thanks to SWIG, other language bindings may be generated relatively easily. + +The pjsua2 API for non-native code is effectively the same as pjsua2 C++ API. However, unlike C++, you cannot access PJSUA-LIB and the underlying C libraries from the scripting language, hence you are limited to what pjsua2 provides. + +You can use this API if native application development is not available in target platform (such as Android), or if you prefer to develop with non-native code instead of C/C++. + + + + +Network and Infrastructure Considerations +========================================= + +NAT Issues +---------- +TBD. + +TCP Requirement +--------------- +If you support iOS devices in your service, you need to use TCP, because only TCP will work on iOS device when it is in background mode. This means your infrastructure needs to support TCP. + + +Sound Device +============ + +Latency +------- +TBD. + +Echo Cancellation +----------------- +TBD. + + + diff --git a/doc/pjsip-book/endpoint.rst b/doc/pjsip-book/endpoint.rst new file mode 100644 index 0000000..3dfefa2 --- /dev/null +++ b/doc/pjsip-book/endpoint.rst @@ -0,0 +1,172 @@ + +Endpoint +************ +The Endpoint class is a singleton class, and application MUST create one and at most one of this class instance before it can do anything else, and similarly, once this class is destroyed, application must NOT call any library API. This class is the core class of PJSUA2, and it provides the following functions: + +- Starting up and shutting down +- Customization of configurations, such as core UA (User Agent) SIP configuration, media configuration, and logging configuration + +This chapter will describe the functions above. + +To use the Endpoint class, normally application does not need to subclass it unless: + +- application wants to implement/override Endpoints callback methods to get the events such as transport state change or NAT detection completion, or +- application schedules a timer using Endpoint.utilTimerSchedule() API. In this case, application needs to implement the onTimer() callback to get the notification when the timer expires. + +Instantiating the Endpoint +-------------------------- +Before anything else, you must instantiate the Endpoint class:: + + Endpoint *ep = new Endpoint; + +Once the endpoint is instantiated, you can retrieve the Endpoint instance using Endpoint.instance() static method. + +Creating the Library +---------------------- +Create the library by calling its libCreate() method: + +.. code-block:: c++ + + try { + ep->libCreate(); + } catch(Error& err) { + cout << "Startup error: " << err.info() << endl; + } + +The libCreate() method will raise exception if error occurs, so we need to trap the exception using try/catch clause as above. + +Initializing the Library and Configuring the Settings +---------------------------------------------------------------------------- + +The EpConfig class provides endpoint configuration which allows the customization of the following settings: + +- UAConfig, to specify core SIP user agent settings. +- MediaConfig, to specify various media *global* settings +- LogConfig, to customize logging settings. + +Note that some settings can be further specified on per account basis, in the AccountConfig. + +To customize the settings, create instance of EpConfig class and specify them during the endpoint initialization (will be explained more later), for example: + +.. code-block:: c++ + + EpConfig ep_cfg; + ep_cfg.logConfig.level = 5; + ep_cfg.uaConfig.maxCalls = 4; + ep_cfg.mediaConfig.sndClockRate = 16000; + +Next, you can initialize the library by calling libInit(): + +.. code-block:: c++ + + try { + EpConfig ep_cfg; + // Specify customization of settings in ep_cfg + ep->libInit(ep_cfg); + } catch(Error& err) { + cout << "Initialization error: " << err.info() << endl; + } + +The snippet above initializes the library with the default settings. + +Creating One or More Transports +-------------------------------------------------- +Application needs to create one or more transports before it can send or receive SIP messages: + +.. code-block:: c++ + + try { + TransportConfig tcfg; + tcfg.port = 5060; + TransportId tid = ep->transportCreate(PJSIP_TRANSPORT_UDP, tcfg); + } catch(Error& err) { + cout << "Transport creation error: " << err.info() << endl; + } + +The transportCreate() method returns the newly created Transport ID and it takes the transport type and TransportConfig object to customize the transport settings like bound address and listening port number. Without this, by default the transport will be bound to INADDR_ANY and any available port. + +There is no real use of the Transport ID, except to create userless account (with Account.create(), as will be explained later), and perhaps to display the list of transports to user if the application wants it. + +Starting the Library +-------------------- +Now we're ready to start the library. We need to start the library to finalize the initialization phase, e.g. to complete the initial STUN address resolution, initialize/start the sound device, etc. To start the library, call libStart() method: + +.. code-block:: c++ + + try { + ep->libStart(); + } catch(Error& err) { + cout << "Startup error: " << err.info() << endl; + } + +Shutting Down the Library +-------------------------------------- +Once the application exits, the library needs to be shutdown so that resources can be released back to the operating system. Although this can be done by deleting the Endpoint instance, which will internally call libDestroy(), it is better to call it manually because on Java or Python there are problems with garbage collection as explained earlier: + +.. code-block:: c++ + + ep->libDestroy(); + delete ep; + + +Class Reference +--------------- +The Endpoint +++++++++++++ +.. doxygenclass:: pj::Endpoint + :path: xml + :members: + +Endpoint Configurations ++++++++++++++++++++++++ +Endpoint +~~~~~~~~ +.. doxygenstruct:: pj::EpConfig + :path: xml + +Media +~~~~~ +.. doxygenstruct:: pj::MediaConfig + :path: xml + +Logging +~~~~~~~ +.. doxygenstruct:: pj::LogConfig + :path: xml + +.. doxygenclass:: pj::LogWriter + :path: xml + :members: + +.. doxygenstruct:: pj::LogEntry + :path: xml + +User Agent +~~~~~~~~~~ +.. doxygenstruct:: pj::UaConfig + :path: xml + + +Callback Parameters ++++++++++++++++++++ +.. doxygenstruct:: pj::OnNatDetectionCompleteParam + :path: xml + +.. doxygenstruct:: pj::OnNatCheckStunServersCompleteParam + :path: xml + +.. doxygenstruct:: pj::OnTimerParam + :path: xml + +.. doxygenstruct:: pj::OnTransportStateParam + :path: xml + +.. doxygenstruct:: pj::OnSelectAccountParam + :path: xml + + +Other ++++++ +.. doxygenstruct:: pj::PendingJob + :path: xml + diff --git a/doc/pjsip-book/fetch_trac.py b/doc/pjsip-book/fetch_trac.py new file mode 100644 index 0000000..94e5911 --- /dev/null +++ b/doc/pjsip-book/fetch_trac.py @@ -0,0 +1,91 @@ +import urllib2 +import sys +import unicodedata + +def fetch_rst(url): + print 'Fetching %s..' % url + req = urllib2.Request(url) + + fd = urllib2.urlopen(req, timeout=30) + body = fd.read() + body = body.replace("\r\n", "\n") + + body = body.decode('utf8', 'ignore').encode('ascii', 'ignore') + + pos = body.find("{{{") + if pos >= 0: + body = body[pos+4:] + + pos = body.find("}}}") + if pos >= 0: + body = body[:pos] + + pos = body.find("#!rst") + if pos >= 0: + body = body[pos+6:] + + pos = url.rfind("/") + if pos >= 0: + filename = url[pos+1:] + else: + filename = url + + pos = filename.find('?') + if pos >= 0: + filename = filename[:pos] + + filename += ".rst" + f = open(filename, 'w') + f.write(body) + f.close() + + +def process_index(index): + pages = [] + + f = open(index + '.rst', 'r') + line = f.readline() + while line: + if line.find('toctree::') >= 0: + break + line = f.readline() + + if line.find('toctree::') < 0: + return [] + # Skip directive (or whatever it's called + line = f.readline().strip() + while line and line[0] == ':': + line = f.readline().strip() + # Skip empty lines + line = f.readline().strip() + while not line: + line = f.readline().strip() + # Parse names + while line: + pages.append(line) + line = f.readline().strip() + + f.close() + + return pages + + +if __name__ == '__main__': + print "** Warning: This will overwrite ALL RST files in current directory. Continue? [n] ", + if sys.stdin.readline().strip() != 'y': + sys.exit(0) + + url_format = 'http://trac.pjsip.org/repos/wiki/pjsip-doc/%s?format=txt' + + index = url_format % ('index') + fetch_rst(index) + + pages = process_index('index') + for page in pages: + #if not 'endpoint' in page: + # continue + url = url_format % (page) + fetch_rst(url) + + print 'Done.' + diff --git a/doc/pjsip-book/index.rst b/doc/pjsip-book/index.rst new file mode 100644 index 0000000..d911813 --- /dev/null +++ b/doc/pjsip-book/index.rst @@ -0,0 +1,36 @@ +.. PJSUA2 documentation master file, created by + sphinx-quickstart on Sat Nov 30 06:36:26 2013. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +PJSUA2 Documentation +========================================== + +Contents: + +.. toctree:: + :maxdepth: 2 + :numbered: 1 + + intro + consider + intro_pjsua2 + endpoint + account + media + call + presence + samples + media_quality + network_problems + reference + breathe + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/doc/pjsip-book/intro.rst b/doc/pjsip-book/intro.rst new file mode 100644 index 0000000..b76ea84 --- /dev/null +++ b/doc/pjsip-book/intro.rst @@ -0,0 +1,26 @@ + +Introduction +******************************* +This documentation is intended for developers looking to develop Session Initiation Protocol (SIP) based client application. Some knowledge on SIP is definitely required, and of course some programming experience. Prior knowledge of PJSUA C API is not needed, although it will probably help. + +PJSIP libraries provide multi-level APIs to do SIP calls, presence, and instant messaging, as well as handling media and NAT traversal. PJSUA2 API is the highest API from PJSIP, on top of PJSUA-LIB API. PJSUA-LIB API itself is a library that unifies SIP, audio/video media, NAT traversal, and client media application best practices into a high level, integrated, and easy to use API. The next chapter will guide you on selecting which API level to use depending on your requirements. + +This documentation can be `viewed online `_, or alternatively you can `download the PDF format `_ for offline viewing. + +Getting Started with PJSIP +============================== +Check `PJSIP Datasheet `_ to make sure that it has the features that you require. + +To start using PJSIP, the `Getting Started Guide `_ contains instructions to acquire and build PJSIP on various platforms that we support. + + +PJSIP Info and Documentation +================================ +To get other relevant info and documentations about PJSIP, you can visit: + +- `PJSIP General Wiki `_ is the home for all documentation +- `PJSIP FAQ `_ +- `PJSIP Reference Manual `_ - please see Reference Manual section + + + diff --git a/doc/pjsip-book/intro_pjsua2.rst b/doc/pjsip-book/intro_pjsua2.rst new file mode 100644 index 0000000..c2085df --- /dev/null +++ b/doc/pjsip-book/intro_pjsua2.rst @@ -0,0 +1,306 @@ +PJSUA2-High Level API +****************************** +PJSUA2 is an object-oriented abstraction above PJSUA API. It provides high level API for constructing Session Initiation Protocol (SIP) multimedia user agent applications (a.k.a Voice over IP/VoIP softphones). It wraps together the signaling, media, and NAT traversal functionality into easy to use call control API, account management, buddy list management, presence, and instant messaging, along with multimedia features such as local conferencing, file streaming, local playback, and voice recording, and powerful NAT traversal techniques utilizing STUN, TURN, and ICE. + +PJSUA2 is implemented on top of PJSUA-LIB API. The SIP and media features and object modelling follows what PJSUA-LIB provides (for example, we still have accounts, call, buddy, and so on), but the API to access them is different. These features will be described later in this chapter. PJSUA2 is a C++ library, which you can find under ``pjsip`` directory in the PJSIP distribution. The C++ library can be used by native C++ applications directly. But PJSUA2 is not just a C++ library. From the beginning, it has been designed to be accessible from high level non-native languages such as Java and Python. This is achieved by SWIG binding. And thanks to SWIG, binding to other languages can be added relatively easily in the future. + +PJSUA2 API declaration can be found in ``pjsip/include/pjsua2`` while the source codes are located in ``pjsip/src/pjsua2``. It will be automatically built when you compile PJSIP. + + +PJSUA2 Main Classes +====================== +Here are the main classes of the PJSUA2: + +Endpoint +-------------- +This is the main class of PJSUA2. You need to instantiate one and exactly one of this class, and from the instance you can then initialize and start the library. + +Account +------------- +An account specifies the identity of the person (or endpoint) on one side of SIP conversation. At least one account instance needs to be created before anything else, and from the account instance you can start making/receiving calls as well as adding buddies. + +Media +---------- +This is an abstract base class that represents a media element which is capable to either produce media or takes media. It is then subclassed into ``AudioMedia``, which is then subclassed into concrete classes such as ``AudioMediaPlayer`` and ``AudioMediaRecorder``. + +Call +------ +This class represents an ongoing call (or speaking technically, an INVITE session) and can be used to manipulate it, such as to answer the call, hangup the call, put the call on hold, transfer the call, etc. + +Buddy +--------- +This class represents a remote buddy (a person, or a SIP endpoint). You can subscribe to presence status of a buddy to know whether the buddy is online/offline/etc., and you can send and receive instant messages to/from the buddy. + +General Concepts +================== +Class Usage Patterns +--------------------- +With the methods of the main classes above, you will be able to invoke various operations to the object quite easily. But how can we get events/notifications from these classes? Each of the main classes above (except Media) will get their events in the callback methods. So to handle these events, just derive a class from the corresponding class (Endpoint, Call, Account, or Buddy) and implement/override the relevant method (depending on which event you want to handle). More will be explained in later sections. + +Error Handling +--------------- +We use exceptions as means to report error, as this would make the program flows more naturally. Operations which yield error will raise Error exception. If you prefer to display the error in more structured manner, the Error class has several members to explain the error, such as the operation name that raised the error, the error code, and the error message itself. + +Asynchronous Operations +------------------------- +If you have developed applications with PJSIP, you'll know about this already. In PJSIP, all operations that involve sending and receiving SIP messages are asynchronous, meaning that the function that invokes the operation will complete immediately, and you will be given the completion status as callbacks. + +Take a look for example the makeCall() method of the Call class. This function is used to initiate outgoing call to a destination. When this function returns successfully, it does not mean that the call has been established, but rather it means that the call has been initiated successfully. You will be given the report of the call progress and/or completion in the onCallState() callback method of Call class. + +Threading +---------- +For platforms that require polling, the PJSUA2 module provides its own worker thread to poll PJSIP, so it is not necessary to instantiate own your polling thread. Having said that the application should be prepared to have the callbacks called by different thread than the main thread. The PJSUA2 module itself is thread safe. + +Often though, especially if you use PJSUA2 with high level languages such as Python, it is required to disable PJSUA2 internal worker threads by setting EpConfig.uaConfig.threadCnt to 0, because the high level environment doesn't like to be called by external thread (such as PJSIP's worker thread). + + +Problems with Garbage Collection +-------------------------------- +Garbage collection (GC) exists in Java and Python (and other languages, but we don't support those for now), and there are some problems with it when it comes to PJSUA2 usage: + +- it delays the destruction of objects (including PJSUA2 objects), causing the code in object's destructor to be executed out of order +- the GC operation may run on different thread not previously registered to PJLIB, causing assertion + +Due to problems above, application '''MUST immediately destroy PJSUA2 objects using object's delete() method (in Java)''', instead of relying on the GC to clean up the object. + +For example, to delete an Account, it's **NOT** enough to just let it go out of scope. Application MUST delete it manually like this (in Java): + +.. code-block:: c++ + + acc.delete(); + + + + +Objects Persistence +--------------------- +PJSUA2 includes PersistentObject class to provide functionality to read/write data from/to a document (string or file). The data can be simple data types such as boolean, number, string, and string arrays, or a user defined object. Currently the implementation supports reading and writing from/to JSON document ([http://tools.ietf.org/html/rfc4627 RFC 4627]), but the framework allows application to extend the API to support other document formats. + +As such, classes which inherit from PersistentObject, such as EpConfig (endpoint configuration), AccountConfig (account configuration), and BuddyConfig (buddy configuration) can be loaded/saved from/to a file. Heres an example to save a config to a file: + +.. code-block:: c++ + + EpConfig epCfg; + JsonDocument jDoc; + epCfg.uaConfig.maxCalls = 61; + epCfg.uaConfig.userAgent = "Just JSON Test"; + jDoc.writeObject(epCfg); + jDoc.saveFile("jsontest.js"); + +To load from the file: + +.. code-block:: c++ + + EpConfig epCfg; + JsonDocument jDoc; + jDoc.loadFile("jsontest.js"); + jDoc.readObject(epCfg); + + +Building PJSUA2 +====================== +The PJSUA2 C++ library will be built by default by PJSIP build system. Standard C++ library is required. + +Building Python and Java SWIG Modules +====================================== +The SWIG modules for Python and Java are built by invoking ``make`` and ``make install`` manually from ``pjsip-apps/src/swig`` directory. The ``make install`` will install the Python SWIG module to user's ``site-packages`` directory. + +Requirements +------------ + +#. `SWIG `_ +#. ``JDK``. +#. ``Python``, version 2.7 or above is required. + For **Linux/UNIX**, you will also need ``Python developent package`` (called ``python-devel`` (e.g. on Fedora) or ``python2.7-dev`` (e.g. on Ubuntu)). For **Windows**, you will need MinGW and ``Python SDK`` such as `ActivePython-2.7.5`_ from `ActiveState`_. + +.. _`ActivePython-2.7.5`: http://www.activestate.com/activepython/downloads +.. _`ActiveState`: http://www.activestate.com + +Testing The Installation +------------------------ +To test the installation, simply run python and import ``pjsua2`` module:: + + $ python + > import pjsua2 + > ^Z + + +Using in C++ Application +======================== +As mentioned in previous chapter, a C++ application can use *pjsua2* natively, while at the same time still has access to the lower level objects and the ability to extend the libraries if it needs to. Using the API will be exactly the same as the API reference that is written in this book. + +Here is a sample complete C++ application to give you some idea about the API. The snippet below initializes the library and creates an account that registers to our pjsip.org SIP server. + +.. code-block:: c++ + + #include + #include + + using namespace pj; + + // Subclass to extend the Account and get notifications etc. + class MyAccount : public Account { + public: + virtual void onRegState(OnRegStateParam &prm) { + AccountInfo ai = getInfo(); + std::cout << (ai.regIsActive? "*** Register:" : "*** Unregister:") + << " code=" << prm.code << std::endl; + } + }; + + int main() + { + Endpoint ep; + + ep.libCreate(); + + // Initialize endpoint + EpConfig ep_cfg; + ep.libInit( ep_cfg ); + + // Create SIP transport. Error handling sample is shown + TransportConfig tcfg; + tcfg.port = 5060; + try { + ep.transportCreate(PJSIP_TRANSPORT_UDP, tcfg); + } catch (Error &err) { + std::cout << err.info() << std::endl; + return 1; + } + + // Start the library (worker threads etc) + ep.libStart(); + std::cout << "*** PJSUA2 STARTED ***" << std::endl; + + // Configure an AccountConfig + AccountConfig acfg; + acfg.idUri = "sip:test@pjsip.org"; + acfg.regConfig.registrarUri = "sip:pjsip.org"; + AuthCredInfo cred("digest", "*", "test", 0, "secret"); + acfg.sipConfig.authCreds.push_back( cred ); + + // Create the account + MyAccount *acc = new MyAccount; + acc->create(acfg); + + // Here we don't have anything else to do.. + pj_thread_sleep(10000); + + // Delete the account. This will unregister from server + delete acc; + + // This will implicitly shutdown the library + return 0; + } + + +Using in Python Application +=========================== +The equivalence of the C++ sample code above in Python is as follows: + +.. code-block:: python + + # Subclass to extend the Account and get notifications etc. + class Account(pj.Account): + def onRegState(self, prm): + print "***OnRegState: " + prm.reason + + # pjsua2 test function + def pjsua2_test(): + # Create and initialize the library + ep_cfg = pj.EpConfig() + ep = pj.Endpoint() + ep.libCreate() + ep.libInit(ep_cfg) + + # Create SIP transport. Error handling sample is shown + sipTpConfig = pj.TransportConfig(); + sipTpConfig.port = 5060; + ep.transportCreate(pj.PJSIP_TRANSPORT_UDP, sipTpConfig); + # Start the library + ep.libStart(); + + acfg = pj.AccountConfig(); + acfg.idUri = "sip:test@pjsip.org"; + acfg.regConfig.registrarUri = "sip:pjsip.org"; + cred = pj.AuthCredInfo("digest", "*", "test", 0, "pwtest"); + acfg.sipConfig.authCreds.append( cred ); + # Create the account + acc = Account(); + acc.create(acfg); + # Here we don't have anything else to do.. + time.sleep(10); + + # Destroy the library + ep.libDestroy() + + # + # main() + # + if __name__ == "__main__": + pjsua2_test() + + +Using in Java Application +========================= +The equivalence of the C++ sample code above in Java is as follows: + +.. code-block:: java + + import org.pjsip.pjsua2.*; + + // Subclass to extend the Account and get notifications etc. + class MyAccount extends Account { + @Override + public void onRegState(OnRegStateParam prm) { + System.out.println("*** On registration state: " + prm.getCode() + prm.getReason()); + } + } + + public class test { + static { + System.loadLibrary("pjsua2"); + System.out.println("Library loaded"); + } + + public static void main(String argv[]) { + try { + // Create endpoint + Endpoint ep = new Endpoint(); + ep.libCreate(); + // Initialize endpoint + EpConfig epConfig = new EpConfig(); + ep.libInit( epConfig ); + // Create SIP transport. Error handling sample is shown + TransportConfig sipTpConfig = new TransportConfig(); + sipTpConfig.setPort(5060); + ep.transportCreate(pjsip_transport_type_e.PJSIP_TRANSPORT_UDP, sipTpConfig); + // Start the library + ep.libStart(); + + AccountConfig acfg = new AccountConfig(); + acfg.setIdUri("sip:test@pjsip.org"); + acfg.getRegConfig().setRegistrarUri("sip:pjsip.org"); + AuthCredInfo cred = new AuthCredInfo("digest", "*", "test", 0, "secret"); + acfg.getSipConfig().getAuthCreds().add( cred ); + // Create the account + MyAccount acc = new MyAccount(); + acc.create(acfg); + // Here we don't have anything else to do.. + Thread.sleep(10000); + /* Explicitly delete the account. + * This is to avoid GC to delete the endpoint first before deleting + * the account. + */ + acc.delete(); + + // Explicitly destroy and delete endpoint + ep.libDestroy(); + ep.delete(); + + } catch (Exception e) { + System.out.println(e); + return; + } + } + } diff --git a/doc/pjsip-book/make.bat b/doc/pjsip-book/make.bat new file mode 100644 index 0000000..564b4bd --- /dev/null +++ b/doc/pjsip-book/make.bat @@ -0,0 +1,190 @@ +@ECHO OFF + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set BUILDDIR=_build +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . +set I18NSPHINXOPTS=%SPHINXOPTS% . +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% + set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^` where ^ is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. singlehtml to make a single large HTML file + echo. pickle to make pickle files + echo. json to make JSON files + echo. htmlhelp to make HTML files and a HTML help project + echo. qthelp to make HTML files and a qthelp project + echo. devhelp to make HTML files and a Devhelp project + echo. epub to make an epub + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. text to make text files + echo. man to make manual pages + echo. texinfo to make Texinfo files + echo. gettext to make PO message catalogs + echo. changes to make an overview over all changed/added/deprecated items + echo. linkcheck to check all external links for integrity + echo. doctest to run all doctests embedded in the documentation if enabled + goto end +) + +if "%1" == "clean" ( + for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i + del /q /s %BUILDDIR%\* + goto end +) + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. + goto end +) + +if "%1" == "singlehtml" ( + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in %BUILDDIR%/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in %BUILDDIR%/qthelp, like this: + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\ThePJSIPBook.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\ThePJSIPBook.ghc + goto end +) + +if "%1" == "devhelp" ( + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. + goto end +) + +if "%1" == "epub" ( + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub file is in %BUILDDIR%/epub. + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "text" ( + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The text files are in %BUILDDIR%/text. + goto end +) + +if "%1" == "man" ( + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The manual pages are in %BUILDDIR%/man. + goto end +) + +if "%1" == "texinfo" ( + %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. + goto end +) + +if "%1" == "gettext" ( + %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The message catalogs are in %BUILDDIR%/locale. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes + if errorlevel 1 exit /b 1 + echo. + echo.The overview file is in %BUILDDIR%/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck + if errorlevel 1 exit /b 1 + echo. + echo.Link check complete; look for any errors in the above output ^ +or in %BUILDDIR%/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest + if errorlevel 1 exit /b 1 + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in %BUILDDIR%/doctest/output.txt. + goto end +) + +:end diff --git a/doc/pjsip-book/media.rst b/doc/pjsip-book/media.rst new file mode 100644 index 0000000..35f2f4e --- /dev/null +++ b/doc/pjsip-book/media.rst @@ -0,0 +1,220 @@ + +Media +===== +Media objects are objects that are capable to either produce media or takes media. + +An important subclass of Media is AudioMedia which represents audio media. There are several type of audio media objects supported in PJSUA2: + +- Capture device's AudioMedia, to capture audio from the sound device. +- Playback device's AudioMedia, to play audio to the sound device. +- Call's AudioMedia, to transmit and receive audio to/from remote person. +- AudioMediaPlayer, to play WAV file(s). +- AudioMediaRecorder, to record audio to a WAV file. + +More media objects may be added in the future. + +The Audio Conference Bridge +---------------------------- +The conference bridge provides a simple but yet powerful concept to manage audio flow between the audio medias. The principle is very simple, that is you connect audio source to audio destination, and the bridge will make the audio flows from the source to destination, and that's it. If more than one sources are transmitting to the same destination, then the audio from the sources will be mixed. If one source is transmitting to more than one destinations, the bridge will take care of duplicating the audio from the source to the multiple destinations. The bridge will even take care medias with different clock rates and ptime. + +In PJSUA2, all audio media objects are plugged-in to the central conference bridge for easier manipulation. At first, a plugged-in audio media will not be connected to anything, so media will not flow from/to any objects. An audio media source can start/stop the transmission to a destination by using the API AudioMedia.startTransmit() / AudioMedia.stopTransmit(). + +An audio media object plugged-in to the conference bridge will be given a port ID number that identifies the object in the bridge. Application can use the API AudioMedia.getPortId() to retrieve the port ID. Normally, application should not need to worry about the conference bridge and its port ID (as all will be taken care of by the Media class) unless application want to create its own custom audio media. + +Playing a WAV File +++++++++++++++++++ +To playback the WAV file to the sound device, just start the transmission of the WAV playback object to the sound device's playback media: + +.. code-block:: c++ + + AudioMediaPlayer player; + AudioMedia& play_med = Endpoint::instance().audDevManager().getPlaybackDevMedia(); + try { + player.createPlayer("file.wav"); + player.startTransmit(play_med); + } catch(Error& err) { + } + +By default, the WAV file will be played in a loop. To disable the loop, specify ``PJMEDIA_FILE_NO_LOOP`` when creating the player: + +.. code-block:: c++ + + player.createPlayer("file.wav", PJMEDIA_FILE_NO_LOOP); + +Without looping, silence will be played once the playback has reached the end of the WAV file. + +Once you're done with the playback, just stop the transmission to stop the playback: + +.. code-block:: c++ + + try { + player.stopTransmit(play_med); + } catch(Error& err) { + } + +Resuming the transmission after the playback is stopped will resume playback from the last play position. Use ``player.setPos()`` to set playback position to a desired location. + + +Recording to WAV File ++++++++++++++++++++++ +Or if you want to record the audio from the sound device to the WAV file, simply do this: + +.. code-block:: c++ + + AudioMediaRecorder recorder; + AudioMedia& cap_med = Endpoint::instance().audDevManager().getCaptureDevMedia(); + try { + recorder.createRecorder("file.wav"); + cap_med.startTransmit(recorder); + } catch(Error& err) { + } + +And the media will flow from the sound device to the WAV record file. As usual, to stop or pause recording, just stop the transmission: + +.. code-block:: c++ + + try { + cap_med.stopTransmit(recorder); + } catch(Error& err) { + } + +Note that stopping the transmission to the WAV recorder as above does not close the WAV file, and you can resume recording by connecting a source to the WAV recorder again. You cannot playback the recorded WAV file before you close it. To close the WAV recorder, simply delete it: + +.. code-block:: c++ + + delete recorder; + + +Local Audio Loopback +++++++++++++++++++++ +A useful test to check whether the local sound device (capture and playback device) is working properly is by transmitting the audio from the capture device directly to the playback device (i.e. local loopback). You can do this by: + +.. code-block:: c++ + + cap_med.startTransmit(play_med); + + +Looping Audio ++++++++++++++ +If you want, you can loop the audio of an audio media object to itself (i.e. the audio received from the object will be transmitted to itself). You can loop-back audio from any objects, as long as the object has bidirectional media. That means you can loop the call's audio media, so that audio received from the remote person will be transmitted back to her/him. But you can't loop the WAV player or recorder since these objects can only play or record and not both. + +Normal Call ++++++++++++ + +A single call can have more than one media (for example, audio and video). Application can retrieve the audio media by using the API Call.getMedia(). Then for a normal call, we would want to establish bidirectional audio with the remote person, which can be done easily by connecting the sound device and the call audio media and vice versa: + +.. code-block:: c++ + + CallInfo ci = call.getInfo(); + AudioMedia *aud_med = NULL; + + // Find out which media index is the audio + for (unsigned i=0; istartTransmit(play_med); + } + + + +Second Call ++++++++++++ +Suppose we want to talk with two remote parties at the same time. Since we already have bidirectional media connection with one party, we just need to add bidirectional connection with the other party using the code below: + +.. code-block:: c++ + + AudioMedia *aud_med2 = (AudioMedia *)call2.getMedia(aud_idx); + if (aud_med2) { + cap_med->startTransmit(*aud_med2); + aud_med2->startTransmit(play_med); + } + +Now we can talk to both parties at the same time, and we will hear audio from either party. But at this stage, the remote parties can't talk or hear each other (i.e. we're not in full conference mode yet). + +Conference Call ++++++++++++++++ +To enable both parties talk to each other, just establish bidirectional media between them: + +.. code-block:: c++ + + aud_med->startTransmit(*aud_med2); + aud_med2->startTransmit(*aud_med); + +Now the three parties (us and both remote parties) will be able to talk to each other. + +Recording the Conference +++++++++++++++++++++++++ + +While doing the conference, it perfectly makes sense to want to record the conference to a WAV file, and all we need to do is to connect the microphone and both calls to the WAV recorder: + +.. code-block:: c++ + + cap_med.startTransmit(recorder); + aud_med->startTransmit(recorder); + aud_med2->startTransmit(recorder); + + +Audio Device Management +----------------------- +Please see `Audio Device Framework <#auddev>`_ below. + + +Class Reference +--------------- +Media Framework ++++++++++++++++ +Classes +~~~~~~~ +.. doxygenclass:: pj::Media + :path: xml + :members: + +.. doxygenclass:: pj::AudioMedia + :path: xml + :members: + +.. doxygenclass:: pj::AudioMediaPlayer + :path: xml + :members: + +.. doxygenclass:: pj::AudioMediaRecorder + :path: xml + :members: + +Formats and Info +~~~~~~~~~~~~~~~~ +.. doxygenstruct:: pj::MediaFormat + :path: xml + +.. doxygenstruct:: pj::MediaFormatAudio + :path: xml + +.. doxygenstruct:: pj::MediaFormatVideo + :path: xml + +.. doxygenstruct:: pj::ConfPortInfo + :path: xml + +Audio Device Framework +++++++++++++++++++++++ +Device Manager +~~~~~~~~~~~~~~ +.. _auddev: +.. doxygenclass:: pj::AudDevManager + :path: xml + :members: + +Device Info +~~~~~~~~~~~ +.. doxygenstruct:: pj::AudioDevInfo + :path: xml + diff --git a/doc/pjsip-book/media_quality.rst b/doc/pjsip-book/media_quality.rst new file mode 100644 index 0000000..e4224ec --- /dev/null +++ b/doc/pjsip-book/media_quality.rst @@ -0,0 +1,30 @@ + +Media Quality +************* + +Audio Quality +============= +If you experience any problem with the audio quality, you may want to try the steps below: + +1. Follow the guide: `Test the sound device using pjsystest`_. +2. Identify the sound problem and troubleshoot it using the steps described in: `Checking for sound problems`_. + +.. _`Checking for sound problems`: http://trac.pjsip.org/repos/wiki/sound-problems +.. _`Test the sound device using pjsystest`: http://trac.pjsip.org/repos/wiki/Testing_Audio_Device_with_pjsystest + +It is probably easier to do the testing using lower level API such as PJSUA since we already have a built-in pjsua sample app located in pjsip-apps/bin to do the testing. However, you can also do the testing in your application using PJSUA2 API such as local audio loopback, recording to WAV file as explained in the Media chapter previously. + +Video Quality +============= +For video quality problems, the steps are as follows: + +1. For lack of video, check account's AccountVideoConfig, especially the fields autoShowIncoming and autoTransmitOutgoing. More about the video API is explained in `Video Users Guide`_. +2. Check local video preview using PJSUA API as described in `Video Users Guide-Video Preview API`_. +3. Since video requires a larger bandwidth, we need to check for network impairments as described in `Checking Network Impairments`_. The document is for troubleshooting audio problem but it applies for video as well. +4. Check the CPU utilization. If the CPU utilization is too high, you can try a different (less CPU-intensive) video codec or reduce the resolution/fps. A general guide on how to reduce CPU utilization can be found here: `FAQ-CPU utilization`_. + +.. _`Video Users Guide`: http://trac.pjsip.org/repos/wiki/Video_Users_Guide +.. _`Video Users Guide-Video Preview API`: http://trac.pjsip.org/repos/wiki/Video_Users_Guide#VideopreviewAPI +.. _`Checking Network Impairments`: http://trac.pjsip.org/repos/wiki/audio-check-packet-loss +.. _`FAQ-CPU utilization`: http://trac.pjsip.org/repos/wiki/FAQ#cpu + diff --git a/doc/pjsip-book/network_problems.rst b/doc/pjsip-book/network_problems.rst new file mode 100644 index 0000000..4fadc4e --- /dev/null +++ b/doc/pjsip-book/network_problems.rst @@ -0,0 +1,16 @@ + +Network Problems +**************** + +IP Address Change +================= +Please see the wiki `Handling IP Address Change`_. Note that the guide is written using PJSUA API as a reference. + +.. _`Handling IP Address Change`: https://trac.pjsip.org/repos/wiki/IPAddressChange + +Blocked/Filtered Network +======================== +Please refer to the wiki `Getting Around Blocked or Filtered VoIP Network`_. + +.. _`Getting Around Blocked or Filtered VoIP Network`: https://trac.pjsip.org/repos/wiki/get-around-nat-blocked-traffic-filtering + diff --git a/doc/pjsip-book/optimization.rst b/doc/pjsip-book/optimization.rst new file mode 100644 index 0000000..c04bf1c --- /dev/null +++ b/doc/pjsip-book/optimization.rst @@ -0,0 +1,13 @@ + +General Configuration Optimization +********************************** + +PJSUA2 Settings +=============== + +CPU Optimization +================ +A general guide on how to reduce CPU utilization can be found here: `FAQ-CPU utilization`_. + +.. _`FAQ-CPU utilization`: http://trac.pjsip.org/repos/wiki/FAQ#cpu + diff --git a/doc/pjsip-book/presence.rst b/doc/pjsip-book/presence.rst new file mode 100644 index 0000000..880dba7 --- /dev/null +++ b/doc/pjsip-book/presence.rst @@ -0,0 +1,108 @@ + +Buddy (Presence) +================ +Presence feature in PJSUA2 centers around Buddy class. This class represents a remote buddy (a person, or a SIP endpoint). + +Subclassing the Buddy class +---------------------------- +To use the Buddy class, normally application SHOULD create its own subclass, such as: + +.. code-block:: c++ + + class MyBuddy : public Buddy + { + public: + MyBuddy() {} + ~MyBuddy() {} + + virtual void onBuddyState(); + }; + +In its subclass, application can implement the buddy callback to get the notifications on buddy state change. + +Subscribing to Buddy's Presence Status +--------------------------------------- +To subscribe to buddy's presence status, you need to add a buddy object and subscribe to buddy's presence status. The snippet below shows a sample code to achieve these: + +.. code-block:: c++ + + BuddyConfig cfg; + cfg.uri = "sip:alice@example.com"; + MyBuddy buddy; + try { + buddy.create(*acc, cfg); + buddy.subscribePresence(true); + } catch(Error& err) { + } + +Then you can get the buddy's presence state change inside the onBuddyState() callback: + +.. code-block:: c++ + + void MyBuddy::onBuddyState() + { + BuddyInfo bi = getInfo(); + cout << "Buddy " << bi.uri << " is " << bi.presStatus.statusText << endl; + } + +For more information, please see Buddy class reference documentation. + +Responding to Presence Subscription Request +------------------------------------------- +By default, incoming presence subscription to an account will be accepted automatically. You will probably want to change this behavior, for example only to automatically accept subscription if it comes from one of the buddy in the buddy list, and for anything else prompt the user if he/she wants to accept the request. + +This can be done by overriding the onIncomingSubscribe() method of the Account class. Please see the documentation of this method for more info. + +Changing Account's Presence Status +---------------------------------- +To change account's presence status, you can use the function Account.setOnlineStatus() to set basic account's presence status (i.e. available or not available) and optionally, some extended information (e.g. busy, away, on the phone, etc), such as: + +.. code-block:: c++ + + try { + PresenceStatus ps; + ps.status = PJSUA_BUDDY_STATUS_ONLINE; + // Optional, set the activity and some note + ps.activity = PJRPID_ACTIVITY_BUSY; + ps.note = "On the phone"; + acc->setOnlineStatus(ps); + } catch(Error& err) { + } + +When the presence status is changed, the account will publish the new status to all of its presence subscriber, either with PUBLISH request or NOTIFY request, or both, depending on account configuration. + +Instant Messaging(IM) +--------------------- +You can send IM using Buddy.sendInstantMessage(). The transmission status of outgoing instant messages is reported in Account.onInstantMessageStatus() callback method of Account class. + +In addition to sending instant messages, you can also send typing indication to remote buddy using Buddy.sendTypingIndication(). + +Incoming IM and typing indication received not within the scope of a call will be reported in the callback functions Account.onInstantMessage() and Account.onTypingIndication(). + +Alternatively, you can send IM and typing indication within a call by using Call.sendInstantMessage() and Call.sendTypingIndication(). For more information, please see Call documentation. + + +Class Reference +--------------- +Buddy ++++++ +.. doxygenclass:: pj::Buddy + :path: xml + :members: + +Status +++++++ +.. doxygenstruct:: pj::PresenceStatus + :path: xml + +Info +++++ +.. doxygenstruct:: pj::BuddyInfo + :path: xml + +Config +++++++ +.. doxygenstruct:: pj::BuddyConfig + :path: xml + + diff --git a/doc/pjsip-book/reference.rst b/doc/pjsip-book/reference.rst new file mode 100644 index 0000000..986f22c --- /dev/null +++ b/doc/pjsip-book/reference.rst @@ -0,0 +1,58 @@ + + +PJSUA2 API Reference Manuals +**************************** + +endpoint.hpp +============= +.. doxygenfile:: endpoint.hpp + :path: xml + +account.hpp +=========== +.. doxygenfile:: account.hpp + :path: xml + + +media.hpp +========= +.. doxygenfile:: media.hpp + :path: xml + + +call.hpp +========= +.. doxygenfile:: call.hpp + :path: xml + + +presence.hpp +============ +.. doxygenfile:: presence.hpp + :path: xml + +persistent.hpp +================ +.. doxygenfile:: persistent.hpp + :path: xml + +json.hpp +================ +.. doxygenfile:: json.hpp + :path: xml + +siptypes.hpp +================ +.. doxygenfile:: siptypes.hpp + :path: xml + +types.hpp +================ +.. doxygenfile:: types.hpp + :path: xml + +config.hpp +================ +.. doxygenfile:: config.hpp + :path: xml + diff --git a/doc/pjsip-book/samples.rst b/doc/pjsip-book/samples.rst new file mode 100644 index 0000000..7c8191d --- /dev/null +++ b/doc/pjsip-book/samples.rst @@ -0,0 +1,33 @@ + +PJSUA2 Sample Applications +*********************************** + +Sample Apps +=========== + +C++ +----- +There is a very simple C++ sample application available in ``pjsip-apps/src/samples/pjsua2_demo.cpp``. The binary will be located in ``pjsip-apps/bin/samples``. + + +Python GUI +------------------ +This is a rather complete Python GUI sample apps, located in ``pjsip-apps/src/pygui``. It requires Python 2.7 and above, and the Python SWIG module of course. To use the application, simply run:: + + python application.py + +Android +---------------- +Please see https://trac.pjsip.org/repos/wiki/Getting-Started/Android#pjsua2 for Android sample application. + +Java +---------------- +There is a Hello World type of application located in ``pjsip-apps/src/swig/java``. This requires the Java SWIG module. After building the SWIG module, run ``make test`` from this directory to run the app. + + +Miscellaneous +=================== + +How to +----------------------------- + diff --git a/install-sh b/install-sh new file mode 100644 index 0000000..11870f1 --- /dev/null +++ b/install-sh @@ -0,0 +1,251 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# This comes from X11R5 (mit/util/scripts/install.sh). +# +# Copyright 1991 by the Massachusetts Institute of Technology +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of M.I.T. not be used in advertising or +# publicity pertaining to distribution of the software without specific, +# written prior permission. M.I.T. makes no representations about the +# suitability of this software for any purpose. It is provided "as is" +# without express or implied warranty. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd="$cpprog" + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd="$stripprog" + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "install: no input file specified" + exit 1 +else + : +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d $dst ]; then + instcmd=: + chmodcmd="" + else + instcmd=$mkdirprog + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f "$src" ] || [ -d "$src" ] + then + : + else + echo "install: $src does not exist" + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "install: no destination specified" + exit 1 + else + : + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d $dst ] + then + dst="$dst"/`basename $src` + else + : + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' + ' +IFS="${IFS-${defaultIFS}}" + +oIFS="${IFS}" +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS="${oIFS}" + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp="${pathcomp}${1}" + shift + + if [ ! -d "${pathcomp}" ] ; + then + $mkdirprog "${pathcomp}" + else + : + fi + + pathcomp="${pathcomp}/" +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd $dst && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename $dst` + else + dstfile=`basename $dst $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename $dst` + else + : + fi + +# Make a temp file name in the proper directory. + + dsttmp=$dstdir/#inst.$$# + +# Move or copy the file name to the temp name + + $doit $instcmd $src $dsttmp && + + trap "rm -f ${dsttmp}" 0 && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi && + +# Now rename the file to the real destination. + + $doit $rmcmd -f $dstdir/$dstfile && + $doit $mvcmd $dsttmp $dstdir/$dstfile + +fi && + + +exit 0 diff --git a/libpjproject.pc.in b/libpjproject.pc.in new file mode 100644 index 0000000..fa8d391 --- /dev/null +++ b/libpjproject.pc.in @@ -0,0 +1,13 @@ +# Package Information for pkg-config + +prefix=@PREFIX@ +exec_prefix=${prefix} +libdir=@LIBDIR@ +includedir=@INCLUDEDIR@ + +Name: libpjproject +Description: Multimedia communication library +URL: http://www.pjsip.org +Version: @PJ_VERSION@ +Libs: -L${libdir} @PJ_LDXXLIBS@ +Cflags: -I${includedir} @PJ_INSTALL_CXXFLAGS@ diff --git a/pjlib-util/build/Makefile b/pjlib-util/build/Makefile new file mode 100644 index 0000000..cb601cb --- /dev/null +++ b/pjlib-util/build/Makefile @@ -0,0 +1,121 @@ +# By default, the test application includes main.o. +# OS make file may override this with os-specific files +export UTIL_TEST_OBJS = main.o + +include ../../build.mak +include ../../version.mak +include $(PJDIR)/build/common.mak + +export LIBDIR := ../lib +export BINDIR := ../bin + +RULES_MAK := $(PJDIR)/build/rules.mak + +PJLIB_LIB:=$(PJDIR)/pjlib/lib/libpj-$(TARGET_NAME)$(LIBEXT) + +export PJLIB_UTIL_LIB := libpjlib-util-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export PJLIB_UTIL_SONAME := libpjlib-util.$(SHLIB_SUFFIX) +export PJLIB_UTIL_SHLIB := $(PJLIB_UTIL_SONAME).$(PJ_VERSION_MAJOR) +endif + +############################################################################### +# Gather all flags. +# +export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ + $(CFLAGS) $(CC_INC)../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) \ + $(APP_LDFLAGS) $(LDFLAGS) + +############################################################################### +# Defines for building PJLIB-UTIL library +# +export PJLIB_UTIL_SRCDIR = ../src/pjlib-util +export PJLIB_UTIL_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + base64.o cli.o cli_console.o cli_telnet.o crc32.o errno.o dns.o \ + dns_dump.o dns_server.o getopt.o hmac_md5.o hmac_sha1.o \ + http_client.o json.o md5.o pcap.o resolver.o scanner.o sha1.o \ + srv_resolver.o string.o stun_simple.o \ + stun_simple_client.o xml.o +export PJLIB_UTIL_CFLAGS += $(_CFLAGS) +export PJLIB_UTIL_CXXFLAGS += $(_CXXFLAGS) +export PJLIB_UTIL_LDFLAGS += $(PJLIB_LDLIB) $(_LDFLAGS) + +############################################################################### +# Defines for building test application +# +export UTIL_TEST_SRCDIR = ../src/pjlib-util-test +export UTIL_TEST_OBJS += xml.o encryption.o stun.o resolver_test.o test.o \ + json_test.o http_client.o +export UTIL_TEST_CFLAGS += $(_CFLAGS) +export UTIL_TEST_CXXFLAGS += $(_CXXFLAGS) +export UTIL_TEST_LDFLAGS += $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS) +export UTIL_TEST_EXE:=pjlib-util-test-$(TARGET_NAME)$(HOST_EXE) + + +export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT +############################################################################### +# Main entry +TARGETS := $(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME) +TARGETS_EXE := $(UTIL_TEST_EXE) + +all: $(TARGETS) $(TARGETS_EXE) + +lib: $(TARGETS) + +doc: + cd .. && rm -rf docs/$(PJ_VERSION) && doxygen docs/doxygen.cfg + @if [ -n "$(WWWDIR)" ] && ! [ -d "$(WWWDIR)/docs/$(PJ_VERSION)/pjlib-util/docs/html" ] ; then \ + echo "Creating docs/$(PJ_VERSION)/pjlib-util/docs/html" ; \ + mkdir -p $(WWWDIR)/docs/$(PJ_VERSION)/pjlib-util/docs/html ; \ + fi + @if [ -n "$(WWWDIR)" ] && [ -d "$(WWWDIR)/docs/$(PJ_VERSION)/pjlib-util/docs/html" ] ; then \ + echo "Copying docs/$(PJ_VERSION) to $(WWWDIR)/docs/$(PJ_VERSION)/pjlib-util/docs/html.." ; \ + cp -v -a ../docs/$(PJ_VERSION)/html/* $(WWWDIR)/docs/$(PJ_VERSION)/pjlib-util/docs/html/ ; \ + fi + +dep: depend +distclean: realclean + +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME) +.PHONY: $(UTIL_TEST_EXE) + +pjlib-util: $(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME) +$(PJLIB_UTIL_SONAME): $(PJLIB_UTIL_LIB) +$(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME): $(PJLIB_LIB) $(PJLIB_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +pjlib-util-test: $(UTIL_TEST_EXE) +$(UTIL_TEST_EXE): $(PJLIB_UTIL_LIB) $(PJLIB_UTIL_SONAME) + $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $(subst /,$(HOST_PSEP),$(BINDIR)/$@) + +.PHONY: pjlib-util.ko +pjlib-util.ko: + echo Making $@ + $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +.PHONY: pjlib-util-test.ko +pjlib-util-test.ko: + $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +clean: + $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $@ + $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $@ + +realclean: + $(subst @@,$(subst /,$(HOST_PSEP),.pjlib-util-$(TARGET_NAME).depend),$(HOST_RMR)) + $(subst @@,$(subst /,$(HOST_PSEP),.pjlib-util-test-$(TARGET_NAME).depend),$(HOST_RMR)) + $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $@ + $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $@ + +depend: + $(MAKE) -f $(RULES_MAK) APP=PJLIB_UTIL app=pjlib-util $@ + $(MAKE) -f $(RULES_MAK) APP=UTIL_TEST app=pjlib-util-test $@ + echo '$(BINDIR)/$(UTIL_TEST_EXE): $(LIBDIR)/$(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjlib-util-test-$(TARGET_NAME).depend; \ + diff --git a/pjlib-util/build/os-auto.mak.in b/pjlib-util/build/os-auto.mak.in new file mode 100644 index 0000000..b416085 --- /dev/null +++ b/pjlib-util/build/os-auto.mak.in @@ -0,0 +1,3 @@ +# @configure_input@ +export UTIL_TEST_OBJS = @ac_main_obj@ + diff --git a/pjlib-util/build/os-rtems.mak b/pjlib-util/build/os-rtems.mak new file mode 100644 index 0000000..600d467 --- /dev/null +++ b/pjlib-util/build/os-rtems.mak @@ -0,0 +1,2 @@ +export UTIL_TEST_OBJS = main_rtems.o + diff --git a/pjlib-util/build/pjlib_util.dsw b/pjlib-util/build/pjlib_util.dsw new file mode 100644 index 0000000..ebb412d --- /dev/null +++ b/pjlib-util/build/pjlib_util.dsw @@ -0,0 +1,71 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "pjlib"="..\..\pjlib\build\pjlib.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "pjlib_test"="..\..\pjlib\build\pjlib_test.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "pjlib_util"=".\pjlib_util.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "pjlib_util_test"=".\pjlib_util_test.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name pjlib_util + End Project Dependency + Begin Project Dependency + Project_Dep_Name pjlib + End Project Dependency +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/pjlib-util/build/pjlib_util.vcproj b/pjlib-util/build/pjlib_util.vcproj new file mode 100644 index 0000000..8a9c61a --- /dev/null +++ b/pjlib-util/build/pjlib_util.vcproj @@ -0,0 +1,6188 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pjlib-util/build/pjlib_util_test.vcproj b/pjlib-util/build/pjlib_util_test.vcproj new file mode 100644 index 0000000..6f75a82 --- /dev/null +++ b/pjlib-util/build/pjlib_util_test.vcproj @@ -0,0 +1,4015 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pjlib-util/build/wince-evc4/pjlib_util_test_wince.vcp b/pjlib-util/build/wince-evc4/pjlib_util_test_wince.vcp new file mode 100644 index 0000000..44d99cb --- /dev/null +++ b/pjlib-util/build/wince-evc4/pjlib_util_test_wince.vcp @@ -0,0 +1,10346 @@ +# Microsoft eMbedded Visual Tools Project File - Name="pjlib_util_test_wince" - Package Owner=<4> +# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (WCE MIPSIV_FP) Application" 0x9201 +# TARGTYPE "Win32 (WCE x86) Application" 0x8301 +# TARGTYPE "Win32 (WCE ARMV4) Application" 0xa301 +# TARGTYPE "Win32 (WCE MIPS16) Application" 0x8901 +# TARGTYPE "Win32 (WCE SH3) Application" 0x8101 +# TARGTYPE "Win32 (WCE ARMV4I) Application" 0xa501 +# TARGTYPE "Win32 (WCE SH4) Application" 0x8601 +# TARGTYPE "Win32 (WCE MIPSII_FP) Application" 0xa201 +# TARGTYPE "Win32 (WCE emulator) Application" 0xa601 +# TARGTYPE "Win32 (WCE MIPSIV) Application" 0x9601 +# TARGTYPE "Win32 (WCE ARMV4T) Application" 0xa401 +# TARGTYPE "Win32 (WCE MIPSII) Application" 0xa101 + +CFG=pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "pjlib_util_test_wince.vcn". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "pjlib_util_test_wince.vcn" CFG="pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Release" (based on "Win32 (WCE MIPSII_FP) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Debug" (based on "Win32 (WCE MIPSII_FP) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE MIPSII) Release" (based on "Win32 (WCE MIPSII) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE MIPSII) Debug" (based on "Win32 (WCE MIPSII) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE SH4) Release" (based on "Win32 (WCE SH4) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE SH4) Debug" (based on "Win32 (WCE SH4) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE SH3) Release" (based on "Win32 (WCE SH3) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE SH3) Debug" (based on "Win32 (WCE SH3) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE MIPSIV) Release" (based on "Win32 (WCE MIPSIV) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE MIPSIV) Debug" (based on "Win32 (WCE MIPSIV) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE emulator) Release" (based on "Win32 (WCE emulator) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE emulator) Debug" (based on "Win32 (WCE emulator) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE ARMV4I) Release" (based on "Win32 (WCE ARMV4I) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE ARMV4I) Debug" (based on "Win32 (WCE ARMV4I) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Release" (based on "Win32 (WCE MIPSIV_FP) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Debug" (based on "Win32 (WCE MIPSIV_FP) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE ARMV4) Release" (based on "Win32 (WCE ARMV4) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE ARMV4) Debug" (based on "Win32 (WCE ARMV4) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE MIPS16) Release" (based on "Win32 (WCE MIPS16) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE MIPS16) Debug" (based on "Win32 (WCE MIPS16) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE ARMV4T) Release" (based on "Win32 (WCE ARMV4T) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE ARMV4T) Debug" (based on "Win32 (WCE ARMV4T) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Application") +!MESSAGE "pjlib_util_test_wince - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +# PROP ATL_Project 2 + +!IF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "MIPSII_FPRel" +# PROP BASE Intermediate_Dir "MIPSII_FPRel" +# PROP BASE CPU_ID "{D8AC856C-B213-4895-9E83-9EC51A55201E}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_util_test_MIPSII_FPRel" +# PROP Intermediate_Dir "./output/pjlib_util_test_MIPSII_FPRel" +# PROP CPU_ID "{D8AC856C-B213-4895-9E83-9EC51A55201E}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPSII_FP" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPSII_FP" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPSII_FP" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QMmips2 /QMFPE- /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPSII_FP" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QMmips2 /QMFPE- /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "MIPSII_FPDbg" +# PROP BASE Intermediate_Dir "MIPSII_FPDbg" +# PROP BASE CPU_ID "{D8AC856C-B213-4895-9E83-9EC51A55201E}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_util_test_MIPSII_FPDbg" +# PROP Intermediate_Dir "./output/pjlib_util_test_MIPSII_FPDbg" +# PROP CPU_ID "{D8AC856C-B213-4895-9E83-9EC51A55201E}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPSII_FP" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPSII_FP" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPSII_FP" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips2 /QMFPE- /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPSII_FP" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips2 /QMFPE- /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "MIPSIIRel" +# PROP BASE Intermediate_Dir "MIPSIIRel" +# PROP BASE CPU_ID "{689DDC64-9D9D-11D5-96F8-00207802C01C}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_util_test_MIPSIIRel" +# PROP Intermediate_Dir "./output/pjlib_util_test_MIPSIIRel" +# PROP CPU_ID "{689DDC64-9D9D-11D5-96F8-00207802C01C}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QMmips2 /QMFPE /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QMmips2 /QMFPE /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "MIPSIIDbg" +# PROP BASE Intermediate_Dir "MIPSIIDbg" +# PROP BASE CPU_ID "{689DDC64-9D9D-11D5-96F8-00207802C01C}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_util_test_MIPSIIDbg" +# PROP Intermediate_Dir "./output/pjlib_util_test_MIPSIIDbg" +# PROP CPU_ID "{689DDC64-9D9D-11D5-96F8-00207802C01C}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips2 /QMFPE /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips2 /QMFPE /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH4) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "SH4Rel" +# PROP BASE Intermediate_Dir "SH4Rel" +# PROP BASE CPU_ID "{D6519021-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_util_test_SH4Rel" +# PROP Intermediate_Dir "./output/pjlib_util_test_SH4Rel" +# PROP CPU_ID "{D6519021-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "SHx" /d "SH4" /d "_SH4_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "SHx" /d "SH4" /d "_SH4_" /r +CPP=shcl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /Qsh4 /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /Qsh4 /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH4 +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH4 + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH4) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "SH4Dbg" +# PROP BASE Intermediate_Dir "SH4Dbg" +# PROP BASE CPU_ID "{D6519021-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_util_test_SH4Dbg" +# PROP Intermediate_Dir "./output/pjlib_util_test_SH4Dbg" +# PROP CPU_ID "{D6519021-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "SHx" /d "SH4" /d "_SH4_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "SHx" /d "SH4" /d "_SH4_" /r +CPP=shcl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /Qsh4 /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /Qsh4 /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH4 +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH4 + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH3) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "SH3Rel" +# PROP BASE Intermediate_Dir "SH3Rel" +# PROP BASE CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_util_test_SH3Rel" +# PROP Intermediate_Dir "./output/pjlib_util_test_SH3Rel" +# PROP CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r +CPP=shcl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3 /align:4096 +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3 /align:4096 + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH3) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "SH3Dbg" +# PROP BASE Intermediate_Dir "SH3Dbg" +# PROP BASE CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_util_test_SH3Dbg" +# PROP Intermediate_Dir "./output/pjlib_util_test_SH3Dbg" +# PROP CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r +CPP=shcl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3 /align:4096 +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3 /align:4096 + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "MIPSIVRel" +# PROP BASE Intermediate_Dir "MIPSIVRel" +# PROP BASE CPU_ID "{0B2FE524-26C5-4194-8CEF-B1582DEB5A98}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_util_test_MIPSIVRel" +# PROP Intermediate_Dir "./output/pjlib_util_test_MIPSIVRel" +# PROP CPU_ID "{0B2FE524-26C5-4194-8CEF-B1582DEB5A98}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QMmips4 /QMn32 /QMFPE /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QMmips4 /QMn32 /QMFPE /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "MIPSIVDbg" +# PROP BASE Intermediate_Dir "MIPSIVDbg" +# PROP BASE CPU_ID "{0B2FE524-26C5-4194-8CEF-B1582DEB5A98}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_util_test_MIPSIVDbg" +# PROP Intermediate_Dir "./output/pjlib_util_test_MIPSIVDbg" +# PROP CPU_ID "{0B2FE524-26C5-4194-8CEF-B1582DEB5A98}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips4 /QMn32 /QMFPE /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips4 /QMn32 /QMFPE /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE emulator) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "emulatorRel" +# PROP BASE Intermediate_Dir "emulatorRel" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_util_test_emulatorRel" +# PROP Intermediate_Dir "./output/pjlib_util_test_emulatorRel" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /YX /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /YX /Gs8192 /GF /O2 /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 +# ADD LINK32 $(CEx86Corelibc) winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE emulator) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "emulatorDbg" +# PROP BASE Intermediate_Dir "emulatorDbg" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_util_test_emulatorDbg" +# PROP Intermediate_Dir "./output/pjlib_util_test_emulatorDbg" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r +# ADD RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gs8192 /GF /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 +# ADD LINK32 $(CEx86Corelibc) winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4I) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ARMV4IRel" +# PROP BASE Intermediate_Dir "ARMV4IRel" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_util_test_ARMV4IRel" +# PROP Intermediate_Dir "./output/pjlib_util_test_ARMV4IRel" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4I) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ARMV4IDbg" +# PROP BASE Intermediate_Dir "ARMV4IDbg" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_util_test_ARMV4IDbg" +# PROP Intermediate_Dir "./output/pjlib_util_test_ARMV4IDbg" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "MIPSIV_FPRel" +# PROP BASE Intermediate_Dir "MIPSIV_FPRel" +# PROP BASE CPU_ID "{046A430D-7770-48AB-89B5-24C2D300B03F}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_util_test_MIPSIV_FPRel" +# PROP Intermediate_Dir "./output/pjlib_util_test_MIPSIV_FPRel" +# PROP CPU_ID "{046A430D-7770-48AB-89B5-24C2D300B03F}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D "MIPSIV_FP" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QMmips4 /QMn32 /QMFPE- /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D "MIPSIV_FP" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QMmips4 /QMn32 /QMFPE- /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "MIPSIV_FPDbg" +# PROP BASE Intermediate_Dir "MIPSIV_FPDbg" +# PROP BASE CPU_ID "{046A430D-7770-48AB-89B5-24C2D300B03F}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_util_test_MIPSIV_FPDbg" +# PROP Intermediate_Dir "./output/pjlib_util_test_MIPSIV_FPDbg" +# PROP CPU_ID "{046A430D-7770-48AB-89B5-24C2D300B03F}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D "MIPSIV_FP" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips4 /QMn32 /QMFPE- /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D "MIPSIV_FP" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips4 /QMn32 /QMFPE- /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ARMV4Rel" +# PROP BASE Intermediate_Dir "ARMV4Rel" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_util_test_ARMV4Rel" +# PROP Intermediate_Dir "./output/pjlib_util_test_ARMV4Rel" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ARMV4Dbg" +# PROP BASE Intermediate_Dir "ARMV4Dbg" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_util_test_ARMV4Dbg" +# PROP Intermediate_Dir "./output/pjlib_util_test_ARMV4Dbg" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPS16) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "MIPS16Rel" +# PROP BASE Intermediate_Dir "MIPS16Rel" +# PROP BASE CPU_ID "{D6519013-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_util_test_MIPS16Rel" +# PROP Intermediate_Dir "./output/pjlib_util_test_MIPS16Rel" +# PROP CPU_ID "{D6519013-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "MIPS16SUPPORT" /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPS16" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "MIPS16SUPPORT" /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPS16" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPS16" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_MIPS16_" /D "MIPS16SUPPORT" /YX /QMmips16 /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPS16" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_MIPS16_" /D "MIPS16SUPPORT" /YX /QMmips16 /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS16 /ALIGN:4096 +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS16 /ALIGN:4096 + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPS16) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "MIPS16Dbg" +# PROP BASE Intermediate_Dir "MIPS16Dbg" +# PROP BASE CPU_ID "{D6519013-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_util_test_MIPS16Dbg" +# PROP Intermediate_Dir "./output/pjlib_util_test_MIPS16Dbg" +# PROP CPU_ID "{D6519013-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "MIPS16SUPPORT" /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPS16" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "MIPS16SUPPORT" /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPS16" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPS16" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_MIPS16_" /D "MIPS16SUPPORT" /YX /QMmips16 /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPS16" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_MIPS16_" /D "MIPS16SUPPORT" /YX /QMmips16 /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS16 /ALIGN:4096 +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS16 /ALIGN:4096 + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4T) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "ARMV4TRel" +# PROP BASE Intermediate_Dir "ARMV4TRel" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_util_test_ARMV4TRel" +# PROP Intermediate_Dir "./output/pjlib_util_test_ARMV4TRel" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4T) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "ARMV4TDbg" +# PROP BASE Intermediate_Dir "ARMV4TDbg" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_util_test_ARMV4TDbg" +# PROP Intermediate_Dir "./output/pjlib_util_test_ARMV4TDbg" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE x86) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "X86Rel" +# PROP BASE Intermediate_Dir "X86Rel" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_util_test_X86Rel" +# PROP Intermediate_Dir "./output/pjlib_util_test_X86Rel" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /YX /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /YX /Gs8192 /GF /O2 /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 +# ADD LINK32 winsock.lib ws2.lib $(CEx86Corelibc) commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE x86) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "X86Dbg" +# PROP BASE Intermediate_Dir "X86Dbg" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_util_test_X86Dbg" +# PROP Intermediate_Dir "./output/pjlib_util_test_X86Dbg" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r +# ADD RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gs8192 /GF /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 +# ADD LINK32 winsock.lib ws2.lib $(CEx86Corelibc) commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 + +!ENDIF + +# Begin Target + +# Name "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Release" +# Name "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Debug" +# Name "pjlib_util_test_wince - Win32 (WCE MIPSII) Release" +# Name "pjlib_util_test_wince - Win32 (WCE MIPSII) Debug" +# Name "pjlib_util_test_wince - Win32 (WCE SH4) Release" +# Name "pjlib_util_test_wince - Win32 (WCE SH4) Debug" +# Name "pjlib_util_test_wince - Win32 (WCE SH3) Release" +# Name "pjlib_util_test_wince - Win32 (WCE SH3) Debug" +# Name "pjlib_util_test_wince - Win32 (WCE MIPSIV) Release" +# Name "pjlib_util_test_wince - Win32 (WCE MIPSIV) Debug" +# Name "pjlib_util_test_wince - Win32 (WCE emulator) Release" +# Name "pjlib_util_test_wince - Win32 (WCE emulator) Debug" +# Name "pjlib_util_test_wince - Win32 (WCE ARMV4I) Release" +# Name "pjlib_util_test_wince - Win32 (WCE ARMV4I) Debug" +# Name "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Release" +# Name "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Debug" +# Name "pjlib_util_test_wince - Win32 (WCE ARMV4) Release" +# Name "pjlib_util_test_wince - Win32 (WCE ARMV4) Debug" +# Name "pjlib_util_test_wince - Win32 (WCE MIPS16) Release" +# Name "pjlib_util_test_wince - Win32 (WCE MIPS16) Debug" +# Name "pjlib_util_test_wince - Win32 (WCE ARMV4T) Release" +# Name "pjlib_util_test_wince - Win32 (WCE ARMV4T) Debug" +# Name "pjlib_util_test_wince - Win32 (WCE x86) Release" +# Name "pjlib_util_test_wince - Win32 (WCE x86) Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE="..\..\src\pjlib-util-test\encryption.c" + +!IF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ENCRY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util-test\main_win32.c" + +!IF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_MAIN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjlib\src\pjlib-test\main_win32.c"\ + "..\..\..\pjlib\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util-test\resolver_test.c" + +!IF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util-test\stun.c" + +!IF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Release" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Debug" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII) Release" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII) Debug" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH4) Release" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH4) Debug" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH3) Release" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH3) Debug" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV) Release" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV) Debug" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE emulator) Release" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE emulator) Debug" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4I) Release" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4I) Debug" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Release" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4) Release" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4) Debug" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPS16) Release" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPS16) Debug" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4T) Release" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4T) Debug" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE x86) Release" + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE x86) Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util-test\test.c" + +!IF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\getopt.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\md5.h"\ + "..\..\include\pjlib-util\pcap.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\sha1.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util-test\xml.c" + +!IF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\xml.h"\ + "..\..\src\pjlib-util-test\test.h"\ + + +!ENDIF + +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE="..\..\src\pjlib-util-test\test.h" +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/pjlib-util/build/wince-evc4/pjlib_util_wince.vcp b/pjlib-util/build/wince-evc4/pjlib_util_wince.vcp new file mode 100644 index 0000000..45e4ec3 --- /dev/null +++ b/pjlib-util/build/wince-evc4/pjlib_util_wince.vcp @@ -0,0 +1,10710 @@ +# Microsoft eMbedded Visual Tools Project File - Name="pjlib_util_wince" - Package Owner=<4> +# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (WCE x86) Static Library" 0x8304 +# TARGTYPE "Win32 (WCE ARMV4) Static Library" 0xa304 +# TARGTYPE "Win32 (WCE ARMV4I) Static Library" 0xa504 +# TARGTYPE "Win32 (WCE emulator) Static Library" 0xa604 +# TARGTYPE "Win32 (WCE ARMV4T) Static Library" 0xa404 + +CFG=PJLIB_UTIL_WINCE - WIN32 (WCE EMULATOR) DEBUG +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "pjlib_util_wince.vcn". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "pjlib_util_wince.vcn" CFG="PJLIB_UTIL_WINCE - WIN32 (WCE EMULATOR) DEBUG" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "pjlib_util_wince - Win32 (WCE emulator) Release" (based on "Win32 (WCE emulator) Static Library") +!MESSAGE "pjlib_util_wince - Win32 (WCE emulator) Debug" (based on "Win32 (WCE emulator) Static Library") +!MESSAGE "pjlib_util_wince - Win32 (WCE ARMV4I) Release" (based on "Win32 (WCE ARMV4I) Static Library") +!MESSAGE "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" (based on "Win32 (WCE ARMV4I) Static Library") +!MESSAGE "pjlib_util_wince - Win32 (WCE ARMV4) Release" (based on "Win32 (WCE ARMV4) Static Library") +!MESSAGE "pjlib_util_wince - Win32 (WCE ARMV4) Debug" (based on "Win32 (WCE ARMV4) Static Library") +!MESSAGE "pjlib_util_wince - Win32 (WCE ARMV4T) Release" (based on "Win32 (WCE ARMV4T) Static Library") +!MESSAGE "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" (based on "Win32 (WCE ARMV4T) Static Library") +!MESSAGE "pjlib_util_wince - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Static Library") +!MESSAGE "pjlib_util_wince - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +# PROP ATL_Project 2 + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib-util-emulatorRel" +# PROP BASE Intermediate_Dir "./output/pjlib-util-emulatorRel" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib-util-emulatorRel" +# PROP Intermediate_Dir "./output/pjlib-util-emulatorRel" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D "NDEBUG" /D "_i386_" /D "_X86_" /D "x86" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /O2 /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib-util-emulatorDbg" +# PROP BASE Intermediate_Dir "./output/pjlib-util-emulatorDbg" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib-util-emulatorDbg" +# PROP Intermediate_Dir "./output/pjlib-util-emulatorDbg" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "_i386_" /D "_X86_" /D "x86" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib-util-ARMV4IRel" +# PROP BASE Intermediate_Dir "./output/pjlib-util-ARMV4IRel" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib-util-ARMV4IRel" +# PROP Intermediate_Dir "./output/pjlib-util-ARMV4IRel" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D "ARMV4I" /D "NDEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib-util-ARMV4IDbg" +# PROP BASE Intermediate_Dir "./output/pjlib-util-ARMV4IDbg" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib-util-ARMV4IDbg" +# PROP Intermediate_Dir "./output/pjlib-util-ARMV4IDbg" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "ARMV4I" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib-util-ARMV4Rel" +# PROP BASE Intermediate_Dir "./output/pjlib-util-ARMV4Rel" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib-util-ARMV4Rel" +# PROP Intermediate_Dir "./output/pjlib-util-ARMV4Rel" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D "NDEBUG" /D "ARMV4" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /O2 /M$(CECrtMT) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib-util-ARMV4Dbg" +# PROP BASE Intermediate_Dir "./output/pjlib-util-ARMV4Dbg" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib-util-ARMV4Dbg" +# PROP Intermediate_Dir "./output/pjlib-util-ARMV4Dbg" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "ARMV4" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib-util-ARMV4TRel" +# PROP BASE Intermediate_Dir "./output/pjlib-util-ARMV4TRel" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib-util-ARMV4TRel" +# PROP Intermediate_Dir "./output/pjlib-util-ARMV4TRel" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D "NDEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib-util-ARMV4TDbg" +# PROP BASE Intermediate_Dir "./output/pjlib-util-ARMV4TDbg" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib-util-ARMV4TDbg" +# PROP Intermediate_Dir "./output/pjlib-util-ARMV4TDbg" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib-util-X86Rel" +# PROP BASE Intermediate_Dir "./output/pjlib-util-X86Rel" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib-util-X86Rel" +# PROP Intermediate_Dir "./output/pjlib-util-X86Rel" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /D "NDEBUG" /D "_i386_" /D "_X86_" /D "x86" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /O2 /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib-util-X86Dbg" +# PROP BASE Intermediate_Dir "./output/pjlib-util-X86Dbg" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib-util-X86Dbg" +# PROP Intermediate_Dir "./output/pjlib-util-X86Dbg" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /D "DEBUG" /D "_i386_" /D "_X86_" /D "x86" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ENDIF + +# Begin Target + +# Name "pjlib_util_wince - Win32 (WCE emulator) Release" +# Name "pjlib_util_wince - Win32 (WCE emulator) Debug" +# Name "pjlib_util_wince - Win32 (WCE ARMV4I) Release" +# Name "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" +# Name "pjlib_util_wince - Win32 (WCE ARMV4) Release" +# Name "pjlib_util_wince - Win32 (WCE ARMV4) Debug" +# Name "pjlib_util_wince - Win32 (WCE ARMV4T) Release" +# Name "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" +# Name "pjlib_util_wince - Win32 (WCE x86) Release" +# Name "pjlib_util_wince - Win32 (WCE x86) Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE="..\..\src\pjlib-util\base64.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\base64.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_BASE6=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\crc32.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\crc32.h"\ + +NODEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\crc32.h"\ + +NODEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\crc32.h"\ + +NODEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\crc32.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\crc32.h"\ + +NODEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\crc32.h"\ + +NODEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\crc32.h"\ + +NODEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\crc32.h"\ + +NODEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\crc32.h"\ + +NODEP_CPP_CRC32=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\dns.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_DNS_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_DNS_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_DNS_C=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_DNS_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_DNS_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_DNS_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_DNS_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_DNS_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_DNS_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_DNS_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_DNS_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\dns_dump.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_DNS_D=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\dns.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_DNS_D=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_DNS_D=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_DNS_D=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\dns.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_DNS_D=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\dns.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_DNS_D=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_DNS_D=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\dns.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_DNS_D=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\dns.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_DNS_D=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\dns.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_DNS_D=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\dns.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_DNS_D=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\dns.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\dns_server.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_DNS_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_DNS_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_DNS_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_DNS_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_DNS_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_DNS_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_DNS_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_DNS_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_DNS_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_DNS_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\dns_server.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\errno.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\errno.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\getopt.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_GETOP=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\getopt.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_GETOP=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\getopt.h"\ + +NODEP_CPP_GETOP=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_GETOP=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\getopt.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_GETOP=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\getopt.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_GETOP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\getopt.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_GETOP=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\getopt.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_GETOP=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\getopt.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_GETOP=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\getopt.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_GETOP=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\getopt.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_GETOP=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\getopt.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\hmac_md5.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\hmac_md5.h"\ + "..\..\include\pjlib-util\md5.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_HMAC_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\hmac_sha1.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\sha1.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\hmac_sha1.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_HMAC_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\md5.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\md5.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\md5.h"\ + +NODEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_MD5_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\md5.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\pcap.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\pcap.h"\ + +NODEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\pcap.h"\ + +NODEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\pcap.h"\ + +NODEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\pcap.h"\ + +NODEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\pcap.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\pcap.h"\ + +NODEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\pcap.h"\ + +NODEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\pcap.h"\ + +NODEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\pcap.h"\ + +NODEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\pcap.h"\ + +NODEP_CPP_PCAP_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\resolver.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + +NODEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + +NODEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + +NODEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + +NODEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + +NODEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + +NODEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + +NODEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + +NODEP_CPP_RESOL=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\scanner.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\src\pjlib-util\scanner_cis_bitwise.c"\ + "..\..\src\pjlib-util\scanner_cis_uint.c"\ + +NODEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\src\pjlib-util\scanner_cis_bitwise.c"\ + "..\..\src\pjlib-util\scanner_cis_uint.c"\ + +NODEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\src\pjlib-util\scanner_cis_bitwise.c"\ + "..\..\src\pjlib-util\scanner_cis_uint.c"\ + +NODEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\src\pjlib-util\scanner_cis_bitwise.c"\ + "..\..\src\pjlib-util\scanner_cis_uint.c"\ + +NODEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\src\pjlib-util\scanner_cis_bitwise.c"\ + "..\..\src\pjlib-util\scanner_cis_uint.c"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\src\pjlib-util\scanner_cis_bitwise.c"\ + "..\..\src\pjlib-util\scanner_cis_uint.c"\ + +NODEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\src\pjlib-util\scanner_cis_bitwise.c"\ + "..\..\src\pjlib-util\scanner_cis_uint.c"\ + +NODEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\src\pjlib-util\scanner_cis_bitwise.c"\ + "..\..\src\pjlib-util\scanner_cis_uint.c"\ + +NODEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\src\pjlib-util\scanner_cis_bitwise.c"\ + "..\..\src\pjlib-util\scanner_cis_uint.c"\ + +NODEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SCANN=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\src\pjlib-util\scanner_cis_bitwise.c"\ + "..\..\src\pjlib-util\scanner_cis_uint.c"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\sha1.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\src\pjlib-util\config.h"\ + "..\..\src\pjlib-util\os_types.h"\ + "..\..\src\pjlib-util\sha1.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\src\pjlib-util\config.h"\ + "..\..\src\pjlib-util\os_types.h"\ + "..\..\src\pjlib-util\sha1.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\src\pjlib-util\config.h"\ + "..\..\src\pjlib-util\os_types.h"\ + "..\..\src\pjlib-util\sha1.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\src\pjlib-util\config.h"\ + "..\..\src\pjlib-util\os_types.h"\ + "..\..\src\pjlib-util\sha1.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_SHA1_=\ + "..\..\src\pjlib-util\config.h"\ + "..\..\src\pjlib-util\os_types.h"\ + "..\..\src\pjlib-util\sha1.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\src\pjlib-util\config.h"\ + "..\..\src\pjlib-util\os_types.h"\ + "..\..\src\pjlib-util\sha1.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\src\pjlib-util\config.h"\ + "..\..\src\pjlib-util\os_types.h"\ + "..\..\src\pjlib-util\sha1.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\src\pjlib-util\config.h"\ + "..\..\src\pjlib-util\os_types.h"\ + "..\..\src\pjlib-util\sha1.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\src\pjlib-util\config.h"\ + "..\..\src\pjlib-util\os_types.h"\ + "..\..\src\pjlib-util\sha1.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\sha1.h"\ + +NODEP_CPP_SHA1_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\src\pjlib-util\config.h"\ + "..\..\src\pjlib-util\os_types.h"\ + "..\..\src\pjlib-util\sha1.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\srv_resolver.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\dns.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\resolver.h"\ + "..\..\include\pjlib-util\srv_resolver.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_SRV_R=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\string.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\string.h"\ + +NODEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\string.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\string.h"\ + +NODEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\string.h"\ + +NODEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\string.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\string.h"\ + +NODEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\string.h"\ + +NODEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\string.h"\ + +NODEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\string.h"\ + +NODEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_STRIN=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\string.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\stun_simple.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\stun_simple_client.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\errno.h"\ + "..\..\include\pjlib-util\stun_simple.h"\ + "..\..\include\pjlib-util\types.h"\ + +NODEP_CPP_STUN_S=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-util\xml.c" + +!IF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\xml.h"\ + +NODEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + +NODEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\xml.h"\ + +NODEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\xml.h"\ + +NODEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjlib-util\config.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\types.h"\ + "..\..\include\pjlib-util\xml.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\xml.h"\ + +NODEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\xml.h"\ + +NODEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\xml.h"\ + +NODEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Release" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\xml.h"\ + +NODEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_util_wince - Win32 (WCE x86) Debug" + +DEP_CPP_XML_C=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjlib-util\scanner.h"\ + "..\..\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\include\pjlib-util\xml.h"\ + + +!ENDIF + +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE="..\..\include\pjlib-util\base64.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\config.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\crc32.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\dns.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\dns_server.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\errno.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\getopt.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\hmac_md5.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\hmac_sha1.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\md5.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\pcap.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\resolver.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\scanner.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\scanner_cis_bitwise.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\scanner_cis_uint.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\sha1.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\srv_resolver.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\string.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\stun_simple.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\types.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjlib-util\xml.h" +# End Source File +# End Group +# End Target +# End Project diff --git a/pjlib-util/build/wince-evc4/pjlib_util_wince.vcw b/pjlib-util/build/wince-evc4/pjlib_util_wince.vcw new file mode 100644 index 0000000..cc48ec7 --- /dev/null +++ b/pjlib-util/build/wince-evc4/pjlib_util_wince.vcw @@ -0,0 +1,59 @@ +Microsoft eMbedded Visual Tools Workspace File, Format Version 4.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "pjlib_util_test_wince"=".\pjlib_util_test_wince.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name pjlib_util_wince + End Project Dependency + Begin Project Dependency + Project_Dep_Name pjlib_wince + End Project Dependency +}}} + +############################################################################### + +Project: "pjlib_util_wince"=".\pjlib_util_wince.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "pjlib_wince"="..\..\..\pjlib\build\wince-evc4\pjlib_wince.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/pjlib-util/docs/doxygen.cfg b/pjlib-util/docs/doxygen.cfg new file mode 100644 index 0000000..509c784 --- /dev/null +++ b/pjlib-util/docs/doxygen.cfg @@ -0,0 +1,1053 @@ +# Doxyfile 1.3-rc3 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# General configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "PJLIB-UTIL Reference" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = $(PJ_VERSION) + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = docs/$(PJ_VERSION) + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, +# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en +# (Japanese with english messages), Korean, Norwegian, Polish, Portuguese, +# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish and Ukrainian. + +OUTPUT_LANGUAGE = English + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these class will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited +# members of a class in the documentation of that class as if those members were +# ordinary class members. Constructors, destructors and assignment operators of +# the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. It is allowed to use relative paths in the argument list. + +STRIP_FROM_PATH = "c:\project\pjproject" + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower case letters. If set to YES upper case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# users are adviced to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explict @brief command for a brief description. + +JAVADOC_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = YES + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# reimplements. + +INHERIT_DOCS = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consist of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. +# For instance some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources +# only. Doxygen will then generate output that is more tailored for Java. +# For instance namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES +TYPEDEF_HIDES_STRUCT = YES + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = include/pjlib-util + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# *.h++ *.idl *.odl + +FILE_PATTERNS = *.h *.c + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories +# that are symbolic links (a Unix filesystem feature) are excluded from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. + +EXCLUDE_PATTERNS = "*_i.h" "*/compat/*" + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = . + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = YES + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. + +INPUT_FILTER = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .htm + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = docs/header.html + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = docs/footer.html + +# The HTML_STYLESHEET tag can be used to specify a user defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet + +HTML_STYLESHEET = docs/doxygen.css + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output dir. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non empty doxygen will try to run +# the html help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the Html help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = YES + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimised for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assigments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_XML = NO + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = YES + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_PREDEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. + +PREDEFINED = PJ_DECL(x)=x PJ_DEF(x)=x PJ_IDECL(x)=x \ + PJ_IDEF(x)=x PJ_INLINE(x)=x \ + PJ_DECL_DATA(x)=x \ + PJ_DECL_NO_RETURN(x)=x \ + PJ_NO_RETURN=x \ + PJ_HAS_HIGH_RES_TIMER=1 \ + PJ_LOG_MAX_LEVEL=4 \ + PJ_HAS_SEMAPHORE=1 \ + PJ_HAS_EVENT_OBJ=1 \ + PJ_HAS_TCP=1 + + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse the +# parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES tag can be used to specify one or more tagfiles. + +TAGFILES = ../pjlib/docs/pjlib.tag=../../../pjlib/docs/html ../pjnath/docs/pjnath.tag=../../../pjnath/docs/html ../pjsip/docs/pjsip.tag=../../../pjsip/docs/html ../pjmedia/docs/pjmedia.tag=../../../pjmedia/docs/html + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = docs/pjlib-util.tag + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = NO + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +#PERL_PATH = /usr/bin/perl +PERL_PATH = /c/Perl/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or +# super classes. Setting the tag to NO turns the diagrams off. Note that this +# option is superceded by the HAVE_DOT option below. This is only a fallback. It is +# recommended to install and use dot, since it yield more powerful graphs. + +CLASS_DIAGRAMS = NO + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_WIDTH = 1024 + +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_HEIGHT = 1024 + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermedate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +#CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +#CGI_URL = + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +#DOC_URL = + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +#DOC_ABSPATH = + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +#BIN_ABSPATH = /usr/local/bin/ + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +#EXT_DOC_PATHS = diff --git a/pjlib-util/docs/doxygen.css b/pjlib-util/docs/doxygen.css new file mode 100644 index 0000000..015c0c2 --- /dev/null +++ b/pjlib-util/docs/doxygen.css @@ -0,0 +1,305 @@ +BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { + font-family: Geneva, Arial, Helvetica, sans-serif; +} +BODY,TD { + font-size: 80%; +} +CODE { + font-size: 120%; + font-family: monospace; +} +.fragment, pre { + font-size: 110%; + font-family: monospace; +} +H1 { + text-align: center; + font-size: 240%; +} +H2 { + font-size: 200%; + margin-top : 60px; +} +H3 { + font-size: 160%; +} +H4 { + font-size: 120%; +} +CAPTION { font-weight: bold } +DIV.qindex { + width: 100%; + background-color: #eeeeff; + border: 1px solid #b0b0b0; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.nav { + width: 100%; + background-color: #eeeeff; + border: 1px solid #b0b0b0; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +A.qindex { + text-decoration: none; + font-size: 120%; + color: #1A419D; +} +A.qindex:visited { + text-decoration: none; + color: #1A419D +} +A.qindex:hover { + text-decoration: none; + background-color: #ddddff; +} +A.qindexHL { + text-decoration: none; + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} +A.qindexHL:hover { + text-decoration: none; + background-color: #6666cc; + color: #ffffff; +} +A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } +A.el { text-decoration: none; font-weight: bold } +A.elRef { font-weight: bold } +A.code:link { text-decoration: none; font-weight: normal; color: #0000FF; } +A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} +A.codeRef:link { font-weight: normal; color: #0000FF} +A.codeRef:visited { font-weight: normal; color: #0000FF} +A:hover { text-decoration: none; background-color: #f2f2ff } +DL.el { margin-left: -1cm } +PRE.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + margin-top: 4px; + margin-bottom: 4px; + margin-left: 2px; + margin-right: 8px; + padding-left: 6px; + padding-right: 6px; + padding-top: 4px; + padding-bottom: 4px; +} +DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } +TD.md { background-color: #F4F4FB; font-weight: bold; } +TD.mdPrefix { + background-color: #F4F4FB; + color: #606060; + font-size: 80%; +} +TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; } +TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; } +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} +DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } +BODY { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} +TD.indexkey { + background-color: #eeeeff; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TD.indexvalue { + background-color: #eeeeff; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TR.memlist { + background-color: #f0f0f0; +} +P.formulaDsp { text-align: center; } +IMG.formulaDsp { } +IMG.formulaInl { vertical-align: middle; } +SPAN.keyword { color: #008000 } +SPAN.keywordtype { color: #604020 } +SPAN.keywordflow { color: #e08000 } +SPAN.comment { color: #800000 } +SPAN.preprocessor { color: #806020 } +SPAN.stringliteral { color: #002080 } +SPAN.charliteral { color: #008080 } +.mdTable { + border: 1px solid #868686; + background-color: #F4F4FB; +} +.mdRow { + padding: 8px 10px; +} +.mdescLeft { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.mdescRight { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.memItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplParams { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + color: #606060; + background-color: #FAFAFA; + font-size: 80%; +} +.search { color: #003399; + font-weight: bold; +} +FORM.search { + margin-bottom: 0px; + margin-top: 0px; +} +INPUT.search { font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #eeeeff; +} +TD.tiny { font-size: 75%; +} +a { + color: #252E78; +} +a:visited { + color: #3D2185; +} +.dirtab { padding: 4px; + border-collapse: collapse; + border: 1px solid #b0b0b0; +} +TH.dirtab { background: #eeeeff; + font-weight: bold; +} +HR { height: 1px; + border: none; + border-top: 1px solid black; +} diff --git a/pjlib-util/docs/footer.html b/pjlib-util/docs/footer.html new file mode 100644 index 0000000..e09df7e --- /dev/null +++ b/pjlib-util/docs/footer.html @@ -0,0 +1,11 @@ +

 

+
+PJLIB-UTIL Open Source, small footprint, and portable asynchronous/caching DNS resolver, text scanner, STUN client, and XML library
+Copyright (C) 2006-2009 Teluu Inc. +
+ + + + + + diff --git a/pjlib-util/docs/header.html b/pjlib-util/docs/header.html new file mode 100644 index 0000000..d7b6451 --- /dev/null +++ b/pjlib-util/docs/header.html @@ -0,0 +1,9 @@ + + +$title ($projectnumber) + + + +

Home --> Documentations --> PJLIB-UTIL Reference

+ + diff --git a/pjlib-util/include/pjlib-util.h b/pjlib-util/include/pjlib-util.h new file mode 100644 index 0000000..d06a791 --- /dev/null +++ b/pjlib-util/include/pjlib-util.h @@ -0,0 +1,76 @@ +/* $Id: pjlib-util.h 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_H__ +#define __PJLIB_UTIL_H__ + +/** + * @file pjlib-util.h + * @brief pjlib-util.h + */ + +/* Base */ +#include +#include + +/* Getopt */ +#include + +/* Crypto */ +#include +#include +#include +#include +#include +#include + +/* DNS and resolver */ +#include +#include +#include + +/* Simple DNS server */ +#include + +/* Text scanner and utilities */ +#include +#include + +/* XML */ +#include + +/* JSON */ +#include + +/* Old STUN */ +#include + +/* PCAP */ +#include + +/* HTTP */ +#include + +/** CLI **/ +#include +#include +#include + +#endif /* __PJLIB_UTIL_H__ */ + diff --git a/pjlib-util/include/pjlib-util/base64.h b/pjlib-util/include/pjlib-util/base64.h new file mode 100644 index 0000000..31ce0a4 --- /dev/null +++ b/pjlib-util/include/pjlib-util/base64.h @@ -0,0 +1,92 @@ +/* $Id: base64.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_BASE64_H__ +#define __PJLIB_UTIL_BASE64_H__ + +/** + * @file base64.h + * @brief Base64 encoding and decoding + */ + +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJLIB_UTIL_BASE64 Base64 Encoding/Decoding + * @ingroup PJLIB_UTIL_ENCRYPTION + * @{ + * This module implements base64 encoding and decoding. + */ + +/** + * Helper macro to calculate the approximate length required for base256 to + * base64 conversion. + */ +#define PJ_BASE256_TO_BASE64_LEN(len) (len * 4 / 3 + 3) + +/** + * Helper macro to calculate the approximage length required for base64 to + * base256 conversion. + */ +#define PJ_BASE64_TO_BASE256_LEN(len) (len * 3 / 4) + + +/** + * Encode a buffer into base64 encoding. + * + * @param input The input buffer. + * @param in_len Size of the input buffer. + * @param output Output buffer. Caller must allocate this buffer with + * the appropriate size. + * @param out_len On entry, it specifies the length of the output buffer. + * Upon return, this will be filled with the actual + * length of the output buffer. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pj_base64_encode(const pj_uint8_t *input, int in_len, + char *output, int *out_len); + + +/** + * Decode base64 string. + * + * @param input Input string. + * @param out Buffer to store the output. Caller must allocate + * this buffer with the appropriate size. + * @param out_len On entry, it specifies the length of the output buffer. + * Upon return, this will be filled with the actual + * length of the output. + */ +PJ_DECL(pj_status_t) pj_base64_decode(const pj_str_t *input, + pj_uint8_t *out, int *out_len); + + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJLIB_UTIL_BASE64_H__ */ + diff --git a/pjlib-util/include/pjlib-util/cli.h b/pjlib-util/include/pjlib-util/cli.h new file mode 100644 index 0000000..a91fb3d --- /dev/null +++ b/pjlib-util/include/pjlib-util/cli.h @@ -0,0 +1,529 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_CLI_H__ +#define __PJLIB_UTIL_CLI_H__ + +/** + * @file cli.h + * @brief Command Line Interface + */ + +#include +#include + + +PJ_BEGIN_DECL + +/** + * @defgroup PJLIB_UTIL_CLI Command Line Interface Framework + * @{ + * A CLI framework features an interface for defining command specification, + * parsing, and executing a command. + * It also features an interface to communicate with various front-ends, + * such as console, telnet. + * Application normally needs only one CLI instance to be created. + * On special cases, application could also create multiple CLI + * instances, with each instance has specific command structure. + * +\verbatim +| vid help Show this help screen | +| vid enable|disable Enable or disable video in next offer/answer | +| vid call add Add video stream for current call | +| vid call cap N ID Set capture dev ID for stream #N in current call | +| disable_codec g711|g722 Show this help screen | + + + + + + + + + + + + + + + + + + +\endverbatim + */ + +/** + * This opaque structure represents a CLI application. A CLI application is + * the root placeholder of other CLI objects. In an application, one (and + * normally only one) CLI application instance needs to be created. + */ +typedef struct pj_cli_t pj_cli_t; + +/** + * Type of command id. + */ +typedef int pj_cli_cmd_id; + +/** + * This describes the parameters to be specified when creating a CLI + * application with pj_cli_create(). Application MUST initialize this + * structure by calling pj_cli_cfg_default() before using it. + */ +typedef struct pj_cli_cfg +{ + /** + * The application name, which will be used in places such as logs. + * This field is mandatory. + */ + pj_str_t name; + + /** + * Optional application title, which will be used in places such as + * window title. If not specified, the application name will be used + * as the title. + */ + pj_str_t title; + + /** + * The pool factory where all memory allocations will be taken from. + * This field is mandatory. + */ + pj_pool_factory *pf; + +} pj_cli_cfg; + +/** + * Type of argument id. + */ +typedef int pj_cli_arg_id; + +/** + * Forward declaration of pj_cli_cmd_spec structure. + */ +typedef struct pj_cli_cmd_spec pj_cli_cmd_spec; + +/** + * Forward declaration for pj_cli_sess, which will be declared in cli_imp.h. + */ +typedef struct pj_cli_sess pj_cli_sess; + +/** + * Forward declaration for CLI front-end. + */ +typedef struct pj_cli_front_end pj_cli_front_end; + +/** + * Forward declaration for CLI argument spec structure. + */ +typedef struct pj_cli_arg_spec pj_cli_arg_spec; + +/** + * This structure contains the command to be executed by command handler. + */ +typedef struct pj_cli_cmd_val +{ + /** The session on which the command was executed on. */ + pj_cli_sess *sess; + + /** The command specification being executed. */ + const pj_cli_cmd_spec *cmd; + + /** Number of argvs. */ + int argc; + + /** Array of args, with argv[0] specifies the name of the cmd. */ + pj_str_t argv[PJ_CLI_MAX_ARGS]; + +} pj_cli_cmd_val; + +/** + * This structure contains the hints information for the end user. + * This structure could contain either command or argument information. + * The front-end will format the information and present it to the user. + */ +typedef struct pj_cli_hint_info +{ + /** + * The hint value. + */ + pj_str_t name; + + /** + * The hint type. + */ + pj_str_t type; + + /** + * Helpful description of the hint value. + */ + pj_str_t desc; + +} pj_cli_hint_info; + +/** + * This structure contains extra information returned by pj_cli_sess_exec()/ + * pj_cli_sess_parse(). + * Upon return from the function, various other fields in this structure will + * be set by the function. + */ +typedef struct pj_cli_exec_info +{ + /** + * If command parsing failed, on return this will point to the location + * where the failure occurs, otherwise the value will be set to -1. + */ + int err_pos; + + /** + * If a command matching the command in the cmdline was found, on return + * this will be set to the command id of the command, otherwise it will be + * set to PJ_CLI_INVALID_CMD_ID. + */ + pj_cli_cmd_id cmd_id; + + /** + * If a command was executed, on return this will be set to the return + * value of the command, otherwise it will contain PJ_SUCCESS. + */ + pj_status_t cmd_ret; + + /** + * The number of hint elements + **/ + unsigned hint_cnt; + + /** + * If pj_cli_sess_parse() fails because of a missing argument or ambigous + * command/argument, the function returned PJ_CLI_EMISSINGARG or + * PJ_CLI_EAMBIGUOUS error. + * This field will contain the hint information. This is useful to give + * helpful information to the end_user. + */ + pj_cli_hint_info hint[PJ_CLI_MAX_HINTS]; + +} pj_cli_exec_info; + +/** + * This structure contains the information returned from the dynamic + * argument callback. + */ +typedef struct pj_cli_arg_choice_val +{ + /** + * The argument choice value + */ + pj_str_t value; + + /** + * Helpful description of the choice value. This text will be used when + * displaying the help texts for the choice value + */ + pj_str_t desc; + +} pj_cli_arg_choice_val; + +/** + * This structure contains the parameters for pj_cli_get_dyn_choice + */ +typedef struct pj_cli_dyn_choice_param +{ + /** + * The session on which the command was executed on. + */ + pj_cli_sess *sess; + + /** + * The command being processed. + */ + pj_cli_cmd_spec *cmd; + + /** + * The argument id. + */ + pj_cli_arg_id arg_id; + + /** + * The maximum number of values that the choice can hold. + */ + unsigned max_cnt; + + /** + * The pool to allocate memory from. + */ + pj_pool_t *pool; + + /** + * The choice values count. + */ + unsigned cnt; + + /** + * Array containing the valid choice values. + */ + pj_cli_arg_choice_val choice[PJ_CLI_MAX_CHOICE_VAL]; +} pj_cli_dyn_choice_param; + +/** + * This specifies the callback type for argument handlers, which will be + * called to get the valid values of the choice type arguments. + */ +typedef void (*pj_cli_get_dyn_choice) (pj_cli_dyn_choice_param *param); + +/** + * This specifies the callback type for command handlers, which will be + * executed when the specified command is invoked. + * + * @param cmd_val The command that is specified by the user. + * + * @return Return the status of the command execution. + */ +typedef pj_status_t (*pj_cli_cmd_handler)(pj_cli_cmd_val *cval); + +/** + * Write a log message to the CLI application. The CLI application + * will send the log message to all the registered front-ends. + * + * @param cli The CLI application instance. + * @param level Verbosity level of this message message. + * @param buffer The message itself. + * @param len Length of this message. + */ +PJ_DECL(void) pj_cli_write_log(pj_cli_t *cli, + int level, + const char *buffer, + int len); + +/** + * Create a new CLI application instance. + * + * @param cfg CLI application creation parameters. + * @param p_cli Pointer to receive the returned instance. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_cli_create(pj_cli_cfg *cfg, + pj_cli_t **p_cli); + +/** + * This specifies the function to get the id of the specified command + * + * @param cmd The specified command. + * + * @return The command id + */ +PJ_DECL(pj_cli_cmd_id) pj_cli_get_cmd_id(const pj_cli_cmd_spec *cmd); + +/** + * Get the internal parameter of the CLI instance. + * + * @param cli The CLI application instance. + * + * @return CLI parameter instance. + */ +PJ_DECL(pj_cli_cfg*) pj_cli_get_param(pj_cli_t *cli); + +/** + * Call this to signal application shutdown. Typically application would + * call this from it's "Quit" menu or similar command to quit the + * application. + * + * See also pj_cli_sess_end_session() to end a session instead of quitting the + * whole application. + * + * @param cli The CLI application instance. + * @param req The session on which the shutdown request is + * received. + * @param restart Indicate whether application restart is wanted. + */ +PJ_DECL(void) pj_cli_quit(pj_cli_t *cli, pj_cli_sess *req, + pj_bool_t restart); +/** + * Check if application shutdown or restart has been requested. + * + * @param cli The CLI application instance. + * + * @return PJ_TRUE if pj_cli_quit() has been called. + */ +PJ_DECL(pj_bool_t) pj_cli_is_quitting(pj_cli_t *cli); + +/** + * Check if application restart has been requested. + * + * @param cli The CLI application instance. + * + * @return PJ_TRUE if pj_cli_quit() has been called with + * restart parameter set. + */ +PJ_DECL(pj_bool_t) pj_cli_is_restarting(pj_cli_t *cli); + +/** + * Destroy a CLI application instance. This would also close all sessions + * currently running for this CLI application. + * + * @param cli The CLI application. + */ +PJ_DECL(void) pj_cli_destroy(pj_cli_t *cli); + +/** + * Initialize a pj_cli_cfg with its default values. + * + * @param param The instance to be initialized. + */ +PJ_DECL(void) pj_cli_cfg_default(pj_cli_cfg *param); + +/** + * Register a front end to the CLI application. + * + * @param CLI The CLI application. + * @param fe The CLI front end to be registered. + */ +PJ_DECL(void) pj_cli_register_front_end(pj_cli_t *cli, + pj_cli_front_end *fe); + +/** + * Create a new complete command specification from an XML node text and + * register it to the CLI application. + * + * @param cli The CLI application. + * @param group Optional group to which this command will be added + * to, or specify NULL if this command is a root + * command. + * @param xml Input string containing XML node text for the + * command. + * @param handler Function handler for the command. This must be NULL + * if the command specifies a command group. + * @param p_cmd Optional pointer to store the newly created + * specification. + * @param get_choice Function handler for the argument. Specify this for + * dynamic choice type arguments. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_cli_add_cmd_from_xml(pj_cli_t *cli, + pj_cli_cmd_spec *group, + const pj_str_t *xml, + pj_cli_cmd_handler handler, + pj_cli_cmd_spec **p_cmd, + pj_cli_get_dyn_choice get_choice); +/** + * Initialize pj_cli_exec_info with its default values. + * + * @param param The param to be initialized. + */ +PJ_DECL(void) pj_cli_exec_info_default(pj_cli_exec_info *param); + +/** + * Write a log message to the specific CLI session. + * + * @param sess The CLI active session. + * @param buffer The message itself. + * @param len Length of this message. + */ +PJ_DECL(void) pj_cli_sess_write_msg(pj_cli_sess *sess, + const char *buffer, + pj_size_t len); + +/** + * Parse an input cmdline string. The first word of the command line is the + * command itself, which will be matched against command specifications + * registered in the CLI application. + * + * Zero or more arguments follow the command name. Arguments are separated by + * one or more whitespaces. Argument may be placed inside a pair of quotes, + * double quotes, '{' and '}', or '[' and ']' pairs. This is useful when the + * argument itself contains whitespaces or other restricted characters. If + * the quote character itself is to appear in the argument, the argument then + * must be quoted with different quote characters. There is no character + * escaping facility provided by this function (such as the use of backslash + * '\' character). + * + * The cmdline may be followed by an extra newline (LF or CR-LF characters), + * which will be removed by the function. However any more characters + * following this newline will cause an error to be returned. + * + * @param sess The CLI session. + * @param cmdline The command line string to be parsed. + * @param val Structure to store the parsing result. + * @param pool The pool to allocate memory from. + * @param info Additional info to be returned regarding the parsing. + * + * @return This function returns the status of the parsing, + * which can be one of the following : + * - PJ_SUCCESS: a command was executed successfully. + * - PJ_EINVAL: invalid parameter to this function. + * - PJ_ENOTFOUND: command is not found. + * - PJ_CLI_EAMBIGUOUS: command/argument is ambiguous. + * - PJ_CLI_EMISSINGARG: missing argument. + * - PJ_CLI_EINVARG: invalid command argument. + * - PJ_CLI_EEXIT: "exit" has been called to end + * the current session. This is a signal for the + * application to end it's main loop. + */ +PJ_DECL(pj_status_t) pj_cli_sess_parse(pj_cli_sess *sess, + char *cmdline, + pj_cli_cmd_val *val, + pj_pool_t *pool, + pj_cli_exec_info *info); + +/** + * End the specified session, and destroy it to release all resources used + * by the session. + * + * See also pj_cli_sess and pj_cli_front_end for more info regarding the + * creation process. + * See also pj_cli_quit() to quit the whole application instead. + * + * @param sess The CLI session to be destroyed. + */ +PJ_DECL(void) pj_cli_sess_end_session(pj_cli_sess *sess); + +/** + * Execute a command line. This function will parse the input string to find + * the appropriate command and verify whether the string matches the command + * specifications. If matches, the command will be executed, and the return + * value of the command will be set in the \a cmd_ret field of the \a info + * argument, if specified. + * + * See also pj_cli_sess_parse() for more info regarding the cmdline format. + * + * @param sess The CLI session. + * @param cmdline The command line string to be executed. + * @param pool The pool to allocate memory from. + * @param info Optional pointer to receive additional information + * related to the execution of the command (such as + * the command return value). + * + * @return This function returns the status of the command + * parsing and execution (note that the return value + * of the handler itself will be returned in \a info + * argument, if specified). Please see the return value + * of pj_cli_sess_parse() for possible return values. + */ +PJ_DECL(pj_status_t) pj_cli_sess_exec(pj_cli_sess *sess, + char *cmdline, + pj_pool_t *pool, + pj_cli_exec_info *info); + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJLIB_UTIL_CLI_H__ */ diff --git a/pjlib-util/include/pjlib-util/cli_console.h b/pjlib-util/include/pjlib-util/cli_console.h new file mode 100644 index 0000000..5b68ead --- /dev/null +++ b/pjlib-util/include/pjlib-util/cli_console.h @@ -0,0 +1,117 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_CLI_CONSOLE_H__ +#define __PJLIB_UTIL_CLI_CONSOLE_H__ + +/** + * @file cli_console.h + * @brief Command Line Interface Console Front End API + */ + +#include + + +PJ_BEGIN_DECL + +/** + * @ingroup PJLIB_UTIL_CLI_IMP + * @{ + * + */ + + +/** + * This structure contains various options for CLI console front-end. + * Application must call pj_cli_console_cfg_default() to initialize + * this structure with its default values. + */ +typedef struct pj_cli_console_cfg +{ + /** + * Default log verbosity level for the session. + * + * Default value: PJ_CLI_CONSOLE_LOG_LEVEL + */ + int log_level; + + /** + * Specify text message as a prompt string to user. + * + * Default: empty + */ + pj_str_t prompt_str; + + /** + * Specify the command to quit the application. + * + * Default: empty + */ + pj_str_t quit_command; + +} pj_cli_console_cfg; + + +/** + * Initialize pj_cli_console_cfg with its default values. + * + * @param param The structure to be initialized. + */ +PJ_DECL(void) pj_cli_console_cfg_default(pj_cli_console_cfg *param); + + +/** + * Create a console front-end for the specified CLI application, and return + * the only session instance for the console front end. On Windows operating + * system, this may open a new console window. + * + * @param cli The CLI application instance. + * @param param Optional console CLI parameters. If this value is + * NULL, default parameters will be used. + * @param p_sess Pointer to receive the session instance for the + * console front end. + * @param p_fe Optional pointer to receive the front-end instance + * of the console front-end just created. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_cli_console_create(pj_cli_t *cli, + const pj_cli_console_cfg *param, + pj_cli_sess **p_sess, + pj_cli_front_end **p_fe); + +/** + * Retrieve a cmdline from console stdin and process the input accordingly. + * + * @param sess The CLI session. + * @param buf Pointer to receive the buffer. + * @param maxlen Maximum length to read. + * + * @return PJ_SUCCESS if an input was read + */ +PJ_DECL(pj_status_t) pj_cli_console_process(pj_cli_sess *sess, + char *buf, + unsigned maxlen); + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJLIB_UTIL_CLI_CONSOLE_H__ */ diff --git a/pjlib-util/include/pjlib-util/cli_imp.h b/pjlib-util/include/pjlib-util/cli_imp.h new file mode 100644 index 0000000..bb1324e --- /dev/null +++ b/pjlib-util/include/pjlib-util/cli_imp.h @@ -0,0 +1,208 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_CLI_IMP_H__ +#define __PJLIB_UTIL_CLI_IMP_H__ + +/** + * @file cli_imp.h + * @brief Command Line Interface Implementor's API + */ + +#include + + +PJ_BEGIN_DECL + +/** + * @defgroup PJLIB_UTIL_CLI_IMP Command Line Interface Implementor's API + * @ingroup PJLIB_UTIL_CLI + * @{ + * + */ + +/** + * Default log level for console sessions. + */ +#ifndef PJ_CLI_CONSOLE_LOG_LEVEL +# define PJ_CLI_CONSOLE_LOG_LEVEL PJ_LOG_MAX_LEVEL +#endif + +/** + * Default log level for telnet sessions. + */ +#ifndef PJ_CLI_TELNET_LOG_LEVEL +# define PJ_CLI_TELNET_LOG_LEVEL 4 +#endif + +/** + * Default port number for telnet daemon. + */ +#ifndef PJ_CLI_TELNET_PORT +# define PJ_CLI_TELNET_PORT 0 +#endif + +/** + * This enumeration specifies front end types. + */ +typedef enum pj_cli_front_end_type +{ + PJ_CLI_CONSOLE_FRONT_END, /**< Console front end. */ + PJ_CLI_TELNET_FRONT_END, /**< Telnet front end. */ + PJ_CLI_HTTP_FRONT_END, /**< HTTP front end. */ + PJ_CLI_GUI_FRONT_END /**< GUI front end. */ +} pj_cli_front_end_type; + + +/** + * Front end operations. Only the CLI should call these functions + * directly. + */ +typedef struct pj_cli_front_end_op +{ + /** + * Callback to write a log message to the appropriate sessions belonging + * to this front end. The front end would only send the log message to + * the session if the session's log verbosity level is greater than the + * level of this log message. + * + * @param fe The front end. + * @param level Verbosity level of this message message. + * @param data The message itself. + * @param len Length of this message. + */ + void (*on_write_log)(pj_cli_front_end *fe, int level, + const char *data, pj_size_t len); + + /** + * Callback to be called when the application is quitting, to signal the + * front-end to end its main loop or any currently blocking functions, + * if any. + * + * @param fe The front end. + * @param req The session which requested the application quit. + */ + void (*on_quit)(pj_cli_front_end *fe, pj_cli_sess *req); + + /** + * Callback to be called to close and self destroy the front-end. This + * must also close any active sessions created by this front-ends. + * + * @param fe The front end. + */ + void (*on_destroy)(pj_cli_front_end *fe); + +} pj_cli_front_end_op; + + +/** + * This structure describes common properties of CLI front-ends. A front- + * end is a mean to interact with end user, for example the CLI application + * may interact with console, telnet, web, or even a GUI. + * + * Each end user's interaction will create an instance of pj_cli_sess. + * + * Application instantiates the front end by calling the appropriate + * function to instantiate them. + */ +struct pj_cli_front_end +{ + /** + * Linked list members + */ + PJ_DECL_LIST_MEMBER(struct pj_cli_front_end); + + /** + * Front end type. + */ + pj_cli_front_end_type type; + + /** + * The CLI application. + */ + pj_cli_t *cli; + + /** + * Front end operations. + */ + pj_cli_front_end_op *op; +}; + + +/** + * Session operations. + */ +typedef struct pj_cli_sess_op +{ + /** + * Callback to be called to close and self destroy the session. + * + * @param sess The session to destroy. + */ + void (*destroy)(pj_cli_sess *sess); + +} pj_cli_sess_op; + + +/** + * This structure describes common properties of a CLI session. A CLI session + * is the interaction of an end user to the CLI application via a specific + * renderer, where the renderer can be console, telnet, web, or a GUI app for + * mobile. A session is created by its renderer, and it's creation procedures + * vary among renderer (for example, a telnet session is created when the + * end user connects to the application, while a console session is always + * instantiated once the program is run). + */ +struct pj_cli_sess +{ + /** + * Linked list members + */ + PJ_DECL_LIST_MEMBER(struct pj_cli_sess); + + /** + * Pointer to the front-end instance which created this session. + */ + pj_cli_front_end *fe; + + /** + * Session operations. + */ + pj_cli_sess_op *op; + + /** + * Text containing session info, which is filled by the renderer when + * the session is created. + */ + pj_str_t info; + + /** + * Log verbosity of this session. + */ + int log_level; + +}; + +/** + * @} + */ + + +PJ_END_DECL + +#endif /* __PJLIB_UTIL_CLI_IMP_H__ */ diff --git a/pjlib-util/include/pjlib-util/cli_telnet.h b/pjlib-util/include/pjlib-util/cli_telnet.h new file mode 100644 index 0000000..fff2089 --- /dev/null +++ b/pjlib-util/include/pjlib-util/cli_telnet.h @@ -0,0 +1,166 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_CLI_TELNET_H__ +#define __PJLIB_UTIL_CLI_TELNET_H__ + +/** + * @file cli_telnet.h + * @brief Command Line Interface Telnet Front End API + */ + +#include + +PJ_BEGIN_DECL + +/** + * @ingroup PJLIB_UTIL_CLI_IMP + * @{ + * + */ + + /** + * This structure contains the information about the telnet. + * Application will get updated information each time the telnet is started/ + * restarted. + */ +typedef struct pj_cli_telnet_info +{ + /** + * The telnet's ip address. + */ + pj_str_t ip_address; + + /** + * The telnet's port number. + */ + pj_uint16_t port; + + /* Internal buffer for IP address */ + char buf_[32]; + +} pj_cli_telnet_info; + +/** + * This specifies the callback called when telnet is started + * + * @param status The status of telnet startup process. + * + */ +typedef void (*pj_cli_telnet_on_started)(pj_status_t status); + +/** + * This structure contains various options to instantiate the telnet daemon. + * Application must call pj_cli_telnet_cfg_default() to initialize + * this structure with its default values. + */ +typedef struct pj_cli_telnet_cfg +{ + /** + * Listening port number. The value may be 0 to let the system choose + * the first available port. + * + * Default value: PJ_CLI_TELNET_PORT + */ + pj_uint16_t port; + + /** + * Ioqueue instance to be used. If this field is NULL, an internal + * ioqueue and worker thread will be created. + */ + pj_ioqueue_t *ioqueue; + + /** + * Default log verbosity level for the session. + * + * Default value: PJ_CLI_TELNET_LOG_LEVEL + */ + int log_level; + + /** + * Specify a password to be asked to the end user to access the + * application. + * + * Default: empty (no password) + */ + pj_str_t passwd; + + /** + * Specify text message to be displayed to newly connected users. + * + * Default: empty + */ + pj_str_t welcome_msg; + + /** + * Specify text message as a prompt string to user. + * + * Default: empty + */ + pj_str_t prompt_str; + + /** + * Specify the pj_cli_telnet_on_started callback. + * + * Default: empty + */ + pj_cli_telnet_on_started on_started; + +} pj_cli_telnet_cfg; + +/** + * Initialize pj_cli_telnet_cfg with its default values. + * + * @param param The structure to be initialized. + */ +PJ_DECL(void) pj_cli_telnet_cfg_default(pj_cli_telnet_cfg *param); + + +/** + * Create, initialize, and start a telnet daemon for the application. + * + * @param cli The CLI application instance. + * @param param Optional parameters for creating the telnet daemon. + * If this value is NULL, default parameters will be used. + * @param p_fe Optional pointer to receive the front-end instance + * of the telnet front-end just created. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_cli_telnet_create(pj_cli_t *cli, + pj_cli_telnet_cfg *param, + pj_cli_front_end **p_fe); + + +/** + * Retrieve cli telnet info. + * + * @param telnet_info The telnet runtime information. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pj_cli_telnet_get_info(pj_cli_front_end *fe, + pj_cli_telnet_info *info); + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJLIB_UTIL_CLI_TELNET_H__ */ diff --git a/pjlib-util/include/pjlib-util/config.h b/pjlib-util/include/pjlib-util/config.h new file mode 100644 index 0000000..74a2725 --- /dev/null +++ b/pjlib-util/include/pjlib-util/config.h @@ -0,0 +1,374 @@ +/* $Id: config.h 4589 2013-09-05 03:50:22Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_CONFIG_H__ +#define __PJLIB_UTIL_CONFIG_H__ + + +/** + * @file config.h + * @brief Compile time settings + */ + +/** + * @defgroup PJLIB_UTIL_CONFIG Configuration + * @ingroup PJLIB_UTIL_BASE + * @{ + */ + + +/* ************************************************************************** + * DNS CONFIGURATION + */ + +/** + * Maximum number of IP addresses in DNS A response. + */ +#ifndef PJ_DNS_MAX_IP_IN_A_REC +# define PJ_DNS_MAX_IP_IN_A_REC 8 +#endif + + +/** + * Maximum server address entries per one SRV record + */ +#ifndef PJ_DNS_SRV_MAX_ADDR +# define PJ_DNS_SRV_MAX_ADDR 8 +#endif + + +/** + * This constant specifies the maximum names to keep in the temporary name + * table when performing name compression scheme when duplicating DNS packet + * (the #pj_dns_packet_dup() function). + * + * Generally name compression is desired, since it saves some memory (see + * PJ_DNS_RESOLVER_RES_BUF_SIZE setting). However it comes at the expense of + * a little processing overhead to perform name scanning and also a little + * bit more stack usage (8 bytes per entry on 32bit platform). + * + * Default: 16 + */ +#ifndef PJ_DNS_MAX_NAMES_IN_NAMETABLE +# define PJ_DNS_MAX_NAMES_IN_NAMETABLE 16 +#endif + + +/* ************************************************************************** + * RESOLVER CONFIGURATION + */ + + +/** + * Maximum numbers of DNS nameservers that can be configured in resolver. + */ +#ifndef PJ_DNS_RESOLVER_MAX_NS +# define PJ_DNS_RESOLVER_MAX_NS 16 +#endif + + +/** + * Default retransmission delay, in miliseconds. The combination of + * retransmission delay and count determines the query timeout. + * + * Default: 2000 (2 seconds, according to RFC 1035) + */ +#ifndef PJ_DNS_RESOLVER_QUERY_RETRANSMIT_DELAY +# define PJ_DNS_RESOLVER_QUERY_RETRANSMIT_DELAY 2000 +#endif + + +/** + * Maximum number of transmissions before timeout is declared for + * the query. + * + * Default: 5 + */ +#ifndef PJ_DNS_RESOLVER_QUERY_RETRANSMIT_COUNT +# define PJ_DNS_RESOLVER_QUERY_RETRANSMIT_COUNT 5 +#endif + + +/** + * Maximum life-time of DNS response in the resolver response cache, + * in seconds. If the value is zero, then DNS response caching will be + * disabled. + * + * Default is 300 seconds (5 minutes). + * + * @see PJ_DNS_RESOLVER_INVALID_TTL + */ +#ifndef PJ_DNS_RESOLVER_MAX_TTL +# define PJ_DNS_RESOLVER_MAX_TTL (5*60) +#endif + +/** + * The life-time of invalid DNS response in the resolver response cache. + * An invalid DNS response is a response which RCODE is non-zero and + * response without any answer section. These responses can be put in + * the cache too to minimize message round-trip. + * + * Default: 60 (one minute). + * + * @see PJ_DNS_RESOLVER_MAX_TTL + */ +#ifndef PJ_DNS_RESOLVER_INVALID_TTL +# define PJ_DNS_RESOLVER_INVALID_TTL 60 +#endif + +/** + * The interval on which nameservers which are known to be good to be + * probed again to determine whether they are still good. Note that + * this applies to both active nameserver (the one currently being used) + * and idle nameservers (good nameservers that are not currently selected). + * The probing to query the "goodness" of nameservers involves sending + * the same query to multiple servers, so it's probably not a good idea + * to send this probing too often. + * + * Default: 600 (ten minutes) + * + * @see PJ_DNS_RESOLVER_BAD_NS_TTL + */ +#ifndef PJ_DNS_RESOLVER_GOOD_NS_TTL +# define PJ_DNS_RESOLVER_GOOD_NS_TTL (10*60) +#endif + +/** + * The interval on which nameservers which known to be bad to be probed + * again to determine whether it is still bad. + * + * Default: 60 (one minute) + * + * @see PJ_DNS_RESOLVER_GOOD_NS_TTL + */ +#ifndef PJ_DNS_RESOLVER_BAD_NS_TTL +# define PJ_DNS_RESOLVER_BAD_NS_TTL (1*60) +#endif + + +/** + * Maximum size of UDP packet. RFC 1035 states that maximum size of + * DNS packet carried over UDP is 512 bytes. + * + * Default: 512 byes + */ +#ifndef PJ_DNS_RESOLVER_MAX_UDP_SIZE +# define PJ_DNS_RESOLVER_MAX_UDP_SIZE 512 +#endif + + +/** + * Size of memory pool allocated for each individual DNS response cache. + * This value here should be more or less the same as maximum UDP packet + * size (PJ_DNS_RESOLVER_MAX_UDP_SIZE), since the DNS replicator function + * (#pj_dns_packet_dup()) is also capable of performing name compressions. + * + * Default: 512 + */ +#ifndef PJ_DNS_RESOLVER_RES_BUF_SIZE +# define PJ_DNS_RESOLVER_RES_BUF_SIZE 512 +#endif + + +/** + * Size of temporary pool buffer for parsing DNS packets in resolver. + * + * default: 4000 + */ +#ifndef PJ_DNS_RESOLVER_TMP_BUF_SIZE +# define PJ_DNS_RESOLVER_TMP_BUF_SIZE 4000 +#endif + + +/* ************************************************************************** + * SCANNER CONFIGURATION + */ + + +/** + * Macro PJ_SCANNER_USE_BITWISE is defined and non-zero (by default yes) + * will enable the use of bitwise for character input specification (cis). + * This would save several kilobytes of .bss memory in the SIP parser. + */ +#ifndef PJ_SCANNER_USE_BITWISE +# define PJ_SCANNER_USE_BITWISE 1 +#endif + + + +/* ************************************************************************** + * STUN CLIENT CONFIGURATION + */ + +/** + * Maximum number of attributes in the STUN packet (for the old STUN + * library). + * + * Default: 16 + */ +#ifndef PJSTUN_MAX_ATTR +# define PJSTUN_MAX_ATTR 16 +#endif + + +/** + * Maximum number of attributes in the STUN packet (for the new STUN + * library). + * + * Default: 16 + */ +#ifndef PJ_STUN_MAX_ATTR +# define PJ_STUN_MAX_ATTR 16 +#endif + + +/* ************************************************************************** + * ENCRYPTION + */ + +/** + * Specifies whether CRC32 algorithm should use the table based lookup table + * for faster calculation, at the expense of about 1KB table size on the + * executable. If zero, the CRC32 will use non-table based which is more than + * an order of magnitude slower. + * + * Default: 1 + */ +#ifndef PJ_CRC32_HAS_TABLES +# define PJ_CRC32_HAS_TABLES 1 +#endif + + +/* ************************************************************************** + * HTTP Client configuration + */ +/** + * Timeout value for HTTP request operation. The value is in ms. + * Default: 60000ms + */ +#ifndef PJ_HTTP_DEFAULT_TIMEOUT +# define PJ_HTTP_DEFAULT_TIMEOUT (60000) +#endif + +/* ************************************************************************** + * CLI configuration + */ + +/** + * Initial pool size for CLI. + * Default: 1024 bytes + */ +#ifndef PJ_CLI_POOL_SIZE +# define PJ_CLI_POOL_SIZE 1024 +#endif + +/** + * Pool increment size for CLI. + * Default: 512 bytes + */ +#ifndef PJ_CLI_POOL_INC +# define PJ_CLI_POOL_INC 512 +#endif + +/** + * Maximum length of command buffer. + * Default: 512 + */ +#ifndef PJ_CLI_MAX_CMDBUF +# define PJ_CLI_MAX_CMDBUF 512 +#endif + +/** + * Maximum command arguments. + * Default: 8 + */ +#ifndef PJ_CLI_MAX_ARGS +# define PJ_CLI_MAX_ARGS 8 +#endif + +/** + * Maximum number of hints. + * Default: 32 + */ +#ifndef PJ_CLI_MAX_HINTS +# define PJ_CLI_MAX_HINTS 32 +#endif + +/** + * Maximum short name version (shortcuts) for a command. + * Default: 4 + */ +#ifndef PJ_CLI_MAX_SHORTCUTS +# define PJ_CLI_MAX_SHORTCUTS 4 +#endif + +/** + * Initial pool size for console CLI. + * Default: 256 bytes + */ +#ifndef PJ_CLI_CONSOLE_POOL_SIZE +# define PJ_CLI_CONSOLE_POOL_SIZE 256 +#endif + +/** + * Pool increment size for console CLI. + * Default: 256 bytes + */ +#ifndef PJ_CLI_CONSOLE_POOL_INC +# define PJ_CLI_CONSOLE_POOL_INC 256 +#endif + +/** + * Initial pool size for telnet CLI. + * Default: 1024 bytes + */ +#ifndef PJ_CLI_TELNET_POOL_SIZE +# define PJ_CLI_TELNET_POOL_SIZE 1024 +#endif + +/** + * Pool increment size for telnet CLI. + * Default: 512 bytes + */ +#ifndef PJ_CLI_TELNET_POOL_INC +# define PJ_CLI_TELNET_POOL_INC 512 +#endif + +/** + * Maximum number of argument values of choice type. + * Default: 16 + */ +#ifndef PJ_CLI_MAX_CHOICE_VAL +# define PJ_CLI_MAX_CHOICE_VAL 16 +#endif + +/** + * Maximum number of command history. + * Default: 16 + */ +#ifndef PJ_CLI_MAX_CMD_HISTORY +# define PJ_CLI_MAX_CMD_HISTORY 16 +#endif + +/** + * @} + */ + +#endif /* __PJLIB_UTIL_CONFIG_H__ */ + diff --git a/pjlib-util/include/pjlib-util/crc32.h b/pjlib-util/include/pjlib-util/crc32.h new file mode 100644 index 0000000..6203d1c --- /dev/null +++ b/pjlib-util/include/pjlib-util/crc32.h @@ -0,0 +1,96 @@ +/* $Id: crc32.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_CRC32_H__ +#define __PJLIB_UTIL_CRC32_H__ + +/** + * @file crc32.h + * @brief CRC32 implementation + */ + +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJLIB_UTIL_CRC32 CRC32 (Cyclic Redundancy Check) + * @ingroup PJLIB_UTIL_ENCRYPTION + * @{ + * This implements CRC32 algorithm. See ITU-T V.42 for the formal + * specification. + */ + +/** CRC32 context. */ +typedef struct pj_crc32_context +{ + pj_uint32_t crc_state; /**< Current state. */ +} pj_crc32_context; + + +/** + * Initialize CRC32 context. + * + * @param ctx CRC32 context. + */ +PJ_DECL(void) pj_crc32_init(pj_crc32_context *ctx); + +/** + * Feed data incrementally to the CRC32 algorithm. + * + * @param ctx CRC32 context. + * @param data Input data. + * @param nbytes Length of the input data. + * + * @return The current CRC32 value. + */ +PJ_DECL(pj_uint32_t) pj_crc32_update(pj_crc32_context *ctx, + const pj_uint8_t *data, + pj_size_t nbytes); + +/** + * Finalize CRC32 calculation and retrieve the CRC32 value. + * + * @param ctx CRC32 context. + * + * @return The current CRC value. + */ +PJ_DECL(pj_uint32_t) pj_crc32_final(pj_crc32_context *ctx); + +/** + * Perform one-off CRC32 calculation to the specified data. + * + * @param data Input data. + * @param nbytes Length of input data. + * + * @return CRC value of the data. + */ +PJ_DECL(pj_uint32_t) pj_crc32_calc(const pj_uint8_t *data, + pj_size_t nbytes); + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJLIB_UTIL_CRC32_H__ */ + diff --git a/pjlib-util/include/pjlib-util/dns.h b/pjlib-util/include/pjlib-util/dns.h new file mode 100644 index 0000000..99c5bd8 --- /dev/null +++ b/pjlib-util/include/pjlib-util/dns.h @@ -0,0 +1,445 @@ +/* $Id: dns.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_DNS_H__ +#define __PJLIB_UTIL_DNS_H__ + + +/** + * @file dns.h + * @brief Low level DNS message parsing and packetization. + */ +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_DNS DNS and Asynchronous DNS Resolver + * @ingroup PJ_PROTOCOLS + */ + +/** + * @defgroup PJ_DNS_PARSING Low-level DNS Message Parsing and Packetization + * @ingroup PJ_DNS + * @{ + * + * This module provides low-level services to parse and packetize DNS queries + * and responses. The functions support building a DNS query packet and parse + * the data in the DNS response. This implementation conforms to the + * following specifications: + * - RFC 1035: DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION + * - RFC 1886: DNS Extensions to support IP version 6 + * + * To create a DNS query packet, application should call #pj_dns_make_query() + * function, specifying the desired DNS query type, the name to be resolved, + * and the buffer where the DNS packet will be built into. + * + * When incoming DNS query or response packet arrives, application can use + * #pj_dns_parse_packet() to parse the TCP/UDP payload into parsed DNS packet + * structure. + * + * This module does not provide any networking functionalities to send or + * receive DNS packets. This functionality should be provided by higher layer + * modules such as @ref PJ_DNS_RESOLVER. + */ + +enum +{ + PJ_DNS_CLASS_IN = 1 /**< DNS class IN. */ +}; + +/** + * This enumeration describes standard DNS record types as described by + * RFC 1035, RFC 2782, and others. + */ +typedef enum pj_dns_type +{ + PJ_DNS_TYPE_A = 1, /**< Host address (A) record. */ + PJ_DNS_TYPE_NS = 2, /**< Authoritative name server (NS) */ + PJ_DNS_TYPE_MD = 3, /**< Mail destination (MD) record. */ + PJ_DNS_TYPE_MF = 4, /**< Mail forwarder (MF) record. */ + PJ_DNS_TYPE_CNAME = 5, /**< Canonical name (CNAME) record. */ + PJ_DNS_TYPE_SOA = 6, /**< Marks start of zone authority. */ + PJ_DNS_TYPE_MB = 7, /**< Mailbox domain name (MB). */ + PJ_DNS_TYPE_MG = 8, /**< Mail group member (MG). */ + PJ_DNS_TYPE_MR = 9, /**< Mail rename domain name. */ + PJ_DNS_TYPE_NULL = 10, /**< NULL RR. */ + PJ_DNS_TYPE_WKS = 11, /**< Well known service description */ + PJ_DNS_TYPE_PTR = 12, /**< Domain name pointer. */ + PJ_DNS_TYPE_HINFO = 13, /**< Host information. */ + PJ_DNS_TYPE_MINFO = 14, /**< Mailbox or mail list information. */ + PJ_DNS_TYPE_MX = 15, /**< Mail exchange record. */ + PJ_DNS_TYPE_TXT = 16, /**< Text string. */ + PJ_DNS_TYPE_RP = 17, /**< Responsible person. */ + PJ_DNS_TYPE_AFSB = 18, /**< AFS cell database. */ + PJ_DNS_TYPE_X25 = 19, /**< X.25 calling address. */ + PJ_DNS_TYPE_ISDN = 20, /**< ISDN calling address. */ + PJ_DNS_TYPE_RT = 21, /**< Router. */ + PJ_DNS_TYPE_NSAP = 22, /**< NSAP address. */ + PJ_DNS_TYPE_NSAP_PTR= 23, /**< NSAP reverse address. */ + PJ_DNS_TYPE_SIG = 24, /**< Signature. */ + PJ_DNS_TYPE_KEY = 25, /**< Key. */ + PJ_DNS_TYPE_PX = 26, /**< X.400 mail mapping. */ + PJ_DNS_TYPE_GPOS = 27, /**< Geographical position (withdrawn) */ + PJ_DNS_TYPE_AAAA = 28, /**< IPv6 address. */ + PJ_DNS_TYPE_LOC = 29, /**< Location. */ + PJ_DNS_TYPE_NXT = 30, /**< Next valid name in the zone. */ + PJ_DNS_TYPE_EID = 31, /**< Endpoint idenfitier. */ + PJ_DNS_TYPE_NIMLOC = 32, /**< Nimrod locator. */ + PJ_DNS_TYPE_SRV = 33, /**< Server selection (SRV) record. */ + PJ_DNS_TYPE_ATMA = 34, /**< DNS ATM address record. */ + PJ_DNS_TYPE_NAPTR = 35, /**< DNS Naming authority pointer record. */ + PJ_DNS_TYPE_KX = 36, /**< DNS key exchange record. */ + PJ_DNS_TYPE_CERT = 37, /**< DNS certificate record. */ + PJ_DNS_TYPE_A6 = 38, /**< DNS IPv6 address (experimental) */ + PJ_DNS_TYPE_DNAME = 39, /**< DNS non-terminal name redirection rec. */ + + PJ_DNS_TYPE_OPT = 41, /**< DNS options - contains EDNS metadata. */ + PJ_DNS_TYPE_APL = 42, /**< DNS Address Prefix List (APL) record. */ + PJ_DNS_TYPE_DS = 43, /**< DNS Delegation Signer (DS) */ + PJ_DNS_TYPE_SSHFP = 44, /**< DNS SSH Key Fingerprint */ + PJ_DNS_TYPE_IPSECKEY= 45, /**< DNS IPSEC Key. */ + PJ_DNS_TYPE_RRSIG = 46, /**< DNS Resource Record signature. */ + PJ_DNS_TYPE_NSEC = 47, /**< DNS Next Secure Name. */ + PJ_DNS_TYPE_DNSKEY = 48 /**< DNSSEC Key. */ +} pj_dns_type; + + + +/** + * Standard DNS header, according to RFC 1035, which will be present in + * both DNS query and DNS response. + * + * Note that all values seen by application would be in + * host by order. The library would convert them to network + * byte order as necessary. + */ +typedef struct pj_dns_hdr +{ + pj_uint16_t id; /**< Transaction ID. */ + pj_uint16_t flags; /**< Flags. */ + pj_uint16_t qdcount; /**< Nb. of queries. */ + pj_uint16_t anscount; /**< Nb. of res records */ + pj_uint16_t nscount; /**< Nb. of NS records. */ + pj_uint16_t arcount; /**< Nb. of additional records */ +} pj_dns_hdr; + +/** Create RCODE flag */ +#define PJ_DNS_SET_RCODE(c) ((pj_uint16_t)((c) & 0x0F)) + +/** Create RA (Recursion Available) bit */ +#define PJ_DNS_SET_RA(on) ((pj_uint16_t)((on) << 7)) + +/** Create RD (Recursion Desired) bit */ +#define PJ_DNS_SET_RD(on) ((pj_uint16_t)((on) << 8)) + +/** Create TC (Truncated) bit */ +#define PJ_DNS_SET_TC(on) ((pj_uint16_t)((on) << 9)) + +/** Create AA (Authoritative Answer) bit */ +#define PJ_DNS_SET_AA(on) ((pj_uint16_t)((on) << 10)) + +/** Create four bits opcode */ +#define PJ_DNS_SET_OPCODE(o) ((pj_uint16_t)((o) << 11)) + +/** Create query/response bit */ +#define PJ_DNS_SET_QR(on) ((pj_uint16_t)((on) << 15)) + + +/** Get RCODE value */ +#define PJ_DNS_GET_RCODE(val) (((val) & PJ_DNS_SET_RCODE(0x0F)) >> 0) + +/** Get RA bit */ +#define PJ_DNS_GET_RA(val) (((val) & PJ_DNS_SET_RA(1)) >> 7) + +/** Get RD bit */ +#define PJ_DNS_GET_RD(val) (((val) & PJ_DNS_SET_RD(1)) >> 8) + +/** Get TC bit */ +#define PJ_DNS_GET_TC(val) (((val) & PJ_DNS_SET_TC(1)) >> 9) + +/** Get AA bit */ +#define PJ_DNS_GET_AA(val) (((val) & PJ_DNS_SET_AA(1)) >> 10) + +/** Get OPCODE value */ +#define PJ_DNS_GET_OPCODE(val) (((val) & PJ_DNS_SET_OPCODE(0x0F)) >> 11) + +/** Get QR bit */ +#define PJ_DNS_GET_QR(val) (((val) & PJ_DNS_SET_QR(1)) >> 15) + + +/** + * These constants describe DNS RCODEs. Application can fold these constants + * into PJLIB pj_status_t namespace by calling #PJ_STATUS_FROM_DNS_RCODE() + * macro. + */ +typedef enum pj_dns_rcode +{ + PJ_DNS_RCODE_FORMERR = 1, /**< Format error. */ + PJ_DNS_RCODE_SERVFAIL = 2, /**< Server failure. */ + PJ_DNS_RCODE_NXDOMAIN = 3, /**< Name Error. */ + PJ_DNS_RCODE_NOTIMPL = 4, /**< Not Implemented. */ + PJ_DNS_RCODE_REFUSED = 5, /**< Refused. */ + PJ_DNS_RCODE_YXDOMAIN = 6, /**< The name exists. */ + PJ_DNS_RCODE_YXRRSET = 7, /**< The RRset (name, type) exists. */ + PJ_DNS_RCODE_NXRRSET = 8, /**< The RRset (name, type) doesn't exist*/ + PJ_DNS_RCODE_NOTAUTH = 9, /**< Not authorized. */ + PJ_DNS_RCODE_NOTZONE = 10 /**< The zone specified is not a zone. */ + +} pj_dns_rcode; + + +/** + * This structure describes a DNS query record. + */ +typedef struct pj_dns_parsed_query +{ + pj_str_t name; /**< The domain in the query. */ + pj_uint16_t type; /**< Type of the query (pj_dns_type) */ + pj_uint16_t dnsclass; /**< Network class (PJ_DNS_CLASS_IN=1) */ +} pj_dns_parsed_query; + + +/** + * This structure describes a Resource Record parsed from the DNS packet. + * All integral values are in host byte order. + */ +typedef struct pj_dns_parsed_rr +{ + pj_str_t name; /**< The domain name which this rec pertains. */ + pj_uint16_t type; /**< RR type code. */ + pj_uint16_t dnsclass; /**< Class of data (PJ_DNS_CLASS_IN=1). */ + pj_uint32_t ttl; /**< Time to live. */ + pj_uint16_t rdlength; /**< Resource data length. */ + void *data; /**< Pointer to the raw resource data, only + when the type is not known. If it is known, + the data will be put in rdata below. */ + + /** For resource types that are recognized/supported by this library, + * the parsed resource data will be placed in this rdata union. + */ + union rdata + { + /** SRV Resource Data (PJ_DNS_TYPE_SRV, 33) */ + struct srv { + pj_uint16_t prio; /**< Target priority (lower is higher). */ + pj_uint16_t weight; /**< Weight/proportion */ + pj_uint16_t port; /**< Port number of the service */ + pj_str_t target; /**< Target name. */ + } srv; + + /** CNAME Resource Data (PJ_DNS_TYPE_CNAME, 5) */ + struct cname { + pj_str_t name; /**< Primary canonical name for an alias. */ + } cname; + + /** NS Resource Data (PJ_DNS_TYPE_NS, 2) */ + struct ns { + pj_str_t name; /**< Primary name server. */ + } ns; + + /** PTR Resource Data (PJ_DNS_TYPE_PTR, 12) */ + struct ptr { + pj_str_t name; /**< PTR name. */ + } ptr; + + /** A Resource Data (PJ_DNS_TYPE_A, 1) */ + struct a { + pj_in_addr ip_addr;/**< IPv4 address in network byte order. */ + } a; + + /** AAAA Resource Data (PJ_DNS_TYPE_AAAA, 28) */ + struct aaaa { + pj_in6_addr ip_addr;/**< IPv6 address in network byte order. */ + } aaaa; + + } rdata; + +} pj_dns_parsed_rr; + + +/** + * This structure describes the parsed repersentation of the raw DNS packet. + * Note that all integral values in the parsed packet are represented in + * host byte order. + */ +typedef struct pj_dns_parsed_packet +{ + pj_dns_hdr hdr; /**< Pointer to DNS hdr, in host byte order */ + pj_dns_parsed_query *q; /**< Array of DNS queries. */ + pj_dns_parsed_rr *ans; /**< Array of DNS RR answer. */ + pj_dns_parsed_rr *ns; /**< Array of NS record in the answer. */ + pj_dns_parsed_rr *arr; /**< Array of additional RR answer. */ +} pj_dns_parsed_packet; + + +/** + * Option flags to be specified when calling #pj_dns_packet_dup() function. + * These flags can be combined with bitwise OR operation. + */ +enum pj_dns_dup_options +{ + PJ_DNS_NO_QD = 1, /**< Do not duplicate the query section. */ + PJ_DNS_NO_ANS = 2, /**< Do not duplicate the answer section. */ + PJ_DNS_NO_NS = 4, /**< Do not duplicate the NS section. */ + PJ_DNS_NO_AR = 8 /**< Do not duplicate the additional rec section */ +}; + + +/** + * Create DNS query packet to resolve the specified names. This function + * can be used to build any types of DNS query, such as A record or DNS SRV + * record. + * + * Application specifies the type of record and the name to be queried, + * and the function will build the DNS query packet into the buffer + * specified. Once the packet is successfully built, application can send + * the packet via TCP or UDP connection. + * + * @param packet The buffer to put the DNS query packet. + * @param size On input, it specifies the size of the buffer. + * On output, it will be filled with the actual size of + * the DNS query packet. + * @param id DNS query ID to associate DNS response with the + * query. + * @param qtype DNS type of record to be queried (see #pj_dns_type). + * @param name Name to be queried from the DNS server. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_dns_make_query(void *packet, + unsigned *size, + pj_uint16_t id, + int qtype, + const pj_str_t *name); + +/** + * Parse raw DNS packet into parsed DNS packet structure. This function is + * able to parse few DNS resource records such as A record, PTR record, + * CNAME record, NS record, and SRV record. + * + * @param pool Pool to allocate memory for the parsed packet. + * @param packet Pointer to the DNS packet (the TCP/UDP payload of + * the raw packet). + * @param size The size of the DNS packet. + * @param p_res Pointer to store the resulting parsed packet. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_dns_parse_packet(pj_pool_t *pool, + const void *packet, + unsigned size, + pj_dns_parsed_packet **p_res); + +/** + * Duplicate DNS packet. + * + * @param pool The pool to allocate memory for the duplicated packet. + * @param p The DNS packet to be cloned. + * @param options Option flags, from pj_dns_dup_options. + * @param p_dst Pointer to store the cloned DNS packet. + */ +PJ_DECL(void) pj_dns_packet_dup(pj_pool_t *pool, + const pj_dns_parsed_packet*p, + unsigned options, + pj_dns_parsed_packet **p_dst); + + +/** + * Utility function to get the type name string of the specified DNS type. + * + * @param type DNS type (see #pj_dns_type). + * + * @return String name of the type (e.g. "A", "SRV", etc.). + */ +PJ_DECL(const char *) pj_dns_get_type_name(int type); + + +/** + * Initialize DNS record as DNS SRV record. + * + * @param rec The DNS resource record to be initialized as DNS + * SRV record. + * @param res_name Resource name. + * @param dnsclass DNS class. + * @param ttl Resource TTL value. + * @param prio DNS SRV priority. + * @param weight DNS SRV weight. + * @param port Target port. + * @param target Target name. + */ +PJ_DECL(void) pj_dns_init_srv_rr(pj_dns_parsed_rr *rec, + const pj_str_t *res_name, + unsigned dnsclass, + unsigned ttl, + unsigned prio, + unsigned weight, + unsigned port, + const pj_str_t *target); + +/** + * Initialize DNS record as DNS CNAME record. + * + * @param rec The DNS resource record to be initialized as DNS + * CNAME record. + * @param res_name Resource name. + * @param dnsclass DNS class. + * @param ttl Resource TTL value. + * @param name Host name. + */ +PJ_DECL(void) pj_dns_init_cname_rr(pj_dns_parsed_rr *rec, + const pj_str_t *res_name, + unsigned dnsclass, + unsigned ttl, + const pj_str_t *name); + +/** + * Initialize DNS record as DNS A record. + * + * @param rec The DNS resource record to be initialized as DNS + * A record. + * @param res_name Resource name. + * @param dnsclass DNS class. + * @param ttl Resource TTL value. + * @param ip_addr Host address. + */ +PJ_DECL(void) pj_dns_init_a_rr(pj_dns_parsed_rr *rec, + const pj_str_t *res_name, + unsigned dnsclass, + unsigned ttl, + const pj_in_addr *ip_addr); + +/** + * Dump DNS packet to standard log. + * + * @param res The DNS packet. + */ +PJ_DECL(void) pj_dns_dump_packet(const pj_dns_parsed_packet *res); + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJLIB_UTIL_DNS_H__ */ + diff --git a/pjlib-util/include/pjlib-util/dns_server.h b/pjlib-util/include/pjlib-util/dns_server.h new file mode 100644 index 0000000..aaf5f6f --- /dev/null +++ b/pjlib-util/include/pjlib-util/dns_server.h @@ -0,0 +1,117 @@ +/* $Id: dns_server.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_DNS_SERVER_H__ +#define __PJLIB_UTIL_DNS_SERVER_H__ + +/** + * @file dns_server.h + * @brief Simple DNS server + */ +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_DNS_SERVER Simple DNS Server + * @ingroup PJ_DNS + * @{ + * This contains a simple but fully working DNS server implementation, + * mostly for testing purposes. It supports serving various DNS resource + * records such as SRV, CNAME, A, and AAAA. + */ + +/** + * Opaque structure to hold DNS server instance. + */ +typedef struct pj_dns_server pj_dns_server; + +/** + * Create the DNS server instance. The instance will run immediately. + * + * @param pf The pool factory to create memory pools. + * @param ioqueue Ioqueue instance where the server socket will be + * registered to. + * @param af Address family of the server socket (valid values + * are pj_AF_INET() for IPv4 and pj_AF_INET6() for IPv6). + * @param port The UDP port to listen. + * @param flags Flags, currently must be zero. + * @param p_srv Pointer to receive the DNS server instance. + * + * @return PJ_SUCCESS if server has been created successfully, + * otherwise the function will return the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pj_dns_server_create(pj_pool_factory *pf, + pj_ioqueue_t *ioqueue, + int af, + unsigned port, + unsigned flags, + pj_dns_server **p_srv); + +/** + * Destroy DNS server instance. + * + * @param srv The DNS server instance. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_dns_server_destroy(pj_dns_server *srv); + + +/** + * Add generic resource record entries to the server. + * + * @param srv The DNS server instance. + * @param count Number of records to be added. + * @param rr Array of records to be added. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_dns_server_add_rec(pj_dns_server *srv, + unsigned count, + const pj_dns_parsed_rr rr[]); + +/** + * Remove the specified record from the server. + * + * @param srv The DNS server instance. + * @param dns_class The resource's DNS class. Valid value is PJ_DNS_CLASS_IN. + * @param type The resource type. + * @param name The resource name to be removed. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_dns_server_del_rec(pj_dns_server *srv, + int dns_class, + pj_dns_type type, + const pj_str_t *name); + + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJLIB_UTIL_DNS_SERVER_H__ */ + diff --git a/pjlib-util/include/pjlib-util/errno.h b/pjlib-util/include/pjlib-util/errno.h new file mode 100644 index 0000000..4ab0458 --- /dev/null +++ b/pjlib-util/include/pjlib-util/errno.h @@ -0,0 +1,456 @@ +/* $Id: errno.h 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_ERRNO_H__ +#define __PJLIB_UTIL_ERRNO_H__ + + +#include + +/** + * @defgroup PJLIB_UTIL_ERROR Error Codes + * @ingroup PJLIB_UTIL_BASE + * @{ + */ + +/** + * Start of error code relative to PJ_ERRNO_START_USER. + * This value is 320000. + */ +#define PJLIB_UTIL_ERRNO_START (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*3) + + +/************************************************************ + * STUN ERROR + ***********************************************************/ +/** + * @hideinitializer + * Unable to resolve STUN server + */ +#define PJLIB_UTIL_ESTUNRESOLVE (PJLIB_UTIL_ERRNO_START+1) /* 320001 */ +/** + * @hideinitializer + * Unknown STUN message type. + */ +#define PJLIB_UTIL_ESTUNINMSGTYPE (PJLIB_UTIL_ERRNO_START+2) /* 320002 */ +/** + * @hideinitializer + * Invalid STUN message length + */ +#define PJLIB_UTIL_ESTUNINMSGLEN (PJLIB_UTIL_ERRNO_START+3) /* 320003 */ +/** + * @hideinitializer + * Invalid STUN attribute length + */ +#define PJLIB_UTIL_ESTUNINATTRLEN (PJLIB_UTIL_ERRNO_START+4) /* 320004 */ +/** + * @hideinitializer + * Invalid STUN attribute type + */ +#define PJLIB_UTIL_ESTUNINATTRTYPE (PJLIB_UTIL_ERRNO_START+5) /* 320005 */ +/** + * @hideinitializer + * Invalid STUN server/socket index + */ +#define PJLIB_UTIL_ESTUNININDEX (PJLIB_UTIL_ERRNO_START+6) /* 320006 */ +/** + * @hideinitializer + * No STUN binding response in the message + */ +#define PJLIB_UTIL_ESTUNNOBINDRES (PJLIB_UTIL_ERRNO_START+7) /* 320007 */ +/** + * @hideinitializer + * Received STUN error attribute + */ +#define PJLIB_UTIL_ESTUNRECVERRATTR (PJLIB_UTIL_ERRNO_START+8) /* 320008 */ +/** + * @hideinitializer + * No STUN mapped address attribute + */ +#define PJLIB_UTIL_ESTUNNOMAP (PJLIB_UTIL_ERRNO_START+9) /* 320009 */ +/** + * @hideinitializer + * Received no response from STUN server + */ +#define PJLIB_UTIL_ESTUNNOTRESPOND (PJLIB_UTIL_ERRNO_START+10) /* 320010 */ +/** + * @hideinitializer + * Symetric NAT detected by STUN + */ +#define PJLIB_UTIL_ESTUNSYMMETRIC (PJLIB_UTIL_ERRNO_START+11) /* 320011 */ +/** + * @hideinitializer + * Invalid STUN magic value + */ +#define PJLIB_UTIL_ESTUNNOTMAGIC (PJLIB_UTIL_ERRNO_START+12) /* 320012 */ +/** + * @hideinitializer + * Invalid STUN fingerprint value + */ +#define PJLIB_UTIL_ESTUNFINGERPRINT (PJLIB_UTIL_ERRNO_START+13) /* 320013 */ + + + +/************************************************************ + * XML ERROR + ***********************************************************/ +/** + * @hideinitializer + * General invalid XML message. + */ +#define PJLIB_UTIL_EINXML (PJLIB_UTIL_ERRNO_START+20) /* 320020 */ + + +/************************************************************ + * JSON ERROR + ***********************************************************/ +/** + * @hideinitializer + * General invalid JSON message. + */ +#define PJLIB_UTIL_EINJSON (PJLIB_UTIL_ERRNO_START+30) /* 320030 */ + + +/************************************************************ + * DNS ERROR + ***********************************************************/ +/** + * @hideinitializer + * DNS query packet buffer is too small. + * This error occurs when the user supplied buffer for creating DNS + * query (#pj_dns_make_query() function) is too small. + */ +#define PJLIB_UTIL_EDNSQRYTOOSMALL (PJLIB_UTIL_ERRNO_START+40) /* 320040 */ +/** + * @hideinitializer + * Invalid DNS packet length. + * This error occurs when the received DNS response packet does not + * match all the fields length. + */ +#define PJLIB_UTIL_EDNSINSIZE (PJLIB_UTIL_ERRNO_START+41) /* 320041 */ +/** + * @hideinitializer + * Invalid DNS class. + * This error occurs when the received DNS response contains network + * class other than IN (Internet). + */ +#define PJLIB_UTIL_EDNSINCLASS (PJLIB_UTIL_ERRNO_START+42) /* 320042 */ +/** + * @hideinitializer + * Invalid DNS name pointer. + * This error occurs when parsing the compressed names inside DNS + * response packet, when the name pointer points to an invalid address + * or the parsing has triggerred too much recursion. + */ +#define PJLIB_UTIL_EDNSINNAMEPTR (PJLIB_UTIL_ERRNO_START+43) /* 320043 */ +/** + * @hideinitializer + * Invalid DNS nameserver address. If hostname was specified for nameserver + * address, this error means that the function was unable to resolve + * the nameserver hostname. + */ +#define PJLIB_UTIL_EDNSINNSADDR (PJLIB_UTIL_ERRNO_START+44) /* 320044 */ +/** + * @hideinitializer + * No nameserver is in DNS resolver. No nameserver is configured in the + * resolver. + */ +#define PJLIB_UTIL_EDNSNONS (PJLIB_UTIL_ERRNO_START+45) /* 320045 */ +/** + * @hideinitializer + * No working DNS nameserver. All nameservers have been queried, + * but none was able to serve any DNS requests. These "bad" nameservers + * will be re-tested again for "goodness" after some period. + */ +#define PJLIB_UTIL_EDNSNOWORKINGNS (PJLIB_UTIL_ERRNO_START+46) /* 320046 */ +/** + * @hideinitializer + * No answer record in the DNS response. + */ +#define PJLIB_UTIL_EDNSNOANSWERREC (PJLIB_UTIL_ERRNO_START+47) /* 320047 */ +/** + * @hideinitializer + * Invalid DNS answer. This error is raised for example when the DNS + * answer does not have a query section, or the type of RR in the answer + * doesn't match the query. + */ +#define PJLIB_UTIL_EDNSINANSWER (PJLIB_UTIL_ERRNO_START+48) /* 320048 */ + + +/* DNS ERRORS MAPPED FROM RCODE: */ + +/** + * Start of error code mapped from DNS RCODE + */ +#define PJLIB_UTIL_DNS_RCODE_START (PJLIB_UTIL_ERRNO_START+50) /* 320050 */ + +/** + * Map DNS RCODE status into pj_status_t. + */ +#define PJ_STATUS_FROM_DNS_RCODE(rcode) (rcode==0 ? PJ_SUCCESS : \ + PJLIB_UTIL_DNS_RCODE_START+rcode) +/** + * @hideinitializer + * Format error - The name server was unable to interpret the query. + * This corresponds to DNS RCODE 1. + */ +#define PJLIB_UTIL_EDNS_FORMERR PJ_STATUS_FROM_DNS_RCODE(1) /* 320051 */ +/** + * @hideinitializer + * Server failure - The name server was unable to process this query due to a + * problem with the name server. + * This corresponds to DNS RCODE 2. + */ +#define PJLIB_UTIL_EDNS_SERVFAIL PJ_STATUS_FROM_DNS_RCODE(2) /* 320052 */ +/** + * @hideinitializer + * Name Error - Meaningful only for responses from an authoritative name + * server, this code signifies that the domain name referenced in the query + * does not exist. + * This corresponds to DNS RCODE 3. + */ +#define PJLIB_UTIL_EDNS_NXDOMAIN PJ_STATUS_FROM_DNS_RCODE(3) /* 320053 */ +/** + * @hideinitializer + * Not Implemented - The name server does not support the requested kind of + * query. + * This corresponds to DNS RCODE 4. + */ +#define PJLIB_UTIL_EDNS_NOTIMPL PJ_STATUS_FROM_DNS_RCODE(4) /* 320054 */ +/** + * @hideinitializer + * Refused - The name server refuses to perform the specified operation for + * policy reasons. + * This corresponds to DNS RCODE 5. + */ +#define PJLIB_UTIL_EDNS_REFUSED PJ_STATUS_FROM_DNS_RCODE(5) /* 320055 */ +/** + * @hideinitializer + * The name exists. + * This corresponds to DNS RCODE 6. + */ +#define PJLIB_UTIL_EDNS_YXDOMAIN PJ_STATUS_FROM_DNS_RCODE(6) /* 320056 */ +/** + * @hideinitializer + * The RRset (name, type) exists. + * This corresponds to DNS RCODE 7. + */ +#define PJLIB_UTIL_EDNS_YXRRSET PJ_STATUS_FROM_DNS_RCODE(7) /* 320057 */ +/** + * @hideinitializer + * The RRset (name, type) does not exist. + * This corresponds to DNS RCODE 8. + */ +#define PJLIB_UTIL_EDNS_NXRRSET PJ_STATUS_FROM_DNS_RCODE(8) /* 320058 */ +/** + * @hideinitializer + * The requestor is not authorized to perform this operation. + * This corresponds to DNS RCODE 9. + */ +#define PJLIB_UTIL_EDNS_NOTAUTH PJ_STATUS_FROM_DNS_RCODE(9) /* 320059 */ +/** + * @hideinitializer + * The zone specified is not a zone. + * This corresponds to DNS RCODE 10. + */ +#define PJLIB_UTIL_EDNS_NOTZONE PJ_STATUS_FROM_DNS_RCODE(10)/* 320060 */ + + +/************************************************************ + * NEW STUN ERROR + ***********************************************************/ +/* Messaging errors */ +/** + * @hideinitializer + * Too many STUN attributes. + */ +#define PJLIB_UTIL_ESTUNTOOMANYATTR (PJLIB_UTIL_ERRNO_START+110)/* 320110 */ +/** + * @hideinitializer + * Unknown STUN attribute. This error happens when the decoder encounters + * mandatory attribute type which it doesn't understand. + */ +#define PJLIB_UTIL_ESTUNUNKNOWNATTR (PJLIB_UTIL_ERRNO_START+111)/* 320111 */ +/** + * @hideinitializer + * Invalid STUN socket address length. + */ +#define PJLIB_UTIL_ESTUNINADDRLEN (PJLIB_UTIL_ERRNO_START+112)/* 320112 */ +/** + * @hideinitializer + * STUN IPv6 attribute not supported + */ +#define PJLIB_UTIL_ESTUNIPV6NOTSUPP (PJLIB_UTIL_ERRNO_START+113)/* 320113 */ +/** + * @hideinitializer + * Expecting STUN response message. + */ +#define PJLIB_UTIL_ESTUNNOTRESPONSE (PJLIB_UTIL_ERRNO_START+114)/* 320114 */ +/** + * @hideinitializer + * STUN transaction ID mismatch. + */ +#define PJLIB_UTIL_ESTUNINVALIDID (PJLIB_UTIL_ERRNO_START+115)/* 320115 */ +/** + * @hideinitializer + * Unable to find handler for the request. + */ +#define PJLIB_UTIL_ESTUNNOHANDLER (PJLIB_UTIL_ERRNO_START+116)/* 320116 */ +/** + * @hideinitializer + * Found non-FINGERPRINT attribute after MESSAGE-INTEGRITY. This is not + * valid since MESSAGE-INTEGRITY MUST be the last attribute or the + * attribute right before FINGERPRINT before the message. + */ +#define PJLIB_UTIL_ESTUNMSGINTPOS (PJLIB_UTIL_ERRNO_START+118)/* 320118 */ +/** + * @hideinitializer + * Found attribute after FINGERPRINT. This is not valid since FINGERPRINT + * MUST be the last attribute in the message. + */ +#define PJLIB_UTIL_ESTUNFINGERPOS (PJLIB_UTIL_ERRNO_START+119)/* 320119 */ +/** + * @hideinitializer + * Missing STUN USERNAME attribute. + * When credential is included in the STUN message (MESSAGE-INTEGRITY is + * present), the USERNAME attribute must be present in the message. + */ +#define PJLIB_UTIL_ESTUNNOUSERNAME (PJLIB_UTIL_ERRNO_START+120)/* 320120 */ +/** + * @hideinitializer + * Unknown STUN username/credential. + */ +#define PJLIB_UTIL_ESTUNUSERNAME (PJLIB_UTIL_ERRNO_START+121)/* 320121 */ +/** + * @hideinitializer + * Missing/invalidSTUN MESSAGE-INTEGRITY attribute. + */ +#define PJLIB_UTIL_ESTUNMSGINT (PJLIB_UTIL_ERRNO_START+122)/* 320122 */ +/** + * @hideinitializer + * Found duplicate STUN attribute. + */ +#define PJLIB_UTIL_ESTUNDUPATTR (PJLIB_UTIL_ERRNO_START+123)/* 320123 */ +/** + * @hideinitializer + * Missing STUN REALM attribute. + */ +#define PJLIB_UTIL_ESTUNNOREALM (PJLIB_UTIL_ERRNO_START+124)/* 320124 */ +/** + * @hideinitializer + * Missing/stale STUN NONCE attribute value. + */ +#define PJLIB_UTIL_ESTUNNONCE (PJLIB_UTIL_ERRNO_START+125)/* 320125 */ +/** + * @hideinitializer + * STUN transaction terminates with failure. + */ +#define PJLIB_UTIL_ESTUNTSXFAILED (PJLIB_UTIL_ERRNO_START+126)/* 320126 */ + + +//#define PJ_STATUS_FROM_STUN_CODE(code) (PJLIB_UTIL_ERRNO_START+code) + +/************************************************************ + * HTTP Client ERROR + ***********************************************************/ +/** + * @hideinitializer + * Invalid URL format + */ +#define PJLIB_UTIL_EHTTPINURL (PJLIB_UTIL_ERRNO_START+151)/* 320151 */ +/** + * @hideinitializer + * Invalid port number + */ +#define PJLIB_UTIL_EHTTPINPORT (PJLIB_UTIL_ERRNO_START+152)/* 320152 */ +/** + * @hideinitializer + * Incomplete headers received + */ +#define PJLIB_UTIL_EHTTPINCHDR (PJLIB_UTIL_ERRNO_START+153)/* 320153 */ +/** + * @hideinitializer + * Insufficient buffer + */ +#define PJLIB_UTIL_EHTTPINSBUF (PJLIB_UTIL_ERRNO_START+154)/* 320154 */ +/** + * @hideinitializer + * Connection lost + */ +#define PJLIB_UTIL_EHTTPLOST (PJLIB_UTIL_ERRNO_START+155)/* 320155 */ + +/************************************************************ + * CLI ERROR + ***********************************************************/ + +/** + * @hideinitializer + * End the current session. This is a special error code returned by + * pj_cli_sess_exec() to indicate that "exit" or equivalent command has been + * called to end the current session. + */ +#define PJ_CLI_EEXIT (PJLIB_UTIL_ERRNO_START+201)/* 320201 */ +/** + * @hideinitializer + * A required CLI argument is not specified. + */ +#define PJ_CLI_EMISSINGARG (PJLIB_UTIL_ERRNO_START+202)/* 320202 */ + /** + * @hideinitializer + * Too many CLI arguments. + */ +#define PJ_CLI_ETOOMANYARGS (PJLIB_UTIL_ERRNO_START+203)/* 320203 */ +/** + * @hideinitializer + * Invalid CLI argument. Typically this is caused by extra characters + * specified in the command line which does not match any arguments. + */ +#define PJ_CLI_EINVARG (PJLIB_UTIL_ERRNO_START+204)/* 320204 */ +/** + * @hideinitializer + * CLI command with the specified name already exist. + */ +#define PJ_CLI_EBADNAME (PJLIB_UTIL_ERRNO_START+205)/* 320205 */ +/** + * @hideinitializer + * CLI command with the specified id already exist. + */ +#define PJ_CLI_EBADID (PJLIB_UTIL_ERRNO_START+206)/* 320206 */ +/** + * @hideinitializer + * Invalid XML format for CLI command specification. + */ +#define PJ_CLI_EBADXML (PJLIB_UTIL_ERRNO_START+207)/* 320207 */ +/** + * @hideinitializer + * CLI command entered by user match with more than one command/argument + * specification. + */ +#define PJ_CLI_EAMBIGUOUS (PJLIB_UTIL_ERRNO_START+208)/* 320208 */ +/** + * @hideinitializer + * Telnet connection lost. + */ +#define PJ_CLI_ETELNETLOST (PJLIB_UTIL_ERRNO_START+211)/* 320211 */ + +/** + * @} + */ + +#endif /* __PJLIB_UTIL_ERRNO_H__ */ diff --git a/pjlib-util/include/pjlib-util/getopt.h b/pjlib-util/include/pjlib-util/getopt.h new file mode 100644 index 0000000..ec2755f --- /dev/null +++ b/pjlib-util/include/pjlib-util/getopt.h @@ -0,0 +1,145 @@ +/* $Id: getopt.h 4578 2013-08-02 02:31:44Z ming $ */ +/* Declarations for pj_getopt. + Copyright (C) 1989,90,91,92,93,94,96,97,98 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef __PJ_GETOPT_H__ +#define __PJ_GETOPT_H__ 1 + +/** + * @file getopt.h + * @brief Compile time settings + */ + +/** + * @defgroup PJLIB_UTIL_GETOPT Getopt + * @ingroup PJLIB_TEXT + * @{ + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* For communication from `pj_getopt' to the caller. + When `pj_getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when `ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + +extern char *pj_optarg; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to `pj_getopt'. + + On entry to `pj_getopt', zero means this is the first call; initialize. + + When `pj_getopt' returns -1, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, `pj_optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + +extern int pj_optind; + +/* Set to an option character which was unrecognized. */ + +extern int pj_optopt; + +/* Describe the long-named options requested by the application. + The LONG_OPTIONS argument to pj_getopt_long or pj_getopt_long_only is a vector + of `struct pj_getopt_option' terminated by an element containing a name which is + zero. + + The field `has_arg' is: + no_argument (or 0) if the option does not take an argument, + required_argument (or 1) if the option requires an argument, + optional_argument (or 2) if the option takes an optional argument. + + If the field `flag' is not NULL, it points to a variable that is set + to the value given in the field `val' when the option is found, but + left unchanged if the option is not found. + + To have a long-named option do something other than set an `int' to + a compiled-in constant, such as set a value from `pj_optarg', set the + option's `flag' field to zero and its `val' field to a nonzero + value (the equivalent single-letter option character, if there is + one). For long options that have a zero `flag' field, `pj_getopt' + returns the contents of the `val' field. */ + +struct pj_getopt_option +{ + const char *name; + /* has_arg can't be an enum because some compilers complain about + type mismatches in all the code that assumes it is an int. */ + int has_arg; + int *flag; + int val; +}; + +/* Names for the values of the `has_arg' field of `struct pj_getopt_option'. */ + +# define no_argument 0 +# define required_argument 1 +# define optional_argument 2 + + +/* Get definitions and prototypes for functions to process the + arguments in ARGV (ARGC of them, minus the program name) for + options given in OPTS. + + Return the option character from OPTS just read. Return -1 when + there are no more options. For unrecognized options, or options + missing arguments, `pj_optopt' is set to the option letter, and '?' is + returned. + + The OPTS string is a list of characters which are recognized option + letters, optionally followed by colons, specifying that that letter + takes an argument, to be placed in `pj_optarg'. + + If a letter in OPTS is followed by two colons, its argument is + optional. This behavior is specific to the GNU `pj_getopt'. + + The argument `--' causes premature termination of argument + scanning, explicitly telling `pj_getopt' that there are no more + options. + + If OPTS begins with `--', then non-option arguments are treated as + arguments to the option '\0'. This behavior is specific to the GNU + `pj_getopt'. */ + +int pj_getopt (int argc, char *const *argv, const char *shortopts); + +int pj_getopt_long (int argc, char *const *argv, const char *options, + const struct pj_getopt_option *longopts, int *longind); +int pj_getopt_long_only (int argc, char *const *argv, + const char *shortopts, + const struct pj_getopt_option *longopts, int *longind); + + +#ifdef __cplusplus +} +#endif + +/** + * @} + */ + +#endif /* pj_getopt.h */ + diff --git a/pjlib-util/include/pjlib-util/hmac_md5.h b/pjlib-util/include/pjlib-util/hmac_md5.h new file mode 100644 index 0000000..2ca9f1e --- /dev/null +++ b/pjlib-util/include/pjlib-util/hmac_md5.h @@ -0,0 +1,109 @@ +/* $Id: hmac_md5.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_HMAC_MD5_H__ +#define __PJLIB_UTIL_HMAC_MD5_H__ + +/** + * @file hmac_md5.h + * @brief HMAC MD5 Message Authentication + */ + +/** + * @defgroup PJLIB_UTIL_ENCRYPTION Encryption Algorithms + */ + +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJLIB_UTIL_HMAC_MD5 HMAC MD5 Message Authentication + * @ingroup PJLIB_UTIL_ENCRYPTION + * @{ + * + * This module contains the implementation of HMAC: Keyed-Hashing + * for Message Authentication, as described in RFC 2104 + */ + +/** + * The HMAC-MD5 context used in the incremental HMAC calculation. + */ +typedef struct pj_hmac_md5_context +{ + pj_md5_context context; /**< MD5 context */ + pj_uint8_t k_opad[64]; /**< opad xor-ed with key */ +} pj_hmac_md5_context; + + +/** + * Calculate HMAC MD5 digest for the specified input and key. + * + * @param input Pointer to the input stream. + * @param input_len Length of input stream in bytes. + * @param key Pointer to the authentication key. + * @param key_len Length of the authentication key. + * @param digest Buffer to be filled with HMAC MD5 digest. + */ +PJ_DECL(void) pj_hmac_md5(const pj_uint8_t *input, unsigned input_len, + const pj_uint8_t *key, unsigned key_len, + pj_uint8_t digest[16]); + + +/** + * Initiate HMAC-MD5 context for incremental hashing. + * + * @param hctx HMAC-MD5 context. + * @param key Pointer to the authentication key. + * @param key_len Length of the authentication key. + */ +PJ_DECL(void) pj_hmac_md5_init(pj_hmac_md5_context *hctx, + const pj_uint8_t *key, unsigned key_len); + +/** + * Append string to the message. + * + * @param hctx HMAC-MD5 context. + * @param input Pointer to the input stream. + * @param input_len Length of input stream in bytes. + */ +PJ_DECL(void) pj_hmac_md5_update(pj_hmac_md5_context *hctx, + const pj_uint8_t *input, + unsigned input_len); + +/** + * Finish the message and return the digest. + * + * @param hctx HMAC-MD5 context. + * @param digest Buffer to be filled with HMAC MD5 digest. + */ +PJ_DECL(void) pj_hmac_md5_final(pj_hmac_md5_context *hctx, + pj_uint8_t digest[16]); + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJLIB_UTIL_HMAC_MD5_H__ */ + + diff --git a/pjlib-util/include/pjlib-util/hmac_sha1.h b/pjlib-util/include/pjlib-util/hmac_sha1.h new file mode 100644 index 0000000..539e465 --- /dev/null +++ b/pjlib-util/include/pjlib-util/hmac_sha1.h @@ -0,0 +1,107 @@ +/* $Id: hmac_sha1.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_HMAC_SHA1_H__ +#define __PJLIB_UTIL_HMAC_SHA1_H__ + +/** + * @file hmac_sha1.h + * @brief HMAC SHA1 Message Authentication + */ + +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJLIB_UTIL_HMAC_SHA1 HMAC SHA1 Message Authentication + * @ingroup PJLIB_UTIL_ENCRYPTION + * @{ + * + * This module contains the implementation of HMAC: Keyed-Hashing + * for Message Authentication, as described in RFC 2104. + */ + +/** + * The HMAC-SHA1 context used in the incremental HMAC calculation. + */ +typedef struct pj_hmac_sha1_context +{ + pj_sha1_context context; /**< SHA1 context */ + pj_uint8_t k_opad[64]; /**< opad xor-ed with key */ +} pj_hmac_sha1_context; + + +/** + * Calculate HMAC-SHA1 digest for the specified input and key with this + * single function call. + * + * @param input Pointer to the input stream. + * @param input_len Length of input stream in bytes. + * @param key Pointer to the authentication key. + * @param key_len Length of the authentication key. + * @param digest Buffer to be filled with HMAC SHA1 digest. + */ +PJ_DECL(void) pj_hmac_sha1(const pj_uint8_t *input, unsigned input_len, + const pj_uint8_t *key, unsigned key_len, + pj_uint8_t digest[20]); + + +/** + * Initiate HMAC-SHA1 context for incremental hashing. + * + * @param hctx HMAC-SHA1 context. + * @param key Pointer to the authentication key. + * @param key_len Length of the authentication key. + */ +PJ_DECL(void) pj_hmac_sha1_init(pj_hmac_sha1_context *hctx, + const pj_uint8_t *key, unsigned key_len); + +/** + * Append string to the message. + * + * @param hctx HMAC-SHA1 context. + * @param input Pointer to the input stream. + * @param input_len Length of input stream in bytes. + */ +PJ_DECL(void) pj_hmac_sha1_update(pj_hmac_sha1_context *hctx, + const pj_uint8_t *input, + unsigned input_len); + +/** + * Finish the message and return the digest. + * + * @param hctx HMAC-SHA1 context. + * @param digest Buffer to be filled with HMAC SHA1 digest. + */ +PJ_DECL(void) pj_hmac_sha1_final(pj_hmac_sha1_context *hctx, + pj_uint8_t digest[20]); + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJLIB_UTIL_HMAC_SHA1_H__ */ + + diff --git a/pjlib-util/include/pjlib-util/http_client.h b/pjlib-util/include/pjlib-util/http_client.h new file mode 100644 index 0000000..38a8eff --- /dev/null +++ b/pjlib-util/include/pjlib-util/http_client.h @@ -0,0 +1,494 @@ +/* $Id: http_client.h 3841 2011-10-24 09:28:13Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_HTTP_CLIENT_H__ +#define __PJLIB_UTIL_HTTP_CLIENT_H__ + +/** + * @file http_client.h + * @brief Simple HTTP Client + */ +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_HTTP_CLIENT Simple HTTP Client + * @ingroup PJ_PROTOCOLS + * @{ + * This contains a simple HTTP client implementation. + * Some known limitations: + * - Does not support chunked Transfer-Encoding. + */ + +/** + * This opaque structure describes the http request. + */ +typedef struct pj_http_req pj_http_req; + +/** + * Defines the maximum number of elements in a pj_http_headers + * structure. + */ +#define PJ_HTTP_HEADER_SIZE 32 + +/** + * HTTP header representation. + */ +typedef struct pj_http_header_elmt +{ + pj_str_t name; /**< Header name */ + pj_str_t value; /**< Header value */ +} pj_http_header_elmt; + +/** + * This structure describes http request/response headers. + * Application should call #pj_http_headers_add_elmt() to + * add a header field. + */ +typedef struct pj_http_headers +{ + /**< Number of header fields */ + unsigned count; + + /** Header elements/fields */ + pj_http_header_elmt header[PJ_HTTP_HEADER_SIZE]; +} pj_http_headers; + +/** + * Structure to save HTTP authentication credential. + */ +typedef struct pj_http_auth_cred +{ + /** + * Specify specific authentication schemes to be responded. Valid values + * are "basic" and "digest". If this field is not set, any authentication + * schemes will be responded. + * + * Default is empty. + */ + pj_str_t scheme; + + /** + * Specify specific authentication realm to be responded. If this field + * is set, only 401/407 response with matching realm will be responded. + * If this field is not set, any realms will be responded. + * + * Default is empty. + */ + pj_str_t realm; + + /** + * Specify authentication username. + * + * Default is empty. + */ + pj_str_t username; + + /** + * The type of password in \a data field. Currently only 0 is + * supported, meaning the \a data contains plain-text password. + * + * Default is 0. + */ + unsigned data_type; + + /** + * Specify authentication password. The encoding of the password depends + * on the value of \a data_type field above. + * + * Default is empty. + */ + pj_str_t data; + +} pj_http_auth_cred; + + +/** + * Parameters that can be given during http request creation. Application + * must initialize this structure with #pj_http_req_param_default(). + */ +typedef struct pj_http_req_param +{ + /** + * The address family of the URL. + * Default is pj_AF_INET(). + */ + int addr_family; + + /** + * The HTTP request method. + * Default is GET. + */ + pj_str_t method; + + /** + * The HTTP protocol version ("1.0" or "1.1"). + * Default is "1.0". + */ + pj_str_t version; + + /** + * HTTP request operation timeout. + * Default is PJ_HTTP_DEFAULT_TIMEOUT. + */ + pj_time_val timeout; + + /** + * User-defined data. + * Default is NULL. + */ + void *user_data; + + /** + * HTTP request headers. + * Default is empty. + */ + pj_http_headers headers; + + /** + * This structure describes the http request body. If application + * specifies the data to send, the data must remain valid until + * the HTTP request is sent. Alternatively, application can choose + * to specify total_size as the total data size to send instead + * while leaving the data NULL (and its size 0). In this case, + * HTTP request will then call on_send_data() callback once it is + * ready to send the request body. This will be useful if + * application does not wish to load the data into the buffer at + * once. + * + * Default is empty. + */ + struct pj_http_reqdata + { + void *data; /**< Request body data */ + pj_size_t size; /**< Request body size */ + pj_size_t total_size; /**< If total_size > 0, data */ + /**< will be provided later */ + } reqdata; + + /** + * Authentication credential needed to respond to 401/407 response. + */ + pj_http_auth_cred auth_cred; + + /** + * Optional source port range to use when binding the socket. + * This can be used if the source port needs to be within a certain range + * for instance due to strict firewall settings. The port used will be + * randomized within the range. + * + * Note that if authentication is configured, the authentication response + * will be a new transaction + * + * Default is 0 (The OS will select the source port automatically) + */ + pj_uint16_t source_port_range_start; + + /** + * Optional source port range to use when binding. + * The size of the port restriction range + * + * Default is 0 (The OS will select the source port automatically)) + */ + pj_uint16_t source_port_range_size; + + /** + * Max number of retries if binding to a port fails. + * Note that this does not adress the scenario where a request times out + * or errors. This needs to be taken care of by the on_complete callback. + * + * Default is 3 + */ + pj_uint16_t max_retries; + +} pj_http_req_param; + +/** + * HTTP authentication challenge, parsed from WWW-Authenticate header. + */ +typedef struct pj_http_auth_chal +{ + pj_str_t scheme; /**< Auth scheme. */ + pj_str_t realm; /**< Realm for the challenge. */ + pj_str_t domain; /**< Domain. */ + pj_str_t nonce; /**< Nonce challenge. */ + pj_str_t opaque; /**< Opaque value. */ + int stale; /**< Stale parameter. */ + pj_str_t algorithm; /**< Algorithm parameter. */ + pj_str_t qop; /**< Quality of protection. */ +} pj_http_auth_chal; + +/** + * This structure describes HTTP response. + */ +typedef struct pj_http_resp +{ + pj_str_t version; /**< HTTP version of the server */ + pj_uint16_t status_code; /**< Status code of the request */ + pj_str_t reason; /**< Reason phrase */ + pj_http_headers headers; /**< Response headers */ + pj_http_auth_chal auth_chal; /**< Parsed WWW-Authenticate header, if + any. */ + pj_int32_t content_length; /**< The value of content-length header + field. -1 if not specified. */ + void *data; /**< Data received */ + pj_size_t size; /**< Data size */ +} pj_http_resp; + +/** + * This structure describes HTTP URL. + */ +typedef struct pj_http_url +{ + pj_str_t username; /**< Username part */ + pj_str_t passwd; /**< Password part */ + pj_str_t protocol; /**< Protocol used */ + pj_str_t host; /**< Host name */ + pj_uint16_t port; /**< Port number */ + pj_str_t path; /**< Path */ +} pj_http_url; + +/** + * This structure describes the callbacks to be called by the HTTP request. + */ +typedef struct pj_http_req_callback +{ + /** + * This callback is called when a complete HTTP response header + * is received. + * + * @param http_req The http request. + * @param resp The response of the request. + */ + void (*on_response)(pj_http_req *http_req, const pj_http_resp *resp); + + /** + * This callback is called when the HTTP request is ready to send + * its request body. Application may wish to use this callback if + * it wishes to load the data at a later time or if it does not + * wish to load the whole data into memory. In order for this + * callback to be called, application MUST set http_req_param.total_size + * to a value greater than 0. + * + * @param http_req The http request. + * @param data Pointer to the data that will be sent. Application + * must set the pointer to the current data chunk/segment + * to be sent. Data must remain valid until the next + * on_send_data() callback or for the last segment, + * until it is sent. + * @param size Pointer to the data size that will be sent. + */ + void (*on_send_data)(pj_http_req *http_req, + void **data, pj_size_t *size); + + /** + * This callback is called when a segment of response body data + * arrives. If this callback is specified (i.e. not NULL), the + * on_complete() callback will be called with zero-length data + * (within the response parameter), hence the application must + * store and manage its own data buffer, otherwise the + * on_complete() callback will be called with the response + * parameter containing the complete data. + * + * @param http_req The http request. + * @param data The buffer containing the data. + * @param size The length of data in the buffer. + */ + void (*on_data_read)(pj_http_req *http_req, + void *data, pj_size_t size); + + /** + * This callback is called when the HTTP request is completed. + * If the callback on_data_read() is specified, the variable + * response->data will be set to NULL, otherwise it will + * contain the complete data. Response data is allocated from + * pj_http_req's internal memory pool so the data remain valid + * as long as pj_http_req is not destroyed and application does + * not start a new request. + * + * If no longer required, application may choose to destroy + * pj_http_req immediately by calling #pj_http_req_destroy() inside + * the callback. + * + * @param http_req The http request. + * @param status The status of the request operation. PJ_SUCCESS + * if the operation completed successfully + * (connection-wise). To check the server's + * status-code response to the HTTP request, + * application should check resp->status_code instead. + * @param resp The response of the corresponding request. If + * the status argument is non-PJ_SUCCESS, this + * argument will be set to NULL. + */ + void (*on_complete)(pj_http_req *http_req, + pj_status_t status, + const pj_http_resp *resp); + +} pj_http_req_callback; + + +/** + * Initialize the http request parameters with the default values. + * + * @param param The parameter to be initialized. + */ +PJ_DECL(void) pj_http_req_param_default(pj_http_req_param *param); + +/** + * Add a header element/field. Application MUST make sure that + * name and val pointer remains valid until the HTTP request is sent. + * + * @param headers The headers. + * @param name The header field name. + * @param value The header field value. + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_http_headers_add_elmt(pj_http_headers *headers, + pj_str_t *name, + pj_str_t *val); + +/** + * The same as #pj_http_headers_add_elmt() with char * as + * its parameters. Application MUST make sure that name and val pointer + * remains valid until the HTTP request is sent. + * + * @param headers The headers. + * @param name The header field name. + * @param value The header field value. + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_http_headers_add_elmt2(pj_http_headers *headers, + char *name, char *val); + +/** + * Parse a http URL into its components. + * + * @param url The URL to be parsed. + * @param hurl Pointer to receive the parsed result. + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_http_req_parse_url(const pj_str_t *url, + pj_http_url *hurl); + +/** + * Create the HTTP request. + * + * @param pool Pool to use. HTTP request will use the pool's factory + * to allocate its own memory pool. + * @param url HTTP URL request. + * @param timer The timer to use. + * @param ioqueue The ioqueue to use. + * @param param Optional parameters. When this parameter is not + * specifed (NULL), the default values will be used. + * @param hcb Pointer to structure containing application + * callbacks. + * @param http_req Pointer to receive the http request instance. + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_http_req_create(pj_pool_t *pool, + const pj_str_t *url, + pj_timer_heap_t *timer, + pj_ioqueue_t *ioqueue, + const pj_http_req_param *param, + const pj_http_req_callback *hcb, + pj_http_req **http_req); + +/** + * Set the timeout of the HTTP request operation. Note that if the + * HTTP request is currently running, the timeout will only affect + * subsequent request operations. + * + * @param http_req The http request. + * @param timeout Timeout value for HTTP request operation. + */ +PJ_DECL(void) pj_http_req_set_timeout(pj_http_req *http_req, + const pj_time_val* timeout); + +/** + * Starts an asynchronous HTTP request to the URL specified. + * + * @param http_req The http request. + * + * @return + * - PJ_SUCCESS if success + * - non-zero which indicates the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_http_req_start(pj_http_req *http_req); + +/** + * Cancel the asynchronous HTTP request. + * + * @param http_req The http request. + * @param notify If non-zero, the on_complete() callback will be + * called with status PJ_ECANCELLED to notify that + * the query has been cancelled. + * + * @return + * - PJ_SUCCESS if success + * - non-zero which indicates the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_http_req_cancel(pj_http_req *http_req, + pj_bool_t notify); + +/** + * Destroy the http request. + * + * @param http_req The http request to be destroyed. + * + * @return PJ_SUCCESS if success. + */ +PJ_DECL(pj_status_t) pj_http_req_destroy(pj_http_req *http_req); + +/** + * Find out whether the http request is running. + * + * @param http_req The http request. + * + * @return PJ_TRUE if a request is pending, or + * PJ_FALSE if idle + */ +PJ_DECL(pj_bool_t) pj_http_req_is_running(const pj_http_req *http_req); + +/** + * Retrieve the user data previously associated with this http + * request. + * + * @param http_req The http request. + * + * @return The user data. + */ +PJ_DECL(void *) pj_http_req_get_user_data(pj_http_req *http_req); + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJLIB_UTIL_HTTP_CLIENT_H__ */ diff --git a/pjlib-util/include/pjlib-util/json.h b/pjlib-util/include/pjlib-util/json.h new file mode 100644 index 0000000..7232f46 --- /dev/null +++ b/pjlib-util/include/pjlib-util/json.h @@ -0,0 +1,228 @@ +/* $Id: json.h 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_JSON_H__ +#define __PJLIB_UTIL_JSON_H__ + + +/** + * @file json.h + * @brief PJLIB JSON Implementation + */ + +#include +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_JSON JSON Writer and Loader + * @ingroup PJ_FILE_FMT + * @{ + * This API implements JSON file format according to RFC 4627. It can be used + * to parse, write, and manipulate JSON documents. + */ + +/** + * Type of JSON value. + */ +typedef enum pj_json_val_type +{ + PJ_JSON_VAL_NULL, /**< Null value (null) */ + PJ_JSON_VAL_BOOL, /**< Boolean value (true, false) */ + PJ_JSON_VAL_NUMBER, /**< Numeric (float or fixed point) */ + PJ_JSON_VAL_STRING, /**< Literal string value. */ + PJ_JSON_VAL_ARRAY, /**< Array */ + PJ_JSON_VAL_OBJ /**< Object. */ +} pj_json_val_type; + +/* Forward declaration for JSON element */ +typedef struct pj_json_elem pj_json_elem; + +/** + * JSON list to store child elements. + */ +typedef struct pj_json_list +{ + PJ_DECL_LIST_MEMBER(pj_json_elem); +} pj_json_list; + +/** + * This represents JSON element. A JSON element is basically a name/value + * pair, where the name is a string and the value can be one of null, boolean + * (true and false constants), number, string, array (containing zero or more + * elements), or object. An object can be viewed as C struct, that is a + * compound element containing other elements, each having name/value pair. + */ +struct pj_json_elem +{ + PJ_DECL_LIST_MEMBER(pj_json_elem); + pj_str_t name; /**< ELement name. */ + pj_json_val_type type; /**< Element type. */ + union + { + pj_bool_t is_true; /**< Boolean value. */ + float num; /**< Number value. */ + pj_str_t str; /**< String value. */ + pj_json_list children; /**< Object and array children */ + } value; /**< Element value. */ +}; + +/** + * Structure to be specified to pj_json_parse() to be filled with additional + * info when parsing failed. + */ +typedef struct pj_json_err_info +{ + unsigned line; /**< Line location of the error */ + unsigned col; /**< Column location of the error */ + int err_char; /**< The offending character. */ +} pj_json_err_info; + +/** + * Type of function callback to write JSON document in pj_json_writef(). + * + * @param s The string to be written to the document. + * @param size The length of the string + * @param user_data User data that was specified to pj_json_writef() + * + * @return If the callback returns non-PJ_SUCCESS, it will + * stop the pj_json_writef() function and this error + * will be returned to caller. + */ +typedef pj_status_t (*pj_json_writer)(const char *s, + unsigned size, + void *user_data); + +/** + * Initialize null element. + * + * @param el The element. + * @param name Name to be given to the element, or NULL. + */ +PJ_DECL(void) pj_json_elem_null(pj_json_elem *el, pj_str_t *name); + +/** + * Initialize boolean element with the specified value. + * + * @param el The element. + * @param name Name to be given to the element, or NULL. + * @param val The value. + */ +PJ_DECL(void) pj_json_elem_bool(pj_json_elem *el, pj_str_t *name, + pj_bool_t val); + +/** + * Initialize number element with the specified value. + * + * @param el The element. + * @param name Name to be given to the element, or NULL. + * @param val The value. + */ +PJ_DECL(void) pj_json_elem_number(pj_json_elem *el, pj_str_t *name, + float val); + +/** + * Initialize string element with the specified value. + * + * @param el The element. + * @param name Name to be given to the element, or NULL. + * @param val The value. + */ +PJ_DECL(void) pj_json_elem_string(pj_json_elem *el, pj_str_t *name, + pj_str_t *val); + +/** + * Initialize element as an empty array + * + * @param el The element. + * @param name Name to be given to the element, or NULL. + */ +PJ_DECL(void) pj_json_elem_array(pj_json_elem *el, pj_str_t *name); + +/** + * Initialize element as an empty object + * + * @param el The element. + * @param name Name to be given to the element, or NULL. + */ +PJ_DECL(void) pj_json_elem_obj(pj_json_elem *el, pj_str_t *name); + +/** + * Add an element to an object or array. + * + * @param el The object or array element. + * @param child Element to be added to the object or array. + */ +PJ_DECL(void) pj_json_elem_add(pj_json_elem *el, pj_json_elem *child); + +/** + * Parse a JSON document in the buffer. The buffer MUST be NULL terminated, + * or if not then it must have enough size to put the NULL character. + * + * @param pool The pool to allocate memory for creating elements. + * @param buffer String buffer containing JSON document. + * @param size Size of the document. + * @param err_info Optional structure to be filled with info when + * parsing failed. + * + * @return The root element from the document. + */ +PJ_DECL(pj_json_elem*) pj_json_parse(pj_pool_t *pool, + char *buffer, + unsigned *size, + pj_json_err_info *err_info); + +/** + * Write the specified element to the string buffer. + * + * @param elem The element to be written. + * @param buffer Output buffer. + * @param size On input, it must be set to the size of the buffer. + * Upon successful return, this will be set to + * the length of the written string. + * + * @return PJ_SUCCESS on success or the appropriate error. + */ +PJ_DECL(pj_status_t) pj_json_write(const pj_json_elem *elem, + char *buffer, unsigned *size); + +/** + * Incrementally write the element to arbitrary medium using the specified + * callback to write the document chunks. + * + * @param elem The element to be written. + * @param writer Callback function which will be called to write + * text chunks. + * @param user_data Arbitrary user data which will be given back when + * calling the callback. + * + * @return PJ_SUCCESS on success or the appropriate error. + */ +PJ_DECL(pj_status_t) pj_json_writef(const pj_json_elem *elem, + pj_json_writer writer, + void *user_data); + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJLIB_UTIL_JSON_H__ */ diff --git a/pjlib-util/include/pjlib-util/md5.h b/pjlib-util/include/pjlib-util/md5.h new file mode 100644 index 0000000..ed8aa5c --- /dev/null +++ b/pjlib-util/include/pjlib-util/md5.h @@ -0,0 +1,74 @@ +/* $Id: md5.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_MD5_H__ +#define __PJLIB_UTIL_MD5_H__ + +/** + * @file md5.h + * @brief MD5 Functions + */ + +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJLIB_UTIL_MD5 MD5 + * @ingroup PJLIB_UTIL_ENCRYPTION + * @{ + */ + + +/** MD5 context. */ +typedef struct pj_md5_context +{ + pj_uint32_t buf[4]; /**< buf */ + pj_uint32_t bits[2]; /**< bits */ + pj_uint8_t in[64]; /**< in */ +} pj_md5_context; + +/** Initialize the algorithm. + * @param pms MD5 context. + */ +PJ_DECL(void) pj_md5_init(pj_md5_context *pms); + +/** Append a string to the message. + * @param pms MD5 context. + * @param data Data. + * @param nbytes Length of data. + */ +PJ_DECL(void) pj_md5_update( pj_md5_context *pms, + const pj_uint8_t *data, unsigned nbytes); + +/** Finish the message and return the digest. + * @param pms MD5 context. + * @param digest 16 byte digest. + */ +PJ_DECL(void) pj_md5_final(pj_md5_context *pms, pj_uint8_t digest[16]); + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJLIB_UTIL_MD5_H__ */ diff --git a/pjlib-util/include/pjlib-util/pcap.h b/pjlib-util/include/pjlib-util/pcap.h new file mode 100644 index 0000000..dd1be94 --- /dev/null +++ b/pjlib-util/include/pjlib-util/pcap.h @@ -0,0 +1,196 @@ +/* $Id: pcap.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_PCAP_H__ +#define __PJLIB_UTIL_PCAP_H__ + +/** + * @file pcap.h + * @brief Simple PCAP file reader + */ + +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_PCAP Simple PCAP file reader + * @ingroup PJ_FILE_FMT + * @{ + * This module describes simple utility to read PCAP file. It is not intended + * to support all PCAP features (that's what libpcap is for!), but it can + * be useful for example to playback or stream PCAP contents. + */ + +/** + * Enumeration to describe supported data link types. + */ +typedef enum pj_pcap_link_type +{ + /** Ethernet data link */ + PJ_PCAP_LINK_TYPE_ETH = 1 + +} pj_pcap_link_type; + + +/** + * Enumeration to describe supported protocol types. + */ +typedef enum pj_pcap_proto_type +{ + /** UDP protocol */ + PJ_PCAP_PROTO_TYPE_UDP = 17 + +} pj_pcap_proto_type; + + +/** + * This describes UDP header, which may optionally be returned in + * #pj_pcap_read_udp() function. All fields are in network byte order. + */ +typedef struct pj_pcap_udp_hdr +{ + pj_uint16_t src_port; /**< Source port. */ + pj_uint16_t dst_port; /**< Destination port */ + pj_uint16_t len; /**< Length. */ + pj_uint16_t csum; /**< Checksum. */ +} pj_pcap_udp_hdr; + + +/** + * This structure describes the filter to be used when reading packets from + * a PCAP file. When a filter is configured, only packets matching all the + * filter specifications will be read from PCAP file. + */ +typedef struct pj_pcap_filter +{ + /** + * Select data link type, or zero to include any supported data links. + */ + pj_pcap_link_type link; + + /** + * Select protocol, or zero to include all supported protocols. + */ + pj_pcap_proto_type proto; + + /** + * Specify source IP address of the packets, or zero to include packets + * from any IP addresses. Note that IP address here must be in + * network byte order. + */ + pj_uint32_t ip_src; + + /** + * Specify destination IP address of the packets, or zero to include packets + * destined to any IP addresses. Note that IP address here must be in + * network byte order. + */ + pj_uint32_t ip_dst; + + /** + * Specify source port of the packets, or zero to include packets with + * any source port number. Note that the port number must be in network + * byte order. + */ + pj_uint16_t src_port; + + /** + * Specify destination port of the packets, or zero to include packets with + * any destination port number. Note that the port number must be in network + * byte order. + */ + pj_uint16_t dst_port; + +} pj_pcap_filter; + + +/** Opaque declaration for PCAP file */ +typedef struct pj_pcap_file pj_pcap_file; + + +/** + * Initialize filter with default values. The default value is to allow + * any packets. + * + * @param filter Filter to be initialized. + */ +PJ_DECL(void) pj_pcap_filter_default(pj_pcap_filter *filter); + +/** + * Open PCAP file. + * + * @param pool Pool to allocate memory. + * @param path File/path name. + * @param p_file Pointer to receive PCAP file handle. + * + * @return PJ_SUCCESS if file can be opened successfully. + */ +PJ_DECL(pj_status_t) pj_pcap_open(pj_pool_t *pool, + const char *path, + pj_pcap_file **p_file); + +/** + * Close PCAP file. + * + * @param file PCAP file handle. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_pcap_close(pj_pcap_file *file); + +/** + * Configure filter for reading the file. When filter is configured, + * only packets matching all the filter settings will be returned. + * + * @param file PCAP file handle. + * @param filter The filter. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_pcap_set_filter(pj_pcap_file *file, + const pj_pcap_filter *filter); + +/** + * Read UDP payload from the next packet in the PCAP file. Optionally it + * can return the UDP header, if caller supplies it. + * + * @param file PCAP file handle. + * @param udp_hdr Optional buffer to receive UDP header. + * @param udp_payload Buffer to receive the UDP payload. + * @param udp_payload_size On input, specify the size of the buffer. + * On output, it will be filled with the actual size + * of the payload as read from the packet. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_pcap_read_udp(pj_pcap_file *file, + pj_pcap_udp_hdr *udp_hdr, + pj_uint8_t *udp_payload, + pj_size_t *udp_payload_size); + + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJLIB_UTIL_PCAP_H__ */ + diff --git a/pjlib-util/include/pjlib-util/resolver.h b/pjlib-util/include/pjlib-util/resolver.h new file mode 100644 index 0000000..3fc1cba --- /dev/null +++ b/pjlib-util/include/pjlib-util/resolver.h @@ -0,0 +1,460 @@ +/* $Id: resolver.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_RESOLVER_H__ +#define __PJLIB_UTIL_RESOLVER_H__ + +/** + * @file resolver.h + * @brief Asynchronous DNS resolver + */ +#include + + +PJ_BEGIN_DECL + + +/** + * @defgroup PJ_DNS_RESOLVER DNS Asynchronous/Caching Resolution Engine + * @ingroup PJ_DNS + * @{ + * + * This module manages the host/server resolution by performing asynchronous + * DNS queries and caching the results in the cache. It uses PJLIB-UTIL + * low-level DNS parsing functions (see @ref PJ_DNS) and currently supports + * several types of DNS resource records such as A record (typical query with + * gethostbyname()) and SRV record. + * + * \section PJ_DNS_RESOLVER_FEATURES Features + * + * \subsection PJ_DNS_RESOLVER_FEATURES_ASYNC Asynchronous Query and Query Aggregation + * + * The DNS queries are performed asychronously, with timeout setting + * configured on per resolver instance basis. Application can issue multiple + * asynchronous queries simultaneously. Subsequent queries to the same resource + * (name and DNS resource type) while existing query is still pending will be + * merged into one query, so that only one DNS request packet is issued. + * + * \subsection PJ_DNS_RESOLVER_FEATURES_RETRANSMISSION Query Retransmission + * + * Asynchronous query will be retransmitted if no response is received + * within the preconfigured time. Once maximum retransmission count is + * exceeded and no response is received, the query will time out and the + * callback will be called when error status. + * + * \subsection PJ_DNS_RESOLVER_FEATURES_CACHING Response Caching with TTL + * + * The resolver instance caches the results returned by nameservers, to + * enhance the performance by minimizing the message round-trip to the server. + * The TTL of the cached resposne is calculated from minimum TTL value found + * across all resource record (RR) TTL in the response and further more it can + * be limited to some preconfigured maximum TTL in the resolver. + * + * Response caching can be disabled by setting the maximum TTL value of the + * resolver to zero. + * + * \subsection PJ_DNS_RESOLVER_FEATURES_PARALLEL Parallel and Backup Name Servers + * + * When the resolver is configured with multiple nameservers, initially the + * queries will be issued to multiple name servers simultaneously to probe + * which servers are not active. Once the probing stage is done, subsequent + * queries will be directed to only one ACTIVE server which provides the best + * response time. + * + * Name servers are probed periodically to see which nameservers are active + * and which are down. This probing is done when a query is sent, thus no + * timer is needed to maintain this. Also probing will be done in parallel + * so that there would be no additional delay for the query. + * + * + * \subsection PJ_DNS_RESOLVER_FEATURES_REC Supported Resource Records + * + * The low-level DNS parsing utility (see @ref PJ_DNS) supports parsing of + * the following DNS resource records (RR): + * - DNS A record + * - DNS SRV record + * - DNS PTR record + * - DNS NS record + * - DNS CNAME record + * + * For other types of record, application can parse the raw resource + * record data (rdata) from the parsed DNS packet (#pj_dns_parsed_packet). + * + * + * \section PJ_DNS_RESOLVER_USING Using the Resolver + * + * To use the resolver, application first creates the resolver instance by + * calling #pj_dns_resolver_create(). If application already has its own + * timer and ioqueue instances, it can instruct the resolver to use these + * instances so that application does not need to poll the resolver + * periodically to process events. If application does not specify the + * timer and ioqueue instance for the resolver, an internal timer and + * ioqueue will be created by the resolver. And since the resolver does not + * create it's own thread, application MUST poll the resolver periodically + * by calling #pj_dns_resolver_handle_events() to allow events (network and + * timer) to be processed. + * + * Next, application MUST configure the nameservers to be used by the + * resolver, by calling #pj_dns_resolver_set_ns(). + * + * Application performs asynchronous query by submitting the query with + * #pj_dns_resolver_start_query(). Once the query completes (either + * successfully or times out), the callback will be called. + * + * Application can cancel a pending query by calling #pj_dns_resolver_cancel_query(). + * + * Resolver must be destroyed by calling #pj_dns_resolver_destroy() to + * release all resources back to the system. + * + * + * \section PJ_DNS_RESOLVER_LIMITATIONS Resolver Limitations + * + * Current implementation mainly suffers from a growing memory problem, + * which mainly is caused by the response caching. Although there is only + * one cache entry per {query, name} combination, these cache entry will + * never get deleted since there is no timer is created to invalidate these + * entries. So the more unique names being queried by application, there more + * enties will be created in the response cache. + * + * Note that a single response entry will occupy about 600-700 bytes of + * pool memory (the PJ_DNS_RESOLVER_RES_BUF_SIZE value plus internal + * structure). + * + * Application can work around this problem by doing one of these: + * - disable caching by setting PJ_DNS_RESOLVER_MAX_TTL and + * PJ_DNS_RESOLVER_INVALID_TTL to zero. + * - periodically query #pj_dns_resolver_get_cached_count() and destroy- + * recreate the resolver to recycle the memory used by the resolver. + * + * Note that future improvement may solve this problem by introducing + * expiration timer to the cached entries. + * + * + * \section PJ_DNS_RESOLVER_REFERENCE Reference + * + * The PJLIB-UTIL resolver was built from the information in the following + * standards: + * - + * RFC 1035: "Domain names - implementation and specification" + * - + * RFC 2782: "A DNS RR for specifying the location of services (DNS SRV)" + * + */ + + + +/** + * Opaque data type for DNS resolver object. + */ +typedef struct pj_dns_resolver pj_dns_resolver; + +/** + * Opaque data type for asynchronous DNS query object. + */ +typedef struct pj_dns_async_query pj_dns_async_query; + +/** + * Type of asynchronous callback which will be called when the asynchronous + * query completes. + * + * @param user_data The user data set by application when creating the + * asynchronous query. + * @param status Status of the DNS resolution. + * @param response The response packet received from the server. This + * argument may be NULL when status is not PJ_SUCCESS. + */ +typedef void pj_dns_callback(void *user_data, + pj_status_t status, + pj_dns_parsed_packet *response); + + +/** + * This structure describes resolver settings. + */ +typedef struct pj_dns_settings +{ + unsigned options; /**< Options flags. */ + unsigned qretr_delay; /**< Query retransmit delay in msec. */ + unsigned qretr_count; /**< Query maximum retransmission count. */ + unsigned cache_max_ttl; /**< Maximum TTL for cached responses. If the + value is zero, caching is disabled. */ + unsigned good_ns_ttl; /**< See #PJ_DNS_RESOLVER_GOOD_NS_TTL */ + unsigned bad_ns_ttl; /**< See #PJ_DNS_RESOLVER_BAD_NS_TTL */ +} pj_dns_settings; + + +/** + * This structure represents DNS A record, as the result of parsing + * DNS response packet using #pj_dns_parse_a_response(). + */ +typedef struct pj_dns_a_record +{ + /** The target name being queried. */ + pj_str_t name; + + /** If target name corresponds to a CNAME entry, the alias contains + * the value of the CNAME entry, otherwise it will be empty. + */ + pj_str_t alias; + + /** Number of IP addresses. */ + unsigned addr_count; + + /** IP addresses of the host found in the response */ + pj_in_addr addr[PJ_DNS_MAX_IP_IN_A_REC]; + + /** Internal buffer for hostname and alias. */ + char buf_[128]; + +} pj_dns_a_record; + + +/** + * Set default values to the DNS settings. + * + * @param s The DNS settings to be initialized. + */ +PJ_DECL(void) pj_dns_settings_default(pj_dns_settings *s); + + +/** + * Create DNS resolver instance. After the resolver is created, application + * MUST configure the nameservers with #pj_dns_resolver_set_ns(). + * + * When creating the resolver, application may specify both timer heap + * and ioqueue instance, so that it doesn't need to poll the resolver + * periodically. + * + * @param pf Pool factory where the memory pool will be created from. + * @param name Optional resolver name to identify the instance in + * the log. + * @param options Optional options, must be zero for now. + * @param timer Optional timer heap instance to be used by the resolver. + * If timer heap is not specified, an internal timer will be + * created, and application would need to poll the resolver + * periodically. + * @param ioqueue Optional I/O Queue instance to be used by the resolver. + * If ioqueue is not specified, an internal one will be + * created, and application would need to poll the resolver + * periodically. + * @param p_resolver Pointer to receive the resolver instance. + * + * @return PJ_SUCCESS on success, or the appropriate error code, + */ +PJ_DECL(pj_status_t) pj_dns_resolver_create(pj_pool_factory *pf, + const char *name, + unsigned options, + pj_timer_heap_t *timer, + pj_ioqueue_t *ioqueue, + pj_dns_resolver **p_resolver); + + +/** + * Update the name servers for the DNS resolver. The name servers MUST be + * configured before any resolution can be done. The order of nameservers + * specifies their priority; the first name server will be tried first + * before the next in the list. + * + * @param resolver The resolver instance. + * @param count Number of name servers in the array. + * @param servers Array of name server IP addresses or hostnames. If + * hostname is specified, the hostname must be resolvable + * with pj_gethostbyname(). + * @param ports Optional array of ports. If this argument is NULL, + * the nameserver will use default port. + * + * @return PJ_SUCCESS on success, or the appropriate error code, + */ +PJ_DECL(pj_status_t) pj_dns_resolver_set_ns(pj_dns_resolver *resolver, + unsigned count, + const pj_str_t servers[], + const pj_uint16_t ports[]); + + +/** + * Get the resolver current settings. + * + * @param resolver The resolver instance. + * @param st Buffer to be filled up with resolver settings. + * + * @return The query timeout setting, in seconds. + */ +PJ_DECL(pj_status_t) pj_dns_resolver_get_settings(pj_dns_resolver *resolver, + pj_dns_settings *st); + + +/** + * Modify the resolver settings. Application should initialize the settings + * by retrieving current settings first before applying new settings, to + * ensure that all fields are initialized properly. + * + * @param resolver The resolver instance. + * @param st The resolver settings. + * + * @return PJ_SUCCESS on success, or the appropriate error code, + */ +PJ_DECL(pj_status_t) pj_dns_resolver_set_settings(pj_dns_resolver *resolver, + const pj_dns_settings *st); + + +/** + * Poll for events from the resolver. This function MUST be called + * periodically when the resolver is using it's own timer or ioqueue + * (in other words, when NULL is specified as either \a timer or + * \a ioqueue argument in #pj_dns_resolver_create()). + * + * @param resolver The resolver instance. + * @param timeout Maximum time to wait for event occurence. If this + * argument is NULL, this function will wait forever + * until events occur. + */ +PJ_DECL(void) pj_dns_resolver_handle_events(pj_dns_resolver *resolver, + const pj_time_val *timeout); + + +/** + * Destroy DNS resolver instance. + * + * @param resolver The resolver object to be destryed + * @param notify If non-zero, all pending asynchronous queries will be + * cancelled and its callback will be called. If FALSE, + * then no callback will be called. + * + * @return PJ_SUCCESS on success, or the appropriate error code, + */ +PJ_DECL(pj_status_t) pj_dns_resolver_destroy(pj_dns_resolver *resolver, + pj_bool_t notify); + + +/** + * Create and start asynchronous DNS query for a single resource. Depending + * on whether response cache is available, this function will either start + * an asynchronous DNS query or call the callback immediately. + * + * If response is not available in the cache, an asynchronous query will be + * started, and callback will be called at some time later when the query + * completes. If \a p_query argument is not NULL, it will be filled with + * the asynchronous query object. + * + * If response is available in the cache, the callback will be called + * immediately before this function returns. In this case, if \a p_query + * argument is not NULL, the value will be set to NULL since no new query + * is started. + * + * @param resolver The resolver object. + * @param name The name to be resolved. + * @param type The type of resource (see #pj_dns_type constants). + * @param options Optional options, must be zero for now. + * @param cb Callback to be called when the query completes, + * either successfully or with failure. + * @param user_data Arbitrary user data to be associated with the query, + * and which will be given back in the callback. + * @param p_query Optional pointer to receive the query object, if one + * was started. If this pointer is specified, a NULL may + * be returned if response cache is available immediately. + * + * @return PJ_SUCCESS if either an asynchronous query has been + * started successfully or response cache is available and + * the user callback has been called. + */ +PJ_DECL(pj_status_t) pj_dns_resolver_start_query(pj_dns_resolver *resolver, + const pj_str_t *name, + int type, + unsigned options, + pj_dns_callback *cb, + void *user_data, + pj_dns_async_query **p_query); + +/** + * Cancel a pending query. + * + * @param query The pending asynchronous query to be cancelled. + * @param notify If non-zero, the callback will be called with failure + * status to notify that the query has been cancelled. + * + * @return PJ_SUCCESS on success, or the appropriate error code, + */ +PJ_DECL(pj_status_t) pj_dns_resolver_cancel_query(pj_dns_async_query *query, + pj_bool_t notify); + +/** + * A utility function to parse a DNS response containing A records into + * DNS A record. + * + * @param pkt The DNS response packet. + * @param rec The structure to be initialized with the parsed + * DNS A record from the packet. + * + * @return PJ_SUCCESS if response can be parsed successfully. + */ +PJ_DECL(pj_status_t) pj_dns_parse_a_response(const pj_dns_parsed_packet *pkt, + pj_dns_a_record *rec); + + +/** + * Put the specified DNS packet into DNS cache. This function is mainly used + * for testing the resolver, however it can also be used to inject entries + * into the resolver. + * + * The packet MUST contain either answer section or query section so that + * it can be indexed. + * + * @param resolver The resolver instance. + * @param pkt DNS packet to be added to the DNS cache. If the packet + * matches existing entry, it will update the entry. + * @param set_ttl If the value is PJ_FALSE, the entry will not expire + * (so use with care). Otherwise cache expiration will be + * calculated based on the TTL of the answeres. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_dns_resolver_add_entry(pj_dns_resolver *resolver, + const pj_dns_parsed_packet *pkt, + pj_bool_t set_ttl); + +/** + * Get the total number of response in the response cache. + * + * @param resolver The resolver instance. + * + * @return Current number of entries being stored in the response + * cache. + */ +PJ_DECL(unsigned) pj_dns_resolver_get_cached_count(pj_dns_resolver *resolver); + + +/** + * Dump resolver state to the log. + * + * @param resolver The resolver instance. + * @param detail Will print detailed entries. + */ +PJ_DECL(void) pj_dns_resolver_dump(pj_dns_resolver *resolver, + pj_bool_t detail); + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJLIB_UTIL_RESOLVER_H__ */ + diff --git a/pjlib-util/include/pjlib-util/scanner.h b/pjlib-util/include/pjlib-util/scanner.h new file mode 100644 index 0000000..f47a8f0 --- /dev/null +++ b/pjlib-util/include/pjlib-util/scanner.h @@ -0,0 +1,556 @@ +/* $Id: scanner.h 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_SCANNER_H__ +#define __PJ_SCANNER_H__ + +/** + * @file scanner.h + * @brief Text Scanning. + */ + +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_SCAN Fast Text Scanning + * @ingroup PJLIB_TEXT + * @brief Text scanning utility. + * + * This module describes a fast text scanning functions. + * + * @{ + */ +#if defined(PJ_SCANNER_USE_BITWISE) && PJ_SCANNER_USE_BITWISE != 0 +# include +#else +# include +#endif + +/** + * Initialize scanner input specification buffer. + * + * @param cs_buf The scanner character specification. + */ +PJ_DECL(void) pj_cis_buf_init(pj_cis_buf_t *cs_buf); + +/** + * Create a new input specification. + * + * @param cs_buf Specification buffer. + * @param cis Character input specification to be initialized. + * + * @return PJ_SUCCESS if new specification has been successfully + * created, or PJ_ETOOMANY if there are already too many + * specifications in the buffer. + */ +PJ_DECL(pj_status_t) pj_cis_init(pj_cis_buf_t *cs_buf, pj_cis_t *cis); + +/** + * Create a new input specification based on an existing specification. + * + * @param new_cis The new specification to be initialized. + * @param existing The existing specification, from which the input + * bitmask will be copied to the new specification. + * + * @return PJ_SUCCESS if new specification has been successfully + * created, or PJ_ETOOMANY if there are already too many + * specifications in the buffer. + */ +PJ_DECL(pj_status_t) pj_cis_dup(pj_cis_t *new_cis, pj_cis_t *existing); + +/** + * Add the characters in the specified range '[cstart, cend)' to the + * specification (the last character itself ('cend') is not added). + * + * @param cis The scanner character specification. + * @param cstart The first character in the range. + * @param cend The next character after the last character in the range. + */ +PJ_DECL(void) pj_cis_add_range( pj_cis_t *cis, int cstart, int cend); + +/** + * Add alphabetic characters to the specification. + * + * @param cis The scanner character specification. + */ +PJ_DECL(void) pj_cis_add_alpha( pj_cis_t *cis); + +/** + * Add numeric characters to the specification. + * + * @param cis The scanner character specification. + */ +PJ_DECL(void) pj_cis_add_num( pj_cis_t *cis); + +/** + * Add the characters in the string to the specification. + * + * @param cis The scanner character specification. + * @param str The string. + */ +PJ_DECL(void) pj_cis_add_str( pj_cis_t *cis, const char *str); + +/** + * Add specification from another specification. + * + * @param cis The specification is to be set. + * @param rhs The specification to be copied. + */ +PJ_DECL(void) pj_cis_add_cis( pj_cis_t *cis, const pj_cis_t *rhs); + +/** + * Delete characters in the specified range from the specification. + * + * @param cis The scanner character specification. + * @param cstart The first character in the range. + * @param cend The next character after the last character in the range. + */ +PJ_DECL(void) pj_cis_del_range( pj_cis_t *cis, int cstart, int cend); + +/** + * Delete characters in the specified string from the specification. + * + * @param cis The scanner character specification. + * @param str The string. + */ +PJ_DECL(void) pj_cis_del_str( pj_cis_t *cis, const char *str); + +/** + * Invert specification. + * + * @param cis The scanner character specification. + */ +PJ_DECL(void) pj_cis_invert( pj_cis_t *cis ); + +/** + * Check whether the specified character belongs to the specification. + * + * @param cis The scanner character specification. + * @param c The character to check for matching. + * + * @return Non-zero if match (not necessarily one). + */ +PJ_INLINE(int) pj_cis_match( const pj_cis_t *cis, pj_uint8_t c ) +{ + return PJ_CIS_ISSET(cis, c); +} + + +/** + * Flags for scanner. + */ +enum +{ + /** This flags specifies that the scanner should automatically skip + whitespaces + */ + PJ_SCAN_AUTOSKIP_WS = 1, + + /** This flags specifies that the scanner should automatically skip + SIP header continuation. This flag implies PJ_SCAN_AUTOSKIP_WS. + */ + PJ_SCAN_AUTOSKIP_WS_HEADER = 3, + + /** Auto-skip new lines. + */ + PJ_SCAN_AUTOSKIP_NEWLINE = 4 +}; + + +/* Forward decl. */ +struct pj_scanner; + + +/** + * The callback function type to be called by the scanner when it encounters + * syntax error. + * + * @param scanner The scanner instance that calls the callback . + */ +typedef void (*pj_syn_err_func_ptr)(struct pj_scanner *scanner); + + +/** + * The text scanner structure. + */ +typedef struct pj_scanner +{ + char *begin; /**< Start of input buffer. */ + char *end; /**< End of input buffer. */ + char *curptr; /**< Current pointer. */ + int line; /**< Current line. */ + char *start_line; /**< Where current line starts. */ + int skip_ws; /**< Skip whitespace flag. */ + pj_syn_err_func_ptr callback; /**< Syntax error callback. */ +} pj_scanner; + + +/** + * This structure can be used by application to store the state of the parser, + * so that the scanner state can be rollback to this state when necessary. + */ +typedef struct pj_scan_state +{ + char *curptr; /**< Current scanner's pointer. */ + int line; /**< Current line. */ + char *start_line; /**< Start of current line. */ +} pj_scan_state; + + +/** + * Initialize the scanner. Note that the input string buffer must have + * length at least buflen+1 because the scanner will NULL terminate the + * string during initialization. + * + * @param scanner The scanner to be initialized. + * @param bufstart The input buffer to scan. Note that buffer[buflen] will be + * filled with NULL char until scanner is destroyed, so + * the actual buffer length must be at least buflen+1. + * @param buflen The length of the input buffer, which normally is + * strlen(bufstart). + * @param options Zero, or combination of PJ_SCAN_AUTOSKIP_WS or + * PJ_SCAN_AUTOSKIP_WS_HEADER + * @param callback Callback to be called when the scanner encounters syntax + * error condition. + */ +PJ_DECL(void) pj_scan_init( pj_scanner *scanner, char *bufstart, + pj_size_t buflen, + unsigned options, + pj_syn_err_func_ptr callback ); + + +/** + * Call this function when application has finished using the scanner. + * + * @param scanner The scanner. + */ +PJ_DECL(void) pj_scan_fini( pj_scanner *scanner ); + + +/** + * Determine whether the EOF condition for the scanner has been met. + * + * @param scanner The scanner. + * + * @return Non-zero if scanner is EOF. + */ +PJ_INLINE(int) pj_scan_is_eof( const pj_scanner *scanner) +{ + return scanner->curptr >= scanner->end; +} + + +/** + * Peek strings in current position according to parameter spec, and return + * the strings in parameter out. The current scanner position will not be + * moved. If the scanner is already in EOF state, syntax error callback will + * be called thrown. + * + * @param scanner The scanner. + * @param spec The spec to match input string. + * @param out String to store the result. + * + * @return the character right after the peek-ed position or zero if there's + * no more characters. + */ +PJ_DECL(int) pj_scan_peek( pj_scanner *scanner, + const pj_cis_t *spec, pj_str_t *out); + + +/** + * Peek len characters in current position, and return them in out parameter. + * Note that whitespaces or newlines will be returned as it is, regardless + * of PJ_SCAN_AUTOSKIP_WS settings. If the character left is less than len, + * syntax error callback will be called. + * + * @param scanner The scanner. + * @param len Length to peek. + * @param out String to store the result. + * + * @return the character right after the peek-ed position or zero if there's + * no more characters. + */ +PJ_DECL(int) pj_scan_peek_n( pj_scanner *scanner, + pj_size_t len, pj_str_t *out); + + +/** + * Peek strings in current position until spec is matched, and return + * the strings in parameter out. The current scanner position will not be + * moved. If the scanner is already in EOF state, syntax error callback will + * be called. + * + * @param scanner The scanner. + * @param spec The peeking will stop when the input match this spec. + * @param out String to store the result. + * + * @return the character right after the peek-ed position. + */ +PJ_DECL(int) pj_scan_peek_until( pj_scanner *scanner, + const pj_cis_t *spec, + pj_str_t *out); + + +/** + * Get characters from the buffer according to the spec, and return them + * in out parameter. The scanner will attempt to get as many characters as + * possible as long as the spec matches. If the first character doesn't + * match the spec, or scanner is already in EOF when this function is called, + * an exception will be thrown. + * + * @param scanner The scanner. + * @param spec The spec to match input string. + * @param out String to store the result. + */ +PJ_DECL(void) pj_scan_get( pj_scanner *scanner, + const pj_cis_t *spec, pj_str_t *out); + + +/** + * Just like #pj_scan_get(), but additionally performs unescaping when + * escaped ('%') character is found. The input spec MUST NOT contain the + * specification for '%' characted. + * + * @param scanner The scanner. + * @param spec The spec to match input string. + * @param out String to store the result. + */ +PJ_DECL(void) pj_scan_get_unescape( pj_scanner *scanner, + const pj_cis_t *spec, pj_str_t *out); + + +/** + * Get characters between quotes. If current input doesn't match begin_quote, + * syntax error will be thrown. Note that the resulting string will contain + * the enclosing quote. + * + * @param scanner The scanner. + * @param begin_quote The character to begin the quote. + * @param end_quote The character to end the quote. + * @param out String to store the result. + */ +PJ_DECL(void) pj_scan_get_quote( pj_scanner *scanner, + int begin_quote, int end_quote, + pj_str_t *out); + +/** + * Get characters between quotes. If current input doesn't match begin_quote, + * syntax error will be thrown. Note that the resulting string will contain + * the enclosing quote. + * + * @param scanner The scanner. + * @param begin_quotes The character array to begin the quotes. For example, + * the two characters " and '. + * @param end_quotes The character array to end the quotes. The position + * found in the begin_quotes array will be used to match + * the end quotes. So if the begin_quotes was the array + * of "'< the end_quotes should be "'>. If begin_array + * matched the ' then the end_quotes will look for ' to + * match at the end. + * @param qsize The size of the begin_quotes and end_quotes arrays. + * @param out String to store the result. + */ +PJ_DECL(void) pj_scan_get_quotes(pj_scanner *scanner, + const char *begin_quotes, + const char *end_quotes, int qsize, + pj_str_t *out); + + +/** + * Get N characters from the scanner. + * + * @param scanner The scanner. + * @param N Number of characters to get. + * @param out String to store the result. + */ +PJ_DECL(void) pj_scan_get_n( pj_scanner *scanner, + unsigned N, pj_str_t *out); + + +/** + * Get one character from the scanner. + * + * @param scanner The scanner. + * + * @return The character. + */ +PJ_DECL(int) pj_scan_get_char( pj_scanner *scanner ); + + +/** + * Get characters from the scanner and move the scanner position until the + * current character matches the spec. + * + * @param scanner The scanner. + * @param spec Get until the input match this spec. + * @param out String to store the result. + */ +PJ_DECL(void) pj_scan_get_until( pj_scanner *scanner, + const pj_cis_t *spec, pj_str_t *out); + + +/** + * Get characters from the scanner and move the scanner position until the + * current character matches until_char. + * + * @param scanner The scanner. + * @param until_char Get until the input match this character. + * @param out String to store the result. + */ +PJ_DECL(void) pj_scan_get_until_ch( pj_scanner *scanner, + int until_char, pj_str_t *out); + + +/** + * Get characters from the scanner and move the scanner position until the + * current character matches until_char. + * + * @param scanner The scanner. + * @param until_spec Get until the input match any of these characters. + * @param out String to store the result. + */ +PJ_DECL(void) pj_scan_get_until_chr( pj_scanner *scanner, + const char *until_spec, pj_str_t *out); + +/** + * Advance the scanner N characters, and skip whitespace + * if necessary. + * + * @param scanner The scanner. + * @param N Number of characters to skip. + * @param skip Flag to specify whether whitespace should be skipped + * after skipping the characters. + */ +PJ_DECL(void) pj_scan_advance_n( pj_scanner *scanner, + unsigned N, pj_bool_t skip); + + +/** + * Compare string in current position with the specified string. + * + * @param scanner The scanner. + * @param s The string to compare with. + * @param len Length of the string to compare. + * + * @return zero, <0, or >0 (just like strcmp()). + */ +PJ_DECL(int) pj_scan_strcmp( pj_scanner *scanner, const char *s, int len); + + +/** + * Case-less string comparison of current position with the specified + * string. + * + * @param scanner The scanner. + * @param s The string to compare with. + * @param len Length of the string to compare with. + * + * @return zero, <0, or >0 (just like strcmp()). + */ +PJ_DECL(int) pj_scan_stricmp( pj_scanner *scanner, const char *s, int len); + +/** + * Perform case insensitive string comparison of string in current position, + * knowing that the string to compare only consists of alphanumeric + * characters. + * + * Note that unlike #pj_scan_stricmp, this function can only return zero or + * -1. + * + * @param scanner The scanner. + * @param s The string to compare with. + * @param len Length of the string to compare with. + * + * @return zero if equal or -1. + * + * @see strnicmp_alnum, pj_stricmp_alnum + */ +PJ_DECL(int) pj_scan_stricmp_alnum( pj_scanner *scanner, const char *s, + int len); + + +/** + * Get a newline from the scanner. A newline is defined as '\\n', or '\\r', or + * "\\r\\n". If current input is not newline, syntax error will be thrown. + * + * @param scanner The scanner. + */ +PJ_DECL(void) pj_scan_get_newline( pj_scanner *scanner ); + + +/** + * Manually skip whitespaces according to flag that was specified when + * the scanner was initialized. + * + * @param scanner The scanner. + */ +PJ_DECL(void) pj_scan_skip_whitespace( pj_scanner *scanner ); + + +/** + * Skip current line. + * + * @param scanner The scanner. + */ +PJ_DECL(void) pj_scan_skip_line( pj_scanner *scanner ); + +/** + * Save the full scanner state. + * + * @param scanner The scanner. + * @param state Variable to store scanner's state. + */ +PJ_DECL(void) pj_scan_save_state( const pj_scanner *scanner, + pj_scan_state *state); + + +/** + * Restore the full scanner state. + * Note that this would not restore the string if application has modified + * it. This will only restore the scanner scanning position. + * + * @param scanner The scanner. + * @param state State of the scanner. + */ +PJ_DECL(void) pj_scan_restore_state( pj_scanner *scanner, + pj_scan_state *state); + +/** + * Get current column position. + * + * @param scanner The scanner. + * + * @return The column position. + */ +PJ_INLINE(int) pj_scan_get_col( const pj_scanner *scanner ) +{ + return (int)(scanner->curptr - scanner->start_line); +} + +/** + * @} + */ + + +PJ_END_DECL + +#endif + diff --git a/pjlib-util/include/pjlib-util/scanner_cis_bitwise.h b/pjlib-util/include/pjlib-util/scanner_cis_bitwise.h new file mode 100644 index 0000000..ef0c7ff --- /dev/null +++ b/pjlib-util/include/pjlib-util/scanner_cis_bitwise.h @@ -0,0 +1,97 @@ +/* $Id: scanner_cis_bitwise.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_SCANNER_CIS_BIT_H__ +#define __PJLIB_UTIL_SCANNER_CIS_BIT_H__ + +#include + +PJ_BEGIN_DECL + +/** + * This describes the type of individual character specification in + * #pj_cis_buf_t. Basicly the number of bits here + */ +#ifndef PJ_CIS_ELEM_TYPE +# define PJ_CIS_ELEM_TYPE pj_uint32_t +#endif + +/** + * This describes the type of individual character specification in + * #pj_cis_buf_t. + */ +typedef PJ_CIS_ELEM_TYPE pj_cis_elem_t; + +/** + * Maximum number of input specification in a buffer. + * Effectively this means the number of bits in pj_cis_elem_t. + */ +#define PJ_CIS_MAX_INDEX (sizeof(pj_cis_elem_t) << 3) + +/** + * The scanner input specification buffer. + */ +typedef struct pj_cis_buf_t +{ + pj_cis_elem_t cis_buf[256]; /**< Must be 256 (not 128)! */ + pj_cis_elem_t use_mask; /**< To keep used indexes. */ +} pj_cis_buf_t; + +/** + * Character input specification. + */ +typedef struct pj_cis_t +{ + pj_cis_elem_t *cis_buf; /**< Pointer to buffer. */ + int cis_id; /**< Id. */ +} pj_cis_t; + + +/** + * Set the membership of the specified character. + * Note that this is a macro, and arguments may be evaluated more than once. + * + * @param cis Pointer to character input specification. + * @param c The character. + */ +#define PJ_CIS_SET(cis,c) ((cis)->cis_buf[(int)(c)] |= (1 << (cis)->cis_id)) + +/** + * Remove the membership of the specified character. + * Note that this is a macro, and arguments may be evaluated more than once. + * + * @param cis Pointer to character input specification. + * @param c The character to be removed from the membership. + */ +#define PJ_CIS_CLR(cis,c) ((cis)->cis_buf[(int)c] &= ~(1 << (cis)->cis_id)) + +/** + * Check the membership of the specified character. + * Note that this is a macro, and arguments may be evaluated more than once. + * + * @param cis Pointer to character input specification. + * @param c The character. + */ +#define PJ_CIS_ISSET(cis,c) ((cis)->cis_buf[(int)c] & (1 << (cis)->cis_id)) + + + +PJ_END_DECL + +#endif /* __PJLIB_UTIL_SCANNER_CIS_BIT_H__ */ diff --git a/pjlib-util/include/pjlib-util/scanner_cis_uint.h b/pjlib-util/include/pjlib-util/scanner_cis_uint.h new file mode 100644 index 0000000..0cde7c7 --- /dev/null +++ b/pjlib-util/include/pjlib-util/scanner_cis_uint.h @@ -0,0 +1,84 @@ +/* $Id: scanner_cis_uint.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_SCANNER_CIS_BIT_H__ +#define __PJLIB_UTIL_SCANNER_CIS_BIT_H__ + +#include + +PJ_BEGIN_DECL + +/** + * This describes the type of individual character specification in + * #pj_cis_buf_t. Basicly the number of bits here + */ +#ifndef PJ_CIS_ELEM_TYPE +# define PJ_CIS_ELEM_TYPE int +#endif + +/** + * This describes the type of individual character specification in + * #pj_cis_buf_t. + */ +typedef PJ_CIS_ELEM_TYPE pj_cis_elem_t; + +/** pj_cis_buf_t is not used when uint back-end is used. */ +typedef int pj_cis_buf_t; + +/** + * Character input specification. + */ +typedef struct pj_cis_t +{ + PJ_CIS_ELEM_TYPE cis_buf[256]; /**< Internal buffer. */ +} pj_cis_t; + + +/** + * Set the membership of the specified character. + * Note that this is a macro, and arguments may be evaluated more than once. + * + * @param cis Pointer to character input specification. + * @param c The character. + */ +#define PJ_CIS_SET(cis,c) ((cis)->cis_buf[(int)(c)] = 1) + +/** + * Remove the membership of the specified character. + * Note that this is a macro, and arguments may be evaluated more than once. + * + * @param cis Pointer to character input specification. + * @param c The character to be removed from the membership. + */ +#define PJ_CIS_CLR(cis,c) ((cis)->cis_buf[(int)c] = 0) + +/** + * Check the membership of the specified character. + * Note that this is a macro, and arguments may be evaluated more than once. + * + * @param cis Pointer to character input specification. + * @param c The character. + */ +#define PJ_CIS_ISSET(cis,c) ((cis)->cis_buf[(int)c]) + + + +PJ_END_DECL + +#endif /* __PJLIB_UTIL_SCANNER_CIS_BIT_H__ */ diff --git a/pjlib-util/include/pjlib-util/sha1.h b/pjlib-util/include/pjlib-util/sha1.h new file mode 100644 index 0000000..f43e3c2 --- /dev/null +++ b/pjlib-util/include/pjlib-util/sha1.h @@ -0,0 +1,80 @@ +/* $Id: sha1.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_SHA1_H__ +#define __PJLIB_UTIL_SHA1_H__ + +/** + * @file sha1.h + * @brief SHA1 encryption implementation + */ + +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJLIB_UTIL_SHA1 SHA1 + * @ingroup PJLIB_UTIL_ENCRYPTION + * @{ + */ + +/** SHA1 context */ +typedef struct pj_sha1_context +{ + pj_uint32_t state[5]; /**< State */ + pj_uint32_t count[2]; /**< Count */ + pj_uint8_t buffer[64]; /**< Buffer */ +} pj_sha1_context; + +/** SHA1 digest size is 20 bytes */ +#define PJ_SHA1_DIGEST_SIZE 20 + + +/** Initialize the algorithm. + * @param ctx SHA1 context. + */ +PJ_DECL(void) pj_sha1_init(pj_sha1_context *ctx); + +/** Append a stream to the message. + * @param ctx SHA1 context. + * @param data Data. + * @param nbytes Length of data. + */ +PJ_DECL(void) pj_sha1_update(pj_sha1_context *ctx, + const pj_uint8_t *data, + const pj_size_t nbytes); + +/** Finish the message and return the digest. + * @param ctx SHA1 context. + * @param digest 16 byte digest. + */ +PJ_DECL(void) pj_sha1_final(pj_sha1_context *ctx, + pj_uint8_t digest[PJ_SHA1_DIGEST_SIZE]); + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJLIB_UTIL_SHA1_H__ */ + diff --git a/pjlib-util/include/pjlib-util/srv_resolver.h b/pjlib-util/include/pjlib-util/srv_resolver.h new file mode 100644 index 0000000..a3c4768 --- /dev/null +++ b/pjlib-util/include/pjlib-util/srv_resolver.h @@ -0,0 +1,215 @@ +/* $Id: srv_resolver.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_SRV_RESOLVER_H__ +#define __PJLIB_UTIL_SRV_RESOLVER_H__ + +/** + * @file srv_resolver.h + * @brief DNS SRV resolver + */ +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_DNS_SRV_RESOLVER DNS SRV Resolution Helper + * @ingroup PJ_DNS + * @{ + * + * \section PJ_DNS_SRV_RESOLVER_INTRO DNS SRV Resolution Helper + * + * This module provides an even higher layer of abstraction for the DNS + * resolution framework, to resolve DNS SRV names. + * + * The #pj_dns_srv_resolve() function will asynchronously resolve the server + * name into IP address(es) with a single function call. If the SRV name + * contains multiple names, then each will be resolved with individual + * DNS A resolution to get the IP addresses. Upon successful completion, + * application callback will be called with each IP address of the + * target selected based on the load-balancing and fail-over criteria + * below. + * + * When the resolver fails to resolve the name using DNS SRV resolution + * (for example when the DNS SRV record is not present in the DNS server), + * the resolver will fallback to using DNS A record resolution to resolve + * the name. + * + * \subsection PJ_DNS_SRV_RESOLVER_FAILOVER_LOADBALANCE Load-Balancing and Fail-Over + * + * When multiple targets are returned in the DNS SRV response, server entries + * are selected based on the following rule (which is described in RFC 2782): + * - targets will be sorted based on the priority first. + * - for targets with the same priority, #pj_dns_srv_resolve() will select + * only one target according to its weight. To select this one target, + * the function associates running-sum for all targets, and generates + * a random number between zero and the total running-sum (inclusive). + * The target selected is the first target with running-sum greater than + * or equal to this random number. + * + * The above procedure will select one target for each priority, allowing + * application to fail-over to the next target when the previous target fails. + * These targets are returned in the #pj_dns_srv_record structure + * argument of the callback. + * + * \section PJ_DNS_SRV_RESOLVER_REFERENCE Reference + * + * Reference: + * - RFC 2782: + * A DNS RR for specifying the location of services (DNS SRV) + */ + +/** + * Flags to be specified when starting the DNS SRV query. + */ +typedef enum pj_dns_srv_option +{ + /** + * Specify if the resolver should fallback with DNS A + * resolution when the SRV resolution fails. This option may + * be specified together with PJ_DNS_SRV_FALLBACK_AAAA to + * make the resolver fallback to AAAA if SRV resolution fails, + * and then to DNS A resolution if the AAAA resolution fails. + */ + PJ_DNS_SRV_FALLBACK_A = 1, + + /** + * Specify if the resolver should fallback with DNS AAAA + * resolution when the SRV resolution fails. This option may + * be specified together with PJ_DNS_SRV_FALLBACK_A to + * make the resolver fallback to AAAA if SRV resolution fails, + * and then to DNS A resolution if the AAAA resolution fails. + */ + PJ_DNS_SRV_FALLBACK_AAAA = 2, + + /** + * Specify if the resolver should try to resolve with DNS AAAA + * resolution first of each targets in the DNS SRV record. If + * this option is not specified, the SRV resolver will query + * the DNS A record for the target instead. + */ + PJ_DNS_SRV_RESOLVE_AAAA = 4 + +} pj_dns_srv_option; + + +/** + * This structure represents DNS SRV records as the result of DNS SRV + * resolution using #pj_dns_srv_resolve(). + */ +typedef struct pj_dns_srv_record +{ + /** Number of address records. */ + unsigned count; + + /** Address records. */ + struct + { + /** Server priority (the lower the higher the priority). */ + unsigned priority; + + /** Server weight (the higher the more load it can handle). */ + unsigned weight; + + /** Port number. */ + pj_uint16_t port; + + /** The host address. */ + pj_dns_a_record server; + + } entry[PJ_DNS_SRV_MAX_ADDR]; + +} pj_dns_srv_record; + + +/** Opaque declaration for DNS SRV query */ +typedef struct pj_dns_srv_async_query pj_dns_srv_async_query; + +/** + * Type of callback function to receive notification from the resolver + * when the resolution process completes. + */ +typedef void pj_dns_srv_resolver_cb(void *user_data, + pj_status_t status, + const pj_dns_srv_record *rec); + + +/** + * Start DNS SRV resolution for the specified name. The full name of the + * entry will be concatenated from \a res_name and \a domain_name fragments. + * + * @param domain_name The domain name part of the name. + * @param res_name The full service name, including the transport name + * and with all the leading underscore characters and + * ending dot (e.g. "_sip._udp.", "_stun._udp."). + * @param def_port The port number to be assigned to the resolved address + * when the DNS SRV resolution fails and the name is + * resolved with DNS A resolution. + * @param pool Memory pool used to allocate memory for the query. + * @param resolver The resolver instance. + * @param option Option flags, which can be constructed from + * #pj_dns_srv_option bitmask. Note that this argument + * was called "fallback_a" in pjsip version 0.8.0 and + * older, but the new option should be backward + * compatible with existing applications. If application + * specifies PJ_TRUE as "fallback_a" value, it will + * correspond to PJ_DNS_SRV_FALLBACK_A option. + * @param token Arbitrary data to be associated with this query when + * the calback is called. + * @param cb Pointer to callback function to receive the + * notification when the resolution process completes. + * @param p_query Optional pointer to receive the query object, if one + * was started. If this pointer is specified, a NULL may + * be returned if response cache is available immediately. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_dns_srv_resolve(const pj_str_t *domain_name, + const pj_str_t *res_name, + unsigned def_port, + pj_pool_t *pool, + pj_dns_resolver *resolver, + unsigned option, + void *token, + pj_dns_srv_resolver_cb *cb, + pj_dns_srv_async_query **p_query); + + +/** + * Cancel an outstanding DNS SRV query. + * + * @param query The pending asynchronous query to be cancelled. + * @param notify If non-zero, the callback will be called with failure + * status to notify that the query has been cancelled. + * + * @return PJ_SUCCESS on success, or the appropriate error code, + */ +PJ_DECL(pj_status_t) pj_dns_srv_cancel_query(pj_dns_srv_async_query *query, + pj_bool_t notify); + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJLIB_UTIL_SRV_RESOLVER_H__ */ + diff --git a/pjlib-util/include/pjlib-util/string.h b/pjlib-util/include/pjlib-util/string.h new file mode 100644 index 0000000..8487a38 --- /dev/null +++ b/pjlib-util/include/pjlib-util/string.h @@ -0,0 +1,102 @@ +/* $Id: string.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_STRING_H__ +#define __PJLIB_UTIL_STRING_H__ + +/** + * @file string.h + * @brief More string functions. + */ + +#include +#include + +/** + * @defgroup PJLIB_UTIL_STRING String Escaping Utilities + * @ingroup PJLIB_TEXT + * @{ + */ + +PJ_BEGIN_DECL + +/** + * Unescape string. If source string does not contain any escaped + * characters, the function would simply return the original string. + * Otherwise a new string will be allocated. + * + * @param pool Pool to allocate the string. + * @param src Source string to unescape. + * + * @return String with no escaped characters. + */ +PJ_DECL(pj_str_t) pj_str_unescape( pj_pool_t *pool, const pj_str_t *src); + +/** + * Unescape string to destination. + * + * @param dst Target string. + * @param src Source string. + * + * @return Target string. + */ +PJ_DECL(pj_str_t*) pj_strcpy_unescape(pj_str_t *dst, const pj_str_t *src); + +/** + * Copy string to destination while escaping reserved characters, up to + * the specified maximum length. + * + * @param dst Target string. + * @param src Source string. + * @param max Maximum length to copy to target string. + * @param unres Unreserved characters, which are allowed to appear + * unescaped. + * + * @return The target string if all characters have been copied + * successfully, or NULL if there's not enough buffer to + * escape the strings. + */ +PJ_DECL(pj_str_t*) pj_strncpy_escape(pj_str_t *dst, const pj_str_t *src, + pj_ssize_t max, const pj_cis_t *unres); + + +/** + * Copy string to destination while escaping reserved characters, up to + * the specified maximum length. + * + * @param dst Target string. + * @param src Source string. + * @param max Maximum length to copy to target string. + * @param unres Unreserved characters, which are allowed to appear + * unescaped. + * + * @return The length of the destination, or -1 if there's not + * enough buffer. + */ +PJ_DECL(pj_ssize_t) pj_strncpy2_escape(char *dst, const pj_str_t *src, + pj_ssize_t max, const pj_cis_t *unres); + +PJ_END_DECL + + +/** + * @} + */ + +#endif /* __PJLIB_UTIL_STRING_H__ */ diff --git a/pjlib-util/include/pjlib-util/stun_simple.h b/pjlib-util/include/pjlib-util/stun_simple.h new file mode 100644 index 0000000..a0b1b69 --- /dev/null +++ b/pjlib-util/include/pjlib-util/stun_simple.h @@ -0,0 +1,284 @@ +/* $Id: stun_simple.h 4224 2012-08-09 05:21:25Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJSTUN_H__ +#define __PJSTUN_H__ + +/** + * @file stun.h + * @brief STUN client. + */ + +#include +#include + + +PJ_BEGIN_DECL + +/* + * This enumeration describes STUN message types. + */ +typedef enum pjstun_msg_type +{ + PJSTUN_BINDING_REQUEST = 0x0001, + PJSTUN_BINDING_RESPONSE = 0x0101, + PJSTUN_BINDING_ERROR_RESPONSE = 0x0111, + PJSTUN_SHARED_SECRET_REQUEST = 0x0002, + PJSTUN_SHARED_SECRET_RESPONSE = 0x0102, + PJSTUN_SHARED_SECRET_ERROR_RESPONSE = 0x0112 +} pjstun_msg_type; + + +/* + * This enumeration describes STUN attribute types. + */ +typedef enum pjstun_attr_type +{ + PJSTUN_ATTR_MAPPED_ADDR = 1, + PJSTUN_ATTR_RESPONSE_ADDR, + PJSTUN_ATTR_CHANGE_REQUEST, + PJSTUN_ATTR_SOURCE_ADDR, + PJSTUN_ATTR_CHANGED_ADDR, + PJSTUN_ATTR_USERNAME, + PJSTUN_ATTR_PASSWORD, + PJSTUN_ATTR_MESSAGE_INTEGRITY, + PJSTUN_ATTR_ERROR_CODE, + PJSTUN_ATTR_UNKNOWN_ATTRIBUTES, + PJSTUN_ATTR_REFLECTED_FROM, + PJSTUN_ATTR_XOR_MAPPED_ADDR = 0x0020 +} pjstun_attr_type; + + +/* + * This structre describes STUN message header. + */ +typedef struct pjstun_msg_hdr +{ + pj_uint16_t type; + pj_uint16_t length; + pj_uint32_t tsx[4]; +} pjstun_msg_hdr; + + +/* + * This structre describes STUN attribute header. + */ +typedef struct pjstun_attr_hdr +{ + pj_uint16_t type; + pj_uint16_t length; +} pjstun_attr_hdr; + + +/* + * This structre describes STUN MAPPED-ADDR attribute. + */ +typedef struct pjstun_mapped_addr_attr +{ + pjstun_attr_hdr hdr; + pj_uint8_t ignored; + pj_uint8_t family; + pj_uint16_t port; + pj_uint32_t addr; +} pjstun_mapped_addr_attr; + +typedef pjstun_mapped_addr_attr pjstun_response_addr_attr; +typedef pjstun_mapped_addr_attr pjstun_changed_addr_attr; +typedef pjstun_mapped_addr_attr pjstun_src_addr_attr; +typedef pjstun_mapped_addr_attr pjstun_reflected_form_attr; + +typedef struct pjstun_change_request_attr +{ + pjstun_attr_hdr hdr; + pj_uint32_t value; +} pjstun_change_request_attr; + +typedef struct pjstun_username_attr +{ + pjstun_attr_hdr hdr; + pj_uint32_t value[1]; +} pjstun_username_attr; + +typedef pjstun_username_attr pjstun_password_attr; + +typedef struct pjstun_error_code_attr +{ + pjstun_attr_hdr hdr; + pj_uint16_t ignored; + pj_uint8_t err_class; + pj_uint8_t number; + char reason[4]; +} pjstun_error_code_attr; + +typedef struct pjstun_msg +{ + pjstun_msg_hdr *hdr; + int attr_count; + pjstun_attr_hdr *attr[PJSTUN_MAX_ATTR]; +} pjstun_msg; + +/* STUN message API (stun.c). */ + +PJ_DECL(pj_status_t) pjstun_create_bind_req( pj_pool_t *pool, + void **msg, pj_size_t *len, + pj_uint32_t id_hi, + pj_uint32_t id_lo); +PJ_DECL(pj_status_t) pjstun_parse_msg( void *buf, pj_size_t len, + pjstun_msg *msg); +PJ_DECL(void*) pjstun_msg_find_attr( pjstun_msg *msg, pjstun_attr_type t); + + +/** + * @defgroup PJLIB_UTIL_STUN_CLIENT Simple STUN Helper + * @ingroup PJ_PROTOCOLS + * @brief A simple and small footprint STUN resolution helper + * @{ + * + * This is the older implementation of STUN client, with only one function + * provided (pjstun_get_mapped_addr()) to retrieve the public IP address + * of multiple sockets. + */ + +/** + * This is the main function to request the mapped address of local sockets + * to multiple STUN servers. This function is able to find the mapped + * addresses of multiple sockets simultaneously, and for each socket, two + * requests will be sent to two different STUN servers to see if both servers + * get the same public address for the same socket. (Note that application can + * specify the same address for the two servers, but still two requests will + * be sent for each server). + * + * This function will perform necessary retransmissions of the requests if + * response is not received within a predetermined period. When all responses + * have been received, the function will compare the mapped addresses returned + * by the servers, and when both are equal, the address will be returned in + * \a mapped_addr argument. + * + * @param pf The pool factory where memory will be allocated from. + * @param sock_cnt Number of sockets in the socket array. + * @param sock Array of local UDP sockets which public addresses are + * to be queried from the STUN servers. + * @param srv1 Host name or IP address string of the first STUN + * server. + * @param port1 The port number of the first STUN server. + * @param srv2 Host name or IP address string of the second STUN + * server. + * @param port2 The port number of the second STUN server. + * @param mapped_addr Array to receive the mapped public address of the local + * UDP sockets, when the function returns PJ_SUCCESS. + * + * @return This functions returns PJ_SUCCESS if responses are + * received from all servers AND all servers returned the + * same mapped public address. Otherwise this function may + * return one of the following error codes: + * - PJLIB_UTIL_ESTUNNOTRESPOND: no respons from servers. + * - PJLIB_UTIL_ESTUNSYMMETRIC: different mapped addresses + * are returned by servers. + * - etc. + * + */ +PJ_DECL(pj_status_t) pjstun_get_mapped_addr( pj_pool_factory *pf, + int sock_cnt, pj_sock_t sock[], + const pj_str_t *srv1, int port1, + const pj_str_t *srv2, int port2, + pj_sockaddr_in mapped_addr[]); + + +/* + * This structre describes configurable setting for requesting mapped address. + */ +typedef struct pjstun_setting +{ + /** + * Specifies whether STUN request generated by old STUN library should + * insert magic cookie (specified in RFC 5389) in the transaction ID. + */ + pj_bool_t use_stun2; + + /** + * Host name or IP address string of the first STUN server. + */ + pj_str_t srv1; + + /** + * The port number of the first STUN server. + */ + int port1; + + /** + * Host name or IP address string of the second STUN server. + */ + pj_str_t srv2; + + /** + * The port number of the second STUN server. + */ + int port2; + +} pjstun_setting; + + +/** + * Another version of mapped address resolution of local sockets to multiple + * STUN servers configured in #pjstun_setting. This function is able to find + * the mapped addresses of multiple sockets simultaneously, and for each + * socket, two requests will be sent to two different STUN servers to see if + * both servers get the same public address for the same socket. (Note that + * application can specify the same address for the two servers, but still + * two requests will be sent for each server). + * + * This function will perform necessary retransmissions of the requests if + * response is not received within a predetermined period. When all responses + * have been received, the function will compare the mapped addresses returned + * by the servers, and when both are equal, the address will be returned in + * \a mapped_addr argument. + * + * @param pf The pool factory where memory will be allocated from. + * @param opt The STUN settings. + * @param sock_cnt Number of sockets in the socket array. + * @param sock Array of local UDP sockets which public addresses are + * to be queried from the STUN servers. + * @param mapped_addr Array to receive the mapped public address of the local + * UDP sockets, when the function returns PJ_SUCCESS. + * + * @return This functions returns PJ_SUCCESS if responses are + * received from all servers AND all servers returned the + * same mapped public address. Otherwise this function may + * return one of the following error codes: + * - PJLIB_UTIL_ESTUNNOTRESPOND: no respons from servers. + * - PJLIB_UTIL_ESTUNSYMMETRIC: different mapped addresses + * are returned by servers. + * - etc. + * + */ +PJ_DECL(pj_status_t) pjstun_get_mapped_addr2( pj_pool_factory *pf, + const pjstun_setting *opt, + int sock_cnt, + pj_sock_t sock[], + pj_sockaddr_in mapped_addr[]); + + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJSTUN_H__ */ + diff --git a/pjlib-util/include/pjlib-util/types.h b/pjlib-util/include/pjlib-util/types.h new file mode 100644 index 0000000..899c27b --- /dev/null +++ b/pjlib-util/include/pjlib-util/types.h @@ -0,0 +1,95 @@ +/* $Id: types.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_UTIL_TYPES_H__ +#define __PJLIB_UTIL_TYPES_H__ + +/** + * @file types.h + * @brief PJLIB-UTIL types. + */ + +#include +#include + +/** + * @defgroup PJLIB_UTIL_BASE Base + * @{ + */ + +PJ_BEGIN_DECL + +/** + * Initialize PJLIB UTIL (defined in errno.c) + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjlib_util_init(void); + + + +PJ_END_DECL + + +/** + * @} + */ + +/** + * @defgroup PJLIB_TEXT Text and String Manipulation + */ + +/** + * @defgroup PJ_PROTOCOLS Protocols + */ + +/** + * @defgroup PJ_FILE_FMT File Formats + */ + +/** + * @mainpage PJLIB-UTIL + * + * \n + * \n + * \n + * This is the documentation of PJLIB-UTIL, an auxiliary library providing + * adjunct functions to PJLIB. + * + * Please go to the Table of Contents page + * for list of modules. + * + * + * \n + * \n + * \n + * \n + * \n + * \n + * \n + * \n + * \n + * \n + * \n + * \n + * \n + */ + +#endif /* __PJLIB_UTIL_TYPES_H__ */ + diff --git a/pjlib-util/include/pjlib-util/xml.h b/pjlib-util/include/pjlib-util/xml.h new file mode 100644 index 0000000..81dc6c7 --- /dev/null +++ b/pjlib-util/include/pjlib-util/xml.h @@ -0,0 +1,246 @@ +/* $Id: xml.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_XML_H__ +#define __PJ_XML_H__ + +/** + * @file xml.h + * @brief PJLIB XML Parser/Helper. + */ + +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_TINY_XML Mini/Tiny XML Parser/Helper + * @ingroup PJ_FILE_FMT + * @{ + */ + +/** Typedef for XML attribute. */ +typedef struct pj_xml_attr pj_xml_attr; + +/** Typedef for XML nodes. */ +typedef struct pj_xml_node pj_xml_node; + +/** This structure declares XML attribute. */ +struct pj_xml_attr +{ + PJ_DECL_LIST_MEMBER(pj_xml_attr); /**< Standard list elements. */ + pj_str_t name; /**< Attribute name. */ + pj_str_t value; /**< Attribute value. */ +}; + +/** This structure describes XML node head inside XML node structure. + */ +typedef struct pj_xml_node_head +{ + PJ_DECL_LIST_MEMBER(pj_xml_node); /**< Standard list elements. */ +} pj_xml_node_head; + +/** This structure describes XML node. */ +struct pj_xml_node +{ + PJ_DECL_LIST_MEMBER(pj_xml_node); /**< List @a prev and @a next member */ + pj_str_t name; /**< Node name. */ + pj_xml_attr attr_head; /**< Attribute list. */ + pj_xml_node_head node_head; /**< Node list. */ + pj_str_t content; /**< Node content. */ +}; + +/** + * Parse XML message into XML document with a single root node. The parser + * is capable of parsing XML processing instruction construct ("next is the starting point. + * @param name Node name to find. + * + * @return XML node found or NULL. + */ +PJ_DECL(pj_xml_node*) pj_xml_find_next_node(const pj_xml_node *parent, + const pj_xml_node *node, + const pj_str_t *name); + +/** + * Recursively find the first node with the specified name in the child nodes + * and their children. + * + * @param parent Parent node. + * @param name Node name to find. + * + * @return XML node found or NULL. + */ +PJ_DECL(pj_xml_node*) pj_xml_find_node_rec(const pj_xml_node *parent, + const pj_str_t *name); + + +/** + * Find first attribute within a node with the specified name and optional + * value. + * + * @param node XML Node. + * @param name Attribute name to find. + * @param value Optional value to match. + * + * @return XML attribute found, or NULL. + */ +PJ_DECL(pj_xml_attr*) pj_xml_find_attr(const pj_xml_node *node, + const pj_str_t *name, + const pj_str_t *value); + + +/** + * Find a direct child node with the specified name and match the function. + * + * @param parent Parent node. + * @param name Optional name. If this is NULL, the name will not be + * matched. + * @param data Data to be passed to matching function. + * @param match Optional matching function. + * + * @return The first matched node, or NULL. + */ +PJ_DECL(pj_xml_node*) pj_xml_find( const pj_xml_node *parent, + const pj_str_t *name, + const void *data, + pj_bool_t (*match)(const pj_xml_node *, + const void*)); + + +/** + * Recursively find a child node with the specified name and match the + * function. + * + * @param parent Parent node. + * @param name Optional name. If this is NULL, the name will not be + * matched. + * @param data Data to be passed to matching function. + * @param match Optional matching function. + * + * @return The first matched node, or NULL. + */ +PJ_DECL(pj_xml_node*) pj_xml_find_rec(const pj_xml_node *parent, + const pj_str_t *name, + const void *data, + pj_bool_t (*match)(const pj_xml_node*, + const void*)); + + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJ_XML_H__ */ diff --git a/pjlib-util/src/pjlib-util-test/encryption.c b/pjlib-util/src/pjlib-util-test/encryption.c new file mode 100644 index 0000000..48b6c36 --- /dev/null +++ b/pjlib-util/src/pjlib-util-test/encryption.c @@ -0,0 +1,766 @@ +/* $Id: encryption.c 4910 2014-09-01 06:32:50Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include +#include + + +#if INCLUDE_ENCRYPTION_TEST + +/* + * Encryption algorithm tests. + */ +#define THIS_FILE "encryption.c" + + +/* + * SHA1 test from the original sha1.c source file. + */ +static char *sha1_test_data[] = { + "abc", + "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", + "A million repetitions of 'a'" +}; +static char *sha1_test_results[] = { + "A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D", + "84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1", + "34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F" +}; + + +static void digest_to_hex(const pj_uint8_t digest[PJ_SHA1_DIGEST_SIZE], + char *output) +{ + int i,j; + char *c = output; + + for (i = 0; i < PJ_SHA1_DIGEST_SIZE/4; i++) { + for (j = 0; j < 4; j++) { + sprintf(c,"%02X", digest[i*4+j] & 0xFF); + c += 2; + } + sprintf(c, " "); + c += 1; + } + *(c - 1) = '\0'; +} + +static int sha1_test1(void) +{ + enum { MILLION = 1000000 }; + int k; + pj_sha1_context context; + pj_uint8_t digest[20]; + char output[80]; + pj_pool_t *pool; + pj_uint8_t *block; + + PJ_LOG(3, (THIS_FILE, " SHA1 test vector 1 from sha1.c..")); + + for (k = 0; k < 2; k++){ + pj_sha1_init(&context); + pj_sha1_update(&context, (pj_uint8_t*)sha1_test_data[k], + pj_ansi_strlen(sha1_test_data[k])); + pj_sha1_final(&context, digest); + digest_to_hex(digest, output); + + if (pj_ansi_strcmp(output, sha1_test_results[k])) { + PJ_LOG(3, (THIS_FILE, " incorrect hash result on k=%d", k)); + return -10; + } + } + + /* million 'a' vector we feed separately */ + pj_sha1_init(&context); + for (k = 0; k < MILLION; k++) + pj_sha1_update(&context, (pj_uint8_t*)"a", 1); + pj_sha1_final(&context, digest); + digest_to_hex(digest, output); + if (strcmp(output, sha1_test_results[2])) { + PJ_LOG(3, (THIS_FILE, " incorrect hash result!")); + return -20; + } + + /* million 'a' test, using block */ + pool = pj_pool_create(mem, "sha1test", 256, 512, NULL); + block = (pj_uint8_t*)pj_pool_alloc(pool, MILLION); + pj_memset(block, 'a', MILLION); + + pj_sha1_init(&context); + pj_sha1_update(&context, block, MILLION); + pj_sha1_final(&context, digest); + digest_to_hex(digest, output); + if (strcmp(output, sha1_test_results[2])) { + pj_pool_release(pool); + PJ_LOG(3, (THIS_FILE, " incorrect hash result for block update!")); + return -21; + } + + /* verify that original buffer was not modified */ + for (k=0; k 0) { + pj_crc32_update(&ctx, (pj_uint8_t*)crc32_test_data[i].input + len/2, + len - len/2); + } + + crc1 = pj_crc32_final(&ctx); + + if (crc0 != crc1) { + PJ_LOG(3,(THIS_FILE, + " error: crc algorithm error on test %d", i)); + return -85; + } + + } + return 0; +} + +enum +{ + ENCODE = 1, + DECODE = 2, + ENCODE_DECODE = 3 +}; + +/* + * Base64 test vectors (RFC 4648) + */ +static struct base64_test_vec +{ + const char *base256; + const char *base64; + unsigned flag; +} base64_test_vec[] = +{ + { + "", + "", + ENCODE_DECODE + }, + { + "f", + "Zg==", + ENCODE_DECODE + }, + { + "fo", + "Zm8=", + ENCODE_DECODE + }, + { + "foo", + "Zm9v", + ENCODE_DECODE + }, + { + "foob", + "Zm9vYg==", + ENCODE_DECODE + }, + { + "fooba", + "Zm9vYmE=", + ENCODE_DECODE + }, + { + "foobar", + "Zm9vYmFy", + ENCODE_DECODE + }, + { + "\x14\xfb\x9c\x03\xd9\x7e", + "FPucA9l+", + ENCODE_DECODE + }, + { + "\x14\xfb\x9c\x03\xd9", + "FPucA9k=", + ENCODE_DECODE + }, + { + "\x14\xfb\x9c\x03", + "FPucAw==", + ENCODE_DECODE + }, + /* with whitespaces */ + { + "foobar", + "Zm9v\r\nYmFy", + DECODE + }, + { + "foobar", + "\nZ\r\nm 9\tv\nYm\nF\ny\n", + DECODE + }, +}; + + +static int base64_test(void) +{ + unsigned i; + char output[80]; + pj_status_t rc; + + PJ_LOG(3, (THIS_FILE, " base64 test..")); + + for (i=0; i +#include + +#define ACTION_REPLY 0 +#define ACTION_IGNORE -1 + +static struct server_t +{ + pj_sock_t sock; + pj_uint16_t port; + pj_thread_t *thread; + + /* Action: + * 0: reply with the response in resp. + * -1: ignore query (to simulate timeout). + * other: reply with that error + */ + int action; + pj_bool_t send_content_length; + unsigned data_size; + unsigned buf_size; +} g_server; + +static pj_bool_t thread_quit; +static pj_timer_heap_t *timer_heap; +static pj_ioqueue_t *ioqueue; +static pj_pool_t *pool; +static pj_http_req *http_req; +static pj_bool_t test_cancel = PJ_FALSE; +static pj_size_t total_size; +static pj_size_t send_size = 0; +static pj_status_t sstatus; +static pj_sockaddr_in addr; +static int counter = 0; + +static int server_thread(void *p) +{ + struct server_t *srv = (struct server_t*)p; + char *pkt = (char*)pj_pool_alloc(pool, srv->buf_size); + pj_sock_t newsock = PJ_INVALID_SOCKET; + + while (!thread_quit) { + pj_ssize_t pkt_len; + int rc; + pj_fd_set_t rset; + pj_time_val timeout = {0, 500}; + + while (!thread_quit) { + PJ_FD_ZERO(&rset); + PJ_FD_SET(srv->sock, &rset); + rc = pj_sock_select((int)srv->sock+1, &rset, NULL, NULL, &timeout); + if (rc != 1) { + continue; + } + + rc = pj_sock_accept(srv->sock, &newsock, NULL, NULL); + if (rc == PJ_SUCCESS) { + break; + } + } + + if (thread_quit) + break; + + while (!thread_quit) { + PJ_FD_ZERO(&rset); + PJ_FD_SET(newsock, &rset); + rc = pj_sock_select((int)newsock+1, &rset, NULL, NULL, &timeout); + if (rc != 1) { + PJ_LOG(3,("http test", "client timeout")); + continue; + } + + pkt_len = srv->buf_size; + rc = pj_sock_recv(newsock, pkt, &pkt_len, 0); + if (rc == PJ_SUCCESS) { + break; + } + } + + if (thread_quit) + break; + + /* Simulate network RTT */ + pj_thread_sleep(50); + + if (srv->action == ACTION_IGNORE) { + continue; + } else if (srv->action == ACTION_REPLY) { + pj_size_t send_size = 0; + unsigned ctr = 0; + pj_ansi_sprintf(pkt, "HTTP/1.0 200 OK\r\n"); + if (srv->send_content_length) { + pj_ansi_sprintf(pkt + pj_ansi_strlen(pkt), + "Content-Length: %d\r\n", + srv->data_size); + } + pj_ansi_sprintf(pkt + pj_ansi_strlen(pkt), "\r\n"); + pkt_len = pj_ansi_strlen(pkt); + rc = pj_sock_send(newsock, pkt, &pkt_len, 0); + if (rc != PJ_SUCCESS) { + pj_sock_close(newsock); + continue; + } + while (send_size < srv->data_size) { + pkt_len = srv->data_size - send_size; + if (pkt_len > (signed)srv->buf_size) + pkt_len = srv->buf_size; + send_size += pkt_len; + pj_create_random_string(pkt, pkt_len); + pj_ansi_sprintf(pkt, "\nPacket: %d", ++ctr); + pkt[pj_ansi_strlen(pkt)] = '\n'; + rc = pj_sock_send(newsock, pkt, &pkt_len, 0); + if (rc != PJ_SUCCESS) + break; + } + pj_sock_close(newsock); + } + } + + return 0; +} + +static void on_data_read(pj_http_req *hreq, void *data, pj_size_t size) +{ + PJ_UNUSED_ARG(hreq); + PJ_UNUSED_ARG(data); + + PJ_LOG(5, (THIS_FILE, "\nData received: %d bytes", size)); + if (size > 0) { +#ifdef VERBOSE + printf("%.*s\n", (int)size, (char *)data); +#endif + } +} + +static void on_send_data(pj_http_req *hreq, + void **data, pj_size_t *size) +{ + char *sdata; + pj_size_t sendsz = 8397; + + PJ_UNUSED_ARG(hreq); + + if (send_size + sendsz > total_size) { + sendsz = total_size - send_size; + } + send_size += sendsz; + + sdata = (char*)pj_pool_alloc(pool, sendsz); + pj_create_random_string(sdata, sendsz); + pj_ansi_sprintf(sdata, "\nSegment #%d\n", ++counter); + *data = sdata; + *size = sendsz; + + PJ_LOG(5, (THIS_FILE, "\nSending data progress: %d out of %d bytes", + send_size, total_size)); +} + + +static void on_complete(pj_http_req *hreq, pj_status_t status, + const pj_http_resp *resp) +{ + PJ_UNUSED_ARG(hreq); + + if (status == PJ_ECANCELLED) { + PJ_LOG(5, (THIS_FILE, "Request cancelled")); + return; + } else if (status == PJ_ETIMEDOUT) { + PJ_LOG(5, (THIS_FILE, "Request timed out!")); + return; + } else if (status != PJ_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Error %d", status)); + return; + } + PJ_LOG(5, (THIS_FILE, "\nData completed: %d bytes", resp->size)); + if (resp->size > 0 && resp->data) { +#ifdef VERBOSE + printf("%.*s\n", (int)resp->size, (char *)resp->data); +#endif + } +} + +static void on_response(pj_http_req *hreq, const pj_http_resp *resp) +{ + pj_size_t i; + + PJ_UNUSED_ARG(hreq); + PJ_UNUSED_ARG(resp); + PJ_UNUSED_ARG(i); + +#ifdef VERBOSE + printf("%.*s, %d, %.*s\n", STR_PREC(resp->version), + resp->status_code, STR_PREC(resp->reason)); + for (i = 0; i < resp->headers.count; i++) { + printf("%.*s : %.*s\n", + STR_PREC(resp->headers.header[i].name), + STR_PREC(resp->headers.header[i].value)); + } +#endif + + if (test_cancel) { + /* Need to delay closing the client socket here, otherwise the + * server will get SIGPIPE when sending response. + */ + pj_thread_sleep(100); + pj_http_req_cancel(hreq, PJ_TRUE); + test_cancel = PJ_FALSE; + } +} + + +pj_status_t parse_url(const char *url, pj_http_url *hurl) +{ + pj_str_t surl; + pj_status_t status; + + pj_cstr(&surl, url); + status = pj_http_req_parse_url(&surl, hurl); +#ifdef VERBOSE + if (!status) { + printf("URL: %s\nProtocol: %.*s\nHost: %.*s\nPort: %d\nPath: %.*s\n\n", + url, STR_PREC(hurl->protocol), STR_PREC(hurl->host), + hurl->port, STR_PREC(hurl->path)); + } else { + } +#endif + return status; +} + +static int parse_url_test() +{ + struct test_data + { + char *url; + pj_status_t result; + const char *username; + const char *passwd; + const char *host; + int port; + const char *path; + } test_data[] = + { + /* Simple URL without '/' in the end */ + {"http://www.pjsip.org", PJ_SUCCESS, "", "", "www.pjsip.org", 80, "/"}, + + /* Simple URL with port number but without '/' in the end */ + {"http://pjsip.org:8080", PJ_SUCCESS, "", "", "pjsip.org", 8080, "/"}, + + /* URL with path */ + {"http://127.0.0.1:280/Joomla/index.php?option=com_content&task=view&id=5&Itemid=6", + PJ_SUCCESS, "", "", "127.0.0.1", 280, + "/Joomla/index.php?option=com_content&task=view&id=5&Itemid=6"}, + + /* URL with port and path */ + {"http://pjsip.org:81/about-us/", PJ_SUCCESS, "", "", "pjsip.org", 81, "/about-us/"}, + + /* unsupported protocol */ + {"ftp://www.pjsip.org", PJ_ENOTSUP, "", "", "", 80, ""}, + + /* invalid format */ + {"http:/pjsip.org/about-us/", PJLIB_UTIL_EHTTPINURL, "", "", "", 80, ""}, + + /* invalid port number */ + {"http://pjsip.org:xyz/", PJLIB_UTIL_EHTTPINPORT, "", "", "", 80, ""}, + + /* with username and password */ + {"http://user:pass@pjsip.org", PJ_SUCCESS, "user", "pass", "pjsip.org", 80, "/"}, + + /* password only*/ + {"http://:pass@pjsip.org", PJ_SUCCESS, "", "pass", "pjsip.org", 80, "/"}, + + /* user only*/ + {"http://user:@pjsip.org", PJ_SUCCESS, "user", "", "pjsip.org", 80, "/"}, + + /* empty username and passwd*/ + {"http://:@pjsip.org", PJ_SUCCESS, "", "", "pjsip.org", 80, "/"}, + + /* '@' character in username and path */ + {"http://user@pjsip.org/@", PJ_SUCCESS, "user", "", "pjsip.org", 80, "/@"}, + + /* '@' character in path */ + {"http://pjsip.org/@", PJ_SUCCESS, "", "", "pjsip.org", 80, "/@"}, + + /* '@' character in path */ + {"http://pjsip.org/one@", PJ_SUCCESS, "", "", "pjsip.org", 80, "/one@"}, + + /* Invalid URL */ + {"http://:", PJ_EINVAL, "", "", "", 0, ""}, + + /* Invalid URL */ + {"http://@", PJ_EINVAL, "", "", "", 0, ""}, + + /* Invalid URL */ + {"http", PJ_EINVAL, "", "", "", 0, ""}, + + /* Invalid URL */ + {"http:/", PJ_EINVAL, "", "", "", 0, ""}, + + /* Invalid URL */ + {"http://", PJ_EINVAL, "", "", "", 0, ""}, + + /* Invalid URL */ + {"http:///", PJ_EINVAL, "", "", "", 0, ""}, + + /* Invalid URL */ + {"http://@/", PJ_EINVAL, "", "", "", 0, ""}, + + /* Invalid URL */ + {"http:///@", PJ_EINVAL, "", "", "", 0, ""}, + + /* Invalid URL */ + {"http://:::", PJ_EINVAL, "", "", "", 0, ""}, + }; + unsigned i; + + for (i=0; iurl)); + status = parse_url(ptd->url, &hurl); + + if (status != ptd->result) { + PJ_LOG(3,(THIS_FILE, "%d", status)); + return -11; + } + if (status != PJ_SUCCESS) + continue; + if (pj_strcmp2(&hurl.username, ptd->username)) + return -12; + if (pj_strcmp2(&hurl.passwd, ptd->passwd)) + return -13; + if (pj_strcmp2(&hurl.host, ptd->host)) + return -14; + if (hurl.port != ptd->port) + return -15; + if (pj_strcmp2(&hurl.path, ptd->path)) + return -16; + } + + return 0; +} + +/* + * GET request scenario 1: using on_response() and on_data_read() + * Server replies with content-length. Application cancels the + * request upon receiving the response, then start it again. + */ +int http_client_test1() +{ + pj_str_t url; + pj_http_req_callback hcb; + pj_http_req_param param; + char urlbuf[80]; + + pj_bzero(&hcb, sizeof(hcb)); + hcb.on_complete = &on_complete; + hcb.on_data_read = &on_data_read; + hcb.on_response = &on_response; + pj_http_req_param_default(¶m); + + /* Create pool, timer, and ioqueue */ + pool = pj_pool_create(mem, NULL, 8192, 4096, NULL); + if (pj_timer_heap_create(pool, 16, &timer_heap)) + return -31; + if (pj_ioqueue_create(pool, 16, &ioqueue)) + return -32; + +#ifdef USE_LOCAL_SERVER + + thread_quit = PJ_FALSE; + g_server.action = ACTION_REPLY; + g_server.send_content_length = PJ_TRUE; + g_server.data_size = 2970; + g_server.buf_size = 1024; + + sstatus = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, + &g_server.sock); + if (sstatus != PJ_SUCCESS) + return -41; + + pj_sockaddr_in_init(&addr, NULL, 0); + + sstatus = pj_sock_bind(g_server.sock, &addr, sizeof(addr)); + if (sstatus != PJ_SUCCESS) + return -43; + + { + pj_sockaddr_in addr; + int addr_len = sizeof(addr); + sstatus = pj_sock_getsockname(g_server.sock, &addr, &addr_len); + if (sstatus != PJ_SUCCESS) + return -44; + g_server.port = pj_sockaddr_in_get_port(&addr); + pj_ansi_snprintf(urlbuf, sizeof(urlbuf), + "http://127.0.0.1:%d/about-us/", + g_server.port); + url = pj_str(urlbuf); + } + + sstatus = pj_sock_listen(g_server.sock, 8); + if (sstatus != PJ_SUCCESS) + return -45; + + sstatus = pj_thread_create(pool, NULL, &server_thread, &g_server, + 0, 0, &g_server.thread); + if (sstatus != PJ_SUCCESS) + return -47; + +#else + pj_cstr(&url, "http://www.teluu.com/about-us/"); +#endif + + if (pj_http_req_create(pool, &url, timer_heap, ioqueue, + ¶m, &hcb, &http_req)) + return -33; + + test_cancel = PJ_TRUE; + if (pj_http_req_start(http_req)) + return -35; + + while (pj_http_req_is_running(http_req)) { + pj_time_val delay = {0, 50}; + pj_ioqueue_poll(ioqueue, &delay); + pj_timer_heap_poll(timer_heap, NULL); + } + + if (pj_http_req_start(http_req)) + return -37; + + while (pj_http_req_is_running(http_req)) { + pj_time_val delay = {0, 50}; + pj_ioqueue_poll(ioqueue, &delay); + pj_timer_heap_poll(timer_heap, NULL); + } + +#ifdef USE_LOCAL_SERVER + thread_quit = PJ_TRUE; + pj_thread_join(g_server.thread); + pj_sock_close(g_server.sock); +#endif + + pj_http_req_destroy(http_req); + pj_ioqueue_destroy(ioqueue); + pj_timer_heap_destroy(timer_heap); + pj_pool_release(pool); + + return PJ_SUCCESS; +} + +/* + * GET request scenario 2: using on_complete() to get the + * complete data. Server does not reply with content-length. + * Request timed out, application sets a longer timeout, then + * then restart the request. + */ +int http_client_test2() +{ + pj_str_t url; + pj_http_req_callback hcb; + pj_http_req_param param; + pj_time_val timeout; + char urlbuf[80]; + + pj_bzero(&hcb, sizeof(hcb)); + hcb.on_complete = &on_complete; + hcb.on_response = &on_response; + pj_http_req_param_default(¶m); + + /* Create pool, timer, and ioqueue */ + pool = pj_pool_create(mem, NULL, 8192, 4096, NULL); + if (pj_timer_heap_create(pool, 16, &timer_heap)) + return -41; + if (pj_ioqueue_create(pool, 16, &ioqueue)) + return -42; + +#ifdef USE_LOCAL_SERVER + + pj_cstr(&url, "http://127.0.0.1:380"); + param.timeout.sec = 0; + param.timeout.msec = 2000; + + thread_quit = PJ_FALSE; + g_server.action = ACTION_IGNORE; + g_server.send_content_length = PJ_FALSE; + g_server.data_size = 4173; + g_server.buf_size = 1024; + + sstatus = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, + &g_server.sock); + if (sstatus != PJ_SUCCESS) + return -41; + + pj_sockaddr_in_init(&addr, NULL, 0); + + sstatus = pj_sock_bind(g_server.sock, &addr, sizeof(addr)); + if (sstatus != PJ_SUCCESS) + return -43; + + { + pj_sockaddr_in addr; + int addr_len = sizeof(addr); + sstatus = pj_sock_getsockname(g_server.sock, &addr, &addr_len); + if (sstatus != PJ_SUCCESS) + return -44; + g_server.port = pj_sockaddr_in_get_port(&addr); + pj_ansi_snprintf(urlbuf, sizeof(urlbuf), + "http://127.0.0.1:%d", + g_server.port); + url = pj_str(urlbuf); + } + + sstatus = pj_sock_listen(g_server.sock, 8); + if (sstatus != PJ_SUCCESS) + return -45; + + sstatus = pj_thread_create(pool, NULL, &server_thread, &g_server, + 0, 0, &g_server.thread); + if (sstatus != PJ_SUCCESS) + return -47; + +#else + pj_cstr(&url, "http://www.google.com.sg"); + param.timeout.sec = 0; + param.timeout.msec = 50; +#endif + + pj_http_headers_add_elmt2(¶m.headers, (char*)"Accept", + (char*)"image/gif, image/x-xbitmap, image/jpeg, " + "image/pjpeg, application/x-ms-application," + " application/vnd.ms-xpsdocument, " + "application/xaml+xml, " + "application/x-ms-xbap, " + "application/x-shockwave-flash, " + "application/vnd.ms-excel, " + "application/vnd.ms-powerpoint, " + "application/msword, */*"); + pj_http_headers_add_elmt2(¶m.headers, (char*)"Accept-Language", + (char*)"en-sg"); + pj_http_headers_add_elmt2(¶m.headers, (char*)"User-Agent", + (char*)"Mozilla/4.0 (compatible; MSIE 7.0; " + "Windows NT 6.0; SLCC1; " + ".NET CLR 2.0.50727; " + ".NET CLR 3.0.04506)"); + if (pj_http_req_create(pool, &url, timer_heap, ioqueue, + ¶m, &hcb, &http_req)) + return -43; + + if (pj_http_req_start(http_req)) + return -45; + + while (pj_http_req_is_running(http_req)) { + pj_time_val delay = {0, 50}; + pj_ioqueue_poll(ioqueue, &delay); + pj_timer_heap_poll(timer_heap, NULL); + } + +#ifdef USE_LOCAL_SERVER + g_server.action = ACTION_REPLY; +#endif + + timeout.sec = 0; timeout.msec = 10000; + pj_http_req_set_timeout(http_req, &timeout); + if (pj_http_req_start(http_req)) + return -47; + + while (pj_http_req_is_running(http_req)) { + pj_time_val delay = {0, 50}; + pj_ioqueue_poll(ioqueue, &delay); + pj_timer_heap_poll(timer_heap, NULL); + } + +#ifdef USE_LOCAL_SERVER + thread_quit = PJ_TRUE; + pj_thread_join(g_server.thread); + pj_sock_close(g_server.sock); +#endif + + pj_http_req_destroy(http_req); + pj_ioqueue_destroy(ioqueue); + pj_timer_heap_destroy(timer_heap); + pj_pool_release(pool); + + return PJ_SUCCESS; +} + +/* + * PUT request scenario 1: sending the whole data at once + */ +int http_client_test_put1() +{ + pj_str_t url; + pj_http_req_callback hcb; + pj_http_req_param param; + char *data; + int length = 3875; + char urlbuf[80]; + + pj_bzero(&hcb, sizeof(hcb)); + hcb.on_complete = &on_complete; + hcb.on_data_read = &on_data_read; + hcb.on_response = &on_response; + + /* Create pool, timer, and ioqueue */ + pool = pj_pool_create(mem, NULL, 8192, 4096, NULL); + if (pj_timer_heap_create(pool, 16, &timer_heap)) + return -51; + if (pj_ioqueue_create(pool, 16, &ioqueue)) + return -52; + +#ifdef USE_LOCAL_SERVER + thread_quit = PJ_FALSE; + g_server.action = ACTION_REPLY; + g_server.send_content_length = PJ_TRUE; + g_server.data_size = 0; + g_server.buf_size = 4096; + + sstatus = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, + &g_server.sock); + if (sstatus != PJ_SUCCESS) + return -41; + + pj_sockaddr_in_init(&addr, NULL, 0); + + sstatus = pj_sock_bind(g_server.sock, &addr, sizeof(addr)); + if (sstatus != PJ_SUCCESS) + return -43; + + { + pj_sockaddr_in addr; + int addr_len = sizeof(addr); + sstatus = pj_sock_getsockname(g_server.sock, &addr, &addr_len); + if (sstatus != PJ_SUCCESS) + return -44; + g_server.port = pj_sockaddr_in_get_port(&addr); + pj_ansi_snprintf(urlbuf, sizeof(urlbuf), + "http://127.0.0.1:%d/test/test.txt", + g_server.port); + url = pj_str(urlbuf); + } + + sstatus = pj_sock_listen(g_server.sock, 8); + if (sstatus != PJ_SUCCESS) + return -45; + + sstatus = pj_thread_create(pool, NULL, &server_thread, &g_server, + 0, 0, &g_server.thread); + if (sstatus != PJ_SUCCESS) + return -47; + +#else + pj_cstr(&url, "http://127.0.0.1:280/test/test.txt"); + +#endif + + pj_http_req_param_default(¶m); + pj_strset2(¶m.method, (char*)"PUT"); + data = (char*)pj_pool_alloc(pool, length); + pj_create_random_string(data, length); + pj_ansi_sprintf(data, "PUT test\n"); + param.reqdata.data = data; + param.reqdata.size = length; + if (pj_http_req_create(pool, &url, timer_heap, ioqueue, + ¶m, &hcb, &http_req)) + return -53; + + if (pj_http_req_start(http_req)) + return -55; + + while (pj_http_req_is_running(http_req)) { + pj_time_val delay = {0, 50}; + pj_ioqueue_poll(ioqueue, &delay); + pj_timer_heap_poll(timer_heap, NULL); + } + +#ifdef USE_LOCAL_SERVER + thread_quit = PJ_TRUE; + pj_thread_join(g_server.thread); + pj_sock_close(g_server.sock); +#endif + + pj_http_req_destroy(http_req); + pj_ioqueue_destroy(ioqueue); + pj_timer_heap_destroy(timer_heap); + pj_pool_release(pool); + + return PJ_SUCCESS; +} + +/* + * PUT request scenario 2: using on_send_data() callback to + * sending the data in chunks + */ +int http_client_test_put2() +{ + pj_str_t url; + pj_http_req_callback hcb; + pj_http_req_param param; + char urlbuf[80]; + + pj_bzero(&hcb, sizeof(hcb)); + hcb.on_complete = &on_complete; + hcb.on_send_data = &on_send_data; + hcb.on_data_read = &on_data_read; + hcb.on_response = &on_response; + + /* Create pool, timer, and ioqueue */ + pool = pj_pool_create(mem, NULL, 8192, 4096, NULL); + if (pj_timer_heap_create(pool, 16, &timer_heap)) + return -51; + if (pj_ioqueue_create(pool, 16, &ioqueue)) + return -52; + +#ifdef USE_LOCAL_SERVER + thread_quit = PJ_FALSE; + g_server.action = ACTION_REPLY; + g_server.send_content_length = PJ_TRUE; + g_server.data_size = 0; + g_server.buf_size = 16384; + + sstatus = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, + &g_server.sock); + if (sstatus != PJ_SUCCESS) + return -41; + + pj_sockaddr_in_init(&addr, NULL, 0); + + sstatus = pj_sock_bind(g_server.sock, &addr, sizeof(addr)); + if (sstatus != PJ_SUCCESS) + return -43; + + { + pj_sockaddr_in addr; + int addr_len = sizeof(addr); + sstatus = pj_sock_getsockname(g_server.sock, &addr, &addr_len); + if (sstatus != PJ_SUCCESS) + return -44; + g_server.port = pj_sockaddr_in_get_port(&addr); + pj_ansi_snprintf(urlbuf, sizeof(urlbuf), + "http://127.0.0.1:%d/test/test2.txt", + g_server.port); + url = pj_str(urlbuf); + } + + sstatus = pj_sock_listen(g_server.sock, 8); + if (sstatus != PJ_SUCCESS) + return -45; + + sstatus = pj_thread_create(pool, NULL, &server_thread, &g_server, + 0, 0, &g_server.thread); + if (sstatus != PJ_SUCCESS) + return -47; + +#else + pj_cstr(&url, "http://127.0.0.1:280/test/test2.txt"); + +#endif + + pj_http_req_param_default(¶m); + pj_strset2(¶m.method, (char*)"PUT"); + total_size = 15383; + send_size = 0; + param.reqdata.total_size = total_size; + if (pj_http_req_create(pool, &url, timer_heap, ioqueue, + ¶m, &hcb, &http_req)) + return -53; + + if (pj_http_req_start(http_req)) + return -55; + + while (pj_http_req_is_running(http_req)) { + pj_time_val delay = {0, 50}; + pj_ioqueue_poll(ioqueue, &delay); + pj_timer_heap_poll(timer_heap, NULL); + } + +#ifdef USE_LOCAL_SERVER + thread_quit = PJ_TRUE; + pj_thread_join(g_server.thread); + pj_sock_close(g_server.sock); +#endif + + pj_http_req_destroy(http_req); + pj_ioqueue_destroy(ioqueue); + pj_timer_heap_destroy(timer_heap); + pj_pool_release(pool); + + return PJ_SUCCESS; +} + +int http_client_test_delete() +{ + pj_str_t url; + pj_http_req_callback hcb; + pj_http_req_param param; + char urlbuf[80]; + + pj_bzero(&hcb, sizeof(hcb)); + hcb.on_complete = &on_complete; + hcb.on_response = &on_response; + + /* Create pool, timer, and ioqueue */ + pool = pj_pool_create(mem, NULL, 8192, 4096, NULL); + if (pj_timer_heap_create(pool, 16, &timer_heap)) + return -61; + if (pj_ioqueue_create(pool, 16, &ioqueue)) + return -62; + +#ifdef USE_LOCAL_SERVER + thread_quit = PJ_FALSE; + g_server.action = ACTION_REPLY; + g_server.send_content_length = PJ_TRUE; + g_server.data_size = 0; + g_server.buf_size = 1024; + + sstatus = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, + &g_server.sock); + if (sstatus != PJ_SUCCESS) + return -41; + + pj_sockaddr_in_init(&addr, NULL, 0); + + sstatus = pj_sock_bind(g_server.sock, &addr, sizeof(addr)); + if (sstatus != PJ_SUCCESS) + return -43; + + { + pj_sockaddr_in addr; + int addr_len = sizeof(addr); + sstatus = pj_sock_getsockname(g_server.sock, &addr, &addr_len); + if (sstatus != PJ_SUCCESS) + return -44; + g_server.port = pj_sockaddr_in_get_port(&addr); + pj_ansi_snprintf(urlbuf, sizeof(urlbuf), + "http://127.0.0.1:%d/test/test2.txt", + g_server.port); + url = pj_str(urlbuf); + } + + sstatus = pj_sock_listen(g_server.sock, 8); + if (sstatus != PJ_SUCCESS) + return -45; + + sstatus = pj_thread_create(pool, NULL, &server_thread, &g_server, + 0, 0, &g_server.thread); + if (sstatus != PJ_SUCCESS) + return -47; + +#else + pj_cstr(&url, "http://127.0.0.1:280/test/test2.txt"); +#endif + + pj_http_req_param_default(¶m); + pj_strset2(¶m.method, (char*)"DELETE"); + if (pj_http_req_create(pool, &url, timer_heap, ioqueue, + ¶m, &hcb, &http_req)) + return -63; + + if (pj_http_req_start(http_req)) + return -65; + + while (pj_http_req_is_running(http_req)) { + pj_time_val delay = {0, 50}; + pj_ioqueue_poll(ioqueue, &delay); + pj_timer_heap_poll(timer_heap, NULL); + } + +#ifdef USE_LOCAL_SERVER + thread_quit = PJ_TRUE; + pj_thread_join(g_server.thread); + pj_sock_close(g_server.sock); +#endif + + pj_http_req_destroy(http_req); + pj_ioqueue_destroy(ioqueue); + pj_timer_heap_destroy(timer_heap); + pj_pool_release(pool); + + return PJ_SUCCESS; +} + +int http_client_test() +{ + int rc; + + PJ_LOG(3, (THIS_FILE, "..Testing URL parsing")); + rc = parse_url_test(); + if (rc) + return rc; + + PJ_LOG(3, (THIS_FILE, "..Testing GET request scenario 1")); + rc = http_client_test1(); + if (rc) + return rc; + + PJ_LOG(3, (THIS_FILE, "..Testing GET request scenario 2")); + rc = http_client_test2(); + if (rc) + return rc; + + PJ_LOG(3, (THIS_FILE, "..Testing PUT request scenario 1")); + rc = http_client_test_put1(); + if (rc) + return rc; + + PJ_LOG(3, (THIS_FILE, "..Testing PUT request scenario 2")); + rc = http_client_test_put2(); + if (rc) + return rc; + + PJ_LOG(3, (THIS_FILE, "..Testing DELETE request")); + rc = http_client_test_delete(); + if (rc) + return rc; + + return PJ_SUCCESS; +} + +#else +/* To prevent warning about "translation unit is empty" + * when this test is disabled. + */ +int dummy_http_client_test; +#endif /* INCLUDE_HTTP_CLIENT_TEST */ diff --git a/pjlib-util/src/pjlib-util-test/json_test.c b/pjlib-util/src/pjlib-util-test/json_test.c new file mode 100644 index 0000000..1b80235 --- /dev/null +++ b/pjlib-util/src/pjlib-util-test/json_test.c @@ -0,0 +1,106 @@ +/* $Id: json_test.c 4761 2014-02-24 09:02:44Z nanang $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + +#define THIS_FILE "json_test.c" + +#if INCLUDE_JSON_TEST + +#include +#include +#include + +static char json_doc1[] = +"{\ + \"Object\": {\ + \"Integer\": 800,\ + \"Negative\": -12,\ + \"Float\": -7.2,\ + \"String\": \"A\\tString with tab\",\ + \"Object2\": {\ + \"True\": true,\ + \"False\": false,\ + \"Null\": null\ + },\ + \"Array1\": [116, false, \"string\", {}],\ + \"Array2\": [\ + {\ + \"Float\": 123.,\ + },\ + {\ + \"Float\": 123.,\ + }\ + ]\ + },\ + \"Integer\": 800,\ + \"Array1\": [116, false, \"string\"]\ +}\ +"; + +static int json_verify_1() +{ + pj_pool_t *pool; + pj_json_elem *elem; + char *out_buf; + unsigned size; + pj_json_err_info err; + + pool = pj_pool_create(mem, "json", 1000, 1000, NULL); + + size = (unsigned)strlen(json_doc1); + elem = pj_json_parse(pool, json_doc1, &size, &err); + if (!elem) { + PJ_LOG(1, (THIS_FILE, " Error: json_verify_1() parse error")); + goto on_error; + } + + size = (unsigned)strlen(json_doc1) * 2; + out_buf = pj_pool_alloc(pool, size); + + if (pj_json_write(elem, out_buf, &size)) { + PJ_LOG(1, (THIS_FILE, " Error: json_verify_1() write error")); + goto on_error; + } + + PJ_LOG(3,(THIS_FILE, "Json document:\n%s", out_buf)); + pj_pool_release(pool); + return 0; + +on_error: + pj_pool_release(pool); + return 10; +} + + +int json_test(void) +{ + int rc; + + rc = json_verify_1(); + if (rc) + return rc; + + return 0; +} + + + +#else +int json_dummy; +#endif diff --git a/pjlib-util/src/pjlib-util-test/main.c b/pjlib-util/src/pjlib-util-test/main.c new file mode 100644 index 0000000..7cc9920 --- /dev/null +++ b/pjlib-util/src/pjlib-util-test/main.c @@ -0,0 +1,63 @@ +/* $Id$ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include + +#if defined(PJ_SUNOS) && PJ_SUNOS!=0 +#include +static void init_signals() +{ + struct sigaction act; + + memset(&act, 0, sizeof(act)); + act.sa_handler = SIG_IGN; + + sigaction(SIGALRM, &act, NULL); +} + +#else +#define init_signals() +#endif + +#define boost() + +int main(int argc, char *argv[]) +{ + int rc; + + PJ_UNUSED_ARG(argc); + PJ_UNUSED_ARG(argv); + + boost(); + init_signals(); + + rc = test_main(); + + if (argc==2 && pj_ansi_strcmp(argv[1], "-i")==0) { + char s[10]; + + puts("Press ENTER to quit"); + if (fgets(s, sizeof(s), stdin) == NULL) + return rc; + } + + return rc; +} + diff --git a/pjlib-util/src/pjlib-util-test/main_rtems.c b/pjlib-util/src/pjlib-util-test/main_rtems.c new file mode 100644 index 0000000..4b7b58d --- /dev/null +++ b/pjlib-util/src/pjlib-util-test/main_rtems.c @@ -0,0 +1,11 @@ + +/* + * !! OIY OIY !! + * + * The purpose of this file is only to get pjlib-util-test linked. I haven't + * actually tried to run pjlib-util-test on RTEMS!! + * + */ + + +#include "../../pjlib/src/pjlib-test/main_rtems.c" diff --git a/pjlib-util/src/pjlib-util-test/main_win32.c b/pjlib-util/src/pjlib-util-test/main_win32.c new file mode 100644 index 0000000..3043a39 --- /dev/null +++ b/pjlib-util/src/pjlib-util-test/main_win32.c @@ -0,0 +1 @@ +#include "../../pjlib/src/pjlib-test/main_win32.c" diff --git a/pjlib-util/src/pjlib-util-test/resolver_test.c b/pjlib-util/src/pjlib-util-test/resolver_test.c new file mode 100644 index 0000000..fedac1e --- /dev/null +++ b/pjlib-util/src/pjlib-util-test/resolver_test.c @@ -0,0 +1,1405 @@ +/* $Id: resolver_test.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include "test.h" + + +#define THIS_FILE "srv_resolver_test.c" + +//////////////////////////////////////////////////////////////////////////// +/* + * TODO: create various invalid DNS packets. + */ + + +//////////////////////////////////////////////////////////////////////////// + + +#define ACTION_REPLY 0 +#define ACTION_IGNORE -1 +#define ACTION_CB -2 + +static struct server_t +{ + pj_sock_t sock; + pj_uint16_t port; + pj_thread_t *thread; + + /* Action: + * 0: reply with the response in resp. + * -1: ignore query (to simulate timeout). + * other: reply with that error + */ + int action; + + pj_dns_parsed_packet resp; + void (*action_cb)(const pj_dns_parsed_packet *pkt, + pj_dns_parsed_packet **p_res); + + unsigned pkt_count; + +} g_server[2]; + +static pj_pool_t *pool; +static pj_dns_resolver *resolver; +static pj_bool_t thread_quit; +static pj_timer_heap_t *timer_heap; +static pj_ioqueue_t *ioqueue; +static pj_thread_t *poll_thread; +static pj_sem_t *sem; +static pj_dns_settings set; + +#define MAX_LABEL 32 + +struct label_tab +{ + unsigned count; + + struct { + unsigned pos; + pj_str_t label; + } a[MAX_LABEL]; +}; + +static void write16(pj_uint8_t *p, pj_uint16_t val) +{ + p[0] = (pj_uint8_t)(val >> 8); + p[1] = (pj_uint8_t)(val & 0xFF); +} + +static void write32(pj_uint8_t *p, pj_uint32_t val) +{ + val = pj_htonl(val); + pj_memcpy(p, &val, 4); +} + +static int print_name(pj_uint8_t *pkt, int size, + pj_uint8_t *pos, const pj_str_t *name, + struct label_tab *tab) +{ + pj_uint8_t *p = pos; + const char *endlabel, *endname; + unsigned i; + pj_str_t label; + + /* Check if name is in the table */ + for (i=0; icount; ++i) { + if (pj_strcmp(&tab->a[i].label, name)==0) + break; + } + + if (i != tab->count) { + write16(p, (pj_uint16_t)(tab->a[i].pos | (0xc0 << 8))); + return 2; + } else { + if (tab->count < MAX_LABEL) { + tab->a[tab->count].pos = (unsigned)(p-pkt); + tab->a[tab->count].label.ptr = (char*)(p+1); + tab->a[tab->count].label.slen = name->slen; + ++tab->count; + } + } + + endlabel = name->ptr; + endname = name->ptr + name->slen; + + label.ptr = (char*)name->ptr; + + while (endlabel != endname) { + + while (endlabel != endname && *endlabel != '.') + ++endlabel; + + label.slen = (endlabel - label.ptr); + + if (size < label.slen+1) + return -1; + + *p = (pj_uint8_t)label.slen; + pj_memcpy(p+1, label.ptr, label.slen); + + size -= (int)(label.slen+1); + p += (label.slen+1); + + if (endlabel != endname && *endlabel == '.') + ++endlabel; + label.ptr = (char*)endlabel; + } + + if (size == 0) + return -1; + + *p++ = '\0'; + + return (int)(p-pos); +} + +static int print_rr(pj_uint8_t *pkt, int size, pj_uint8_t *pos, + const pj_dns_parsed_rr *rr, struct label_tab *tab) +{ + pj_uint8_t *p = pos; + int len; + + len = print_name(pkt, size, pos, &rr->name, tab); + if (len < 0) + return -1; + + p += len; + size -= len; + + if (size < 8) + return -1; + + pj_assert(rr->dnsclass == 1); + + write16(p+0, (pj_uint16_t)rr->type); /* type */ + write16(p+2, (pj_uint16_t)rr->dnsclass); /* class */ + write32(p+4, rr->ttl); /* TTL */ + + p += 8; + size -= 8; + + if (rr->type == PJ_DNS_TYPE_A) { + + if (size < 6) + return -1; + + /* RDLEN is 4 */ + write16(p, 4); + + /* Address */ + pj_memcpy(p+2, &rr->rdata.a.ip_addr, 4); + + p += 6; + size -= 6; + + } else if (rr->type == PJ_DNS_TYPE_CNAME || + rr->type == PJ_DNS_TYPE_NS || + rr->type == PJ_DNS_TYPE_PTR) { + + if (size < 4) + return -1; + + len = print_name(pkt, size-2, p+2, &rr->rdata.cname.name, tab); + if (len < 0) + return -1; + + write16(p, (pj_uint16_t)len); + + p += (len + 2); + size -= (len + 2); + + } else if (rr->type == PJ_DNS_TYPE_SRV) { + + if (size < 10) + return -1; + + write16(p+2, rr->rdata.srv.prio); /* Priority */ + write16(p+4, rr->rdata.srv.weight); /* Weight */ + write16(p+6, rr->rdata.srv.port); /* Port */ + + /* Target */ + len = print_name(pkt, size-8, p+8, &rr->rdata.srv.target, tab); + if (len < 0) + return -1; + + /* RDLEN */ + write16(p, (pj_uint16_t)(len + 6)); + + p += (len + 8); + size -= (len + 8); + + } else { + pj_assert(!"Not supported"); + return -1; + } + + return (int)(p-pos); +} + +static int print_packet(const pj_dns_parsed_packet *rec, pj_uint8_t *pkt, + int size) +{ + pj_uint8_t *p = pkt; + struct label_tab tab; + int i, len; + + tab.count = 0; + +#if 0 + pj_enter_critical_section(); + PJ_LOG(3,(THIS_FILE, "Sending response:")); + pj_dns_dump_packet(rec); + pj_leave_critical_section(); +#endif + + pj_assert(sizeof(pj_dns_hdr)==12); + if (size < (int)sizeof(pj_dns_hdr)) + return -1; + + /* Initialize header */ + write16(p+0, rec->hdr.id); + write16(p+2, rec->hdr.flags); + write16(p+4, rec->hdr.qdcount); + write16(p+6, rec->hdr.anscount); + write16(p+8, rec->hdr.nscount); + write16(p+10, rec->hdr.arcount); + + p = pkt + sizeof(pj_dns_hdr); + size -= sizeof(pj_dns_hdr); + + /* Print queries */ + for (i=0; ihdr.qdcount; ++i) { + + len = print_name(pkt, size, p, &rec->q[i].name, &tab); + if (len < 0) + return -1; + + p += len; + size -= len; + + if (size < 4) + return -1; + + /* Set type */ + write16(p+0, (pj_uint16_t)rec->q[i].type); + + /* Set class (IN=1) */ + pj_assert(rec->q[i].dnsclass == 1); + write16(p+2, rec->q[i].dnsclass); + + p += 4; + } + + /* Print answers */ + for (i=0; ihdr.anscount; ++i) { + len = print_rr(pkt, size, p, &rec->ans[i], &tab); + if (len < 0) + return -1; + + p += len; + size -= len; + } + + /* Print NS records */ + for (i=0; ihdr.nscount; ++i) { + len = print_rr(pkt, size, p, &rec->ns[i], &tab); + if (len < 0) + return -1; + + p += len; + size -= len; + } + + /* Print additional records */ + for (i=0; ihdr.arcount; ++i) { + len = print_rr(pkt, size, p, &rec->arr[i], &tab); + if (len < 0) + return -1; + + p += len; + size -= len; + } + + return (int)(p - pkt); +} + + +static int server_thread(void *p) +{ + struct server_t *srv = (struct server_t*)p; + + while (!thread_quit) { + pj_fd_set_t rset; + pj_time_val timeout = {0, 500}; + pj_sockaddr_in src_addr; + pj_dns_parsed_packet *req; + char pkt[1024]; + pj_ssize_t pkt_len; + int rc, src_len; + + PJ_FD_ZERO(&rset); + PJ_FD_SET(srv->sock, &rset); + + rc = pj_sock_select((int)(srv->sock+1), &rset, NULL, NULL, &timeout); + if (rc != 1) + continue; + + src_len = sizeof(src_addr); + pkt_len = sizeof(pkt); + rc = pj_sock_recvfrom(srv->sock, pkt, &pkt_len, 0, + &src_addr, &src_len); + if (rc != 0) { + app_perror("Server error receiving packet", rc); + continue; + } + + PJ_LOG(5,(THIS_FILE, "Server %d processing packet", srv - &g_server[0])); + srv->pkt_count++; + + rc = pj_dns_parse_packet(pool, pkt, (unsigned)pkt_len, &req); + if (rc != PJ_SUCCESS) { + app_perror("server error parsing packet", rc); + continue; + } + + /* Verify packet */ + pj_assert(req->hdr.qdcount == 1); + pj_assert(req->q[0].dnsclass == 1); + + /* Simulate network RTT */ + pj_thread_sleep(50); + + if (srv->action == ACTION_IGNORE) { + continue; + } else if (srv->action == ACTION_REPLY) { + srv->resp.hdr.id = req->hdr.id; + pkt_len = print_packet(&srv->resp, (pj_uint8_t*)pkt, sizeof(pkt)); + pj_sock_sendto(srv->sock, pkt, &pkt_len, 0, &src_addr, src_len); + } else if (srv->action == ACTION_CB) { + pj_dns_parsed_packet *resp; + (*srv->action_cb)(req, &resp); + resp->hdr.id = req->hdr.id; + pkt_len = print_packet(resp, (pj_uint8_t*)pkt, sizeof(pkt)); + pj_sock_sendto(srv->sock, pkt, &pkt_len, 0, &src_addr, src_len); + } else if (srv->action > 0) { + req->hdr.flags |= PJ_DNS_SET_RCODE(srv->action); + pkt_len = print_packet(req, (pj_uint8_t*)pkt, sizeof(pkt)); + pj_sock_sendto(srv->sock, pkt, &pkt_len, 0, &src_addr, src_len); + } + } + + return 0; +} + +static int poll_worker_thread(void *p) +{ + PJ_UNUSED_ARG(p); + + while (!thread_quit) { + pj_time_val delay = {0, 100}; + pj_timer_heap_poll(timer_heap, NULL); + pj_ioqueue_poll(ioqueue, &delay); + } + + return 0; +} + +static void destroy(void); + +static int init(void) +{ + pj_status_t status; + pj_str_t nameservers[2]; + pj_uint16_t ports[2]; + int i; + + nameservers[0] = pj_str("127.0.0.1"); + ports[0] = 5553; + nameservers[1] = pj_str("127.0.0.1"); + ports[1] = 5554; + + g_server[0].port = ports[0]; + g_server[1].port = ports[1]; + + pool = pj_pool_create(mem, NULL, 2000, 2000, NULL); + + status = pj_sem_create(pool, NULL, 0, 2, &sem); + pj_assert(status == PJ_SUCCESS); + + for (i=0; i<2; ++i) { + pj_sockaddr_in addr; + + status = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &g_server[i].sock); + if (status != PJ_SUCCESS) + return -10; + + pj_sockaddr_in_init(&addr, NULL, (pj_uint16_t)g_server[i].port); + + status = pj_sock_bind(g_server[i].sock, &addr, sizeof(addr)); + if (status != PJ_SUCCESS) + return -20; + + status = pj_thread_create(pool, NULL, &server_thread, &g_server[i], + 0, 0, &g_server[i].thread); + if (status != PJ_SUCCESS) + return -30; + } + + status = pj_timer_heap_create(pool, 16, &timer_heap); + pj_assert(status == PJ_SUCCESS); + + status = pj_ioqueue_create(pool, 16, &ioqueue); + pj_assert(status == PJ_SUCCESS); + + status = pj_dns_resolver_create(mem, NULL, 0, timer_heap, ioqueue, &resolver); + if (status != PJ_SUCCESS) + return -40; + + pj_dns_resolver_get_settings(resolver, &set); + set.good_ns_ttl = 20; + set.bad_ns_ttl = 20; + pj_dns_resolver_set_settings(resolver, &set); + + status = pj_dns_resolver_set_ns(resolver, 2, nameservers, ports); + pj_assert(status == PJ_SUCCESS); + + status = pj_thread_create(pool, NULL, &poll_worker_thread, NULL, 0, 0, &poll_thread); + pj_assert(status == PJ_SUCCESS); + + return 0; +} + + +static void destroy(void) +{ + int i; + + thread_quit = PJ_TRUE; + + for (i=0; i<2; ++i) { + pj_thread_join(g_server[i].thread); + pj_sock_close(g_server[i].sock); + } + + pj_thread_join(poll_thread); + + pj_dns_resolver_destroy(resolver, PJ_FALSE); + pj_ioqueue_destroy(ioqueue); + pj_timer_heap_destroy(timer_heap); + + pj_sem_destroy(sem); + pj_pool_release(pool); +} + + +//////////////////////////////////////////////////////////////////////////// +/* DNS A parser tests */ +static int a_parser_test(void) +{ + pj_dns_parsed_packet pkt; + pj_dns_a_record rec; + pj_status_t rc; + + PJ_LOG(3,(THIS_FILE, " DNS A record parser tests")); + + pkt.q = PJ_POOL_ZALLOC_T(pool, pj_dns_parsed_query); + pkt.ans = (pj_dns_parsed_rr*) + pj_pool_calloc(pool, 32, sizeof(pj_dns_parsed_rr)); + + /* Simple answer with direct A record, but with addition of + * a CNAME and another A to confuse the parser. + */ + PJ_LOG(3,(THIS_FILE, " A RR with duplicate CNAME/A")); + pkt.hdr.flags = 0; + pkt.hdr.qdcount = 1; + pkt.q[0].type = PJ_DNS_TYPE_A; + pkt.q[0].dnsclass = 1; + pkt.q[0].name = pj_str("ahost"); + pkt.hdr.anscount = 3; + + /* This is the RR corresponding to the query */ + pkt.ans[0].name = pj_str("ahost"); + pkt.ans[0].type = PJ_DNS_TYPE_A; + pkt.ans[0].dnsclass = 1; + pkt.ans[0].ttl = 1; + pkt.ans[0].rdata.a.ip_addr.s_addr = 0x01020304; + + /* CNAME to confuse the parser */ + pkt.ans[1].name = pj_str("ahost"); + pkt.ans[1].type = PJ_DNS_TYPE_CNAME; + pkt.ans[1].dnsclass = 1; + pkt.ans[1].ttl = 1; + pkt.ans[1].rdata.cname.name = pj_str("bhost"); + + /* DNS A RR to confuse the parser */ + pkt.ans[2].name = pj_str("bhost"); + pkt.ans[2].type = PJ_DNS_TYPE_A; + pkt.ans[2].dnsclass = 1; + pkt.ans[2].ttl = 1; + pkt.ans[2].rdata.a.ip_addr.s_addr = 0x0203; + + + rc = pj_dns_parse_a_response(&pkt, &rec); + pj_assert(rc == PJ_SUCCESS); + pj_assert(pj_strcmp2(&rec.name, "ahost")==0); + pj_assert(rec.alias.slen == 0); + pj_assert(rec.addr_count == 1); + pj_assert(rec.addr[0].s_addr == 0x01020304); + + /* Answer with the target corresponds to a CNAME entry, but not + * as the first record, and with additions of some CNAME and A + * entries to confuse the parser. + */ + PJ_LOG(3,(THIS_FILE, " CNAME RR with duplicate CNAME/A")); + pkt.hdr.flags = 0; + pkt.hdr.qdcount = 1; + pkt.q[0].type = PJ_DNS_TYPE_A; + pkt.q[0].dnsclass = 1; + pkt.q[0].name = pj_str("ahost"); + pkt.hdr.anscount = 4; + + /* This is the DNS A record for the alias */ + pkt.ans[0].name = pj_str("ahostalias"); + pkt.ans[0].type = PJ_DNS_TYPE_A; + pkt.ans[0].dnsclass = 1; + pkt.ans[0].ttl = 1; + pkt.ans[0].rdata.a.ip_addr.s_addr = 0x02020202; + + /* CNAME entry corresponding to the query */ + pkt.ans[1].name = pj_str("ahost"); + pkt.ans[1].type = PJ_DNS_TYPE_CNAME; + pkt.ans[1].dnsclass = 1; + pkt.ans[1].ttl = 1; + pkt.ans[1].rdata.cname.name = pj_str("ahostalias"); + + /* Another CNAME to confuse the parser */ + pkt.ans[2].name = pj_str("ahost"); + pkt.ans[2].type = PJ_DNS_TYPE_CNAME; + pkt.ans[2].dnsclass = 1; + pkt.ans[2].ttl = 1; + pkt.ans[2].rdata.cname.name = pj_str("ahostalias2"); + + /* Another DNS A to confuse the parser */ + pkt.ans[3].name = pj_str("ahostalias2"); + pkt.ans[3].type = PJ_DNS_TYPE_A; + pkt.ans[3].dnsclass = 1; + pkt.ans[3].ttl = 1; + pkt.ans[3].rdata.a.ip_addr.s_addr = 0x03030303; + + rc = pj_dns_parse_a_response(&pkt, &rec); + pj_assert(rc == PJ_SUCCESS); + pj_assert(pj_strcmp2(&rec.name, "ahost")==0); + pj_assert(pj_strcmp2(&rec.alias, "ahostalias")==0); + pj_assert(rec.addr_count == 1); + pj_assert(rec.addr[0].s_addr == 0x02020202); + + /* + * No query section. + */ + PJ_LOG(3,(THIS_FILE, " No query section")); + pkt.hdr.qdcount = 0; + pkt.hdr.anscount = 0; + + rc = pj_dns_parse_a_response(&pkt, &rec); + pj_assert(rc == PJLIB_UTIL_EDNSINANSWER); + + /* + * No answer section. + */ + PJ_LOG(3,(THIS_FILE, " No answer section")); + pkt.hdr.flags = 0; + pkt.hdr.qdcount = 1; + pkt.q[0].type = PJ_DNS_TYPE_A; + pkt.q[0].dnsclass = 1; + pkt.q[0].name = pj_str("ahost"); + pkt.hdr.anscount = 0; + + rc = pj_dns_parse_a_response(&pkt, &rec); + pj_assert(rc == PJLIB_UTIL_EDNSNOANSWERREC); + + /* + * Answer doesn't match query. + */ + PJ_LOG(3,(THIS_FILE, " Answer doesn't match query")); + pkt.hdr.flags = 0; + pkt.hdr.qdcount = 1; + pkt.q[0].type = PJ_DNS_TYPE_A; + pkt.q[0].dnsclass = 1; + pkt.q[0].name = pj_str("ahost"); + pkt.hdr.anscount = 1; + + /* An answer that doesn't match the query */ + pkt.ans[0].name = pj_str("ahostalias"); + pkt.ans[0].type = PJ_DNS_TYPE_A; + pkt.ans[0].dnsclass = 1; + pkt.ans[0].ttl = 1; + pkt.ans[0].rdata.a.ip_addr.s_addr = 0x02020202; + + rc = pj_dns_parse_a_response(&pkt, &rec); + pj_assert(rc == PJLIB_UTIL_EDNSNOANSWERREC); + + + /* + * DNS CNAME that doesn't have corresponding DNS A. + */ + PJ_LOG(3,(THIS_FILE, " CNAME with no matching DNS A RR (1)")); + pkt.hdr.flags = 0; + pkt.hdr.qdcount = 1; + pkt.q[0].type = PJ_DNS_TYPE_A; + pkt.q[0].dnsclass = 1; + pkt.q[0].name = pj_str("ahost"); + pkt.hdr.anscount = 1; + + /* The CNAME */ + pkt.ans[0].name = pj_str("ahost"); + pkt.ans[0].type = PJ_DNS_TYPE_CNAME; + pkt.ans[0].dnsclass = 1; + pkt.ans[0].ttl = 1; + pkt.ans[0].rdata.cname.name = pj_str("ahostalias"); + + rc = pj_dns_parse_a_response(&pkt, &rec); + pj_assert(rc == PJLIB_UTIL_EDNSNOANSWERREC); + + + /* + * DNS CNAME that doesn't have corresponding DNS A. + */ + PJ_LOG(3,(THIS_FILE, " CNAME with no matching DNS A RR (2)")); + pkt.hdr.flags = 0; + pkt.hdr.qdcount = 1; + pkt.q[0].type = PJ_DNS_TYPE_A; + pkt.q[0].dnsclass = 1; + pkt.q[0].name = pj_str("ahost"); + pkt.hdr.anscount = 2; + + /* The CNAME */ + pkt.ans[0].name = pj_str("ahost"); + pkt.ans[0].type = PJ_DNS_TYPE_CNAME; + pkt.ans[0].dnsclass = 1; + pkt.ans[0].ttl = 1; + pkt.ans[0].rdata.cname.name = pj_str("ahostalias"); + + /* DNS A record, but the name doesn't match */ + pkt.ans[1].name = pj_str("ahost"); + pkt.ans[1].type = PJ_DNS_TYPE_A; + pkt.ans[1].dnsclass = 1; + pkt.ans[1].ttl = 1; + pkt.ans[1].rdata.a.ip_addr.s_addr = 0x01020304; + + rc = pj_dns_parse_a_response(&pkt, &rec); + pj_assert(rc == PJLIB_UTIL_EDNSNOANSWERREC); + + return 0; +} + + +//////////////////////////////////////////////////////////////////////////// +/* Simple DNS test */ +#define IP_ADDR0 0x00010203 + +static void dns_callback(void *user_data, + pj_status_t status, + pj_dns_parsed_packet *resp) +{ + PJ_UNUSED_ARG(user_data); + + pj_sem_post(sem); + + PJ_ASSERT_ON_FAIL(status == PJ_SUCCESS, return); + PJ_ASSERT_ON_FAIL(resp, return); + PJ_ASSERT_ON_FAIL(resp->hdr.anscount == 1, return); + PJ_ASSERT_ON_FAIL(resp->ans[0].type == PJ_DNS_TYPE_A, return); + PJ_ASSERT_ON_FAIL(resp->ans[0].rdata.a.ip_addr.s_addr == IP_ADDR0, return); + +} + + +static int simple_test(void) +{ + pj_str_t name = pj_str("helloworld"); + pj_dns_parsed_packet *r; + pj_status_t status; + + PJ_LOG(3,(THIS_FILE, " simple successful test")); + + g_server[0].pkt_count = 0; + g_server[1].pkt_count = 0; + + g_server[0].action = ACTION_REPLY; + r = &g_server[0].resp; + r->hdr.qdcount = 1; + r->hdr.anscount = 1; + r->q = PJ_POOL_ZALLOC_T(pool, pj_dns_parsed_query); + r->q[0].type = PJ_DNS_TYPE_A; + r->q[0].dnsclass = 1; + r->q[0].name = name; + r->ans = PJ_POOL_ZALLOC_T(pool, pj_dns_parsed_rr); + r->ans[0].type = PJ_DNS_TYPE_A; + r->ans[0].dnsclass = 1; + r->ans[0].name = name; + r->ans[0].rdata.a.ip_addr.s_addr = IP_ADDR0; + + g_server[1].action = ACTION_REPLY; + r = &g_server[1].resp; + r->hdr.qdcount = 1; + r->hdr.anscount = 1; + r->q = PJ_POOL_ZALLOC_T(pool, pj_dns_parsed_query); + r->q[0].type = PJ_DNS_TYPE_A; + r->q[0].dnsclass = 1; + r->q[0].name = name; + r->ans = PJ_POOL_ZALLOC_T(pool, pj_dns_parsed_rr); + r->ans[0].type = PJ_DNS_TYPE_A; + r->ans[0].dnsclass = 1; + r->ans[0].name = name; + r->ans[0].rdata.a.ip_addr.s_addr = IP_ADDR0; + + status = pj_dns_resolver_start_query(resolver, &name, PJ_DNS_TYPE_A, 0, + &dns_callback, NULL, NULL); + if (status != PJ_SUCCESS) + return -1000; + + pj_sem_wait(sem); + pj_thread_sleep(1000); + + + /* Both servers must get packet */ + pj_assert(g_server[0].pkt_count == 1); + pj_assert(g_server[1].pkt_count == 1); + + return 0; +} + + +//////////////////////////////////////////////////////////////////////////// +/* DNS nameserver fail-over test */ + +static void dns_callback_1b(void *user_data, + pj_status_t status, + pj_dns_parsed_packet *resp) +{ + PJ_UNUSED_ARG(user_data); + PJ_UNUSED_ARG(resp); + + pj_sem_post(sem); + + PJ_ASSERT_ON_FAIL(status==PJ_STATUS_FROM_DNS_RCODE(PJ_DNS_RCODE_NXDOMAIN), + return); +} + + + + +/* DNS test */ +static int dns_test(void) +{ + pj_str_t name = pj_str("name00"); + pj_status_t status; + + PJ_LOG(3,(THIS_FILE, " simple error response test")); + + g_server[0].pkt_count = 0; + g_server[1].pkt_count = 0; + + g_server[0].action = PJ_DNS_RCODE_NXDOMAIN; + g_server[1].action = PJ_DNS_RCODE_NXDOMAIN; + + status = pj_dns_resolver_start_query(resolver, &name, PJ_DNS_TYPE_A, 0, + &dns_callback_1b, NULL, NULL); + if (status != PJ_SUCCESS) + return -1000; + + pj_sem_wait(sem); + pj_thread_sleep(1000); + + /* Now only server 0 should get packet, since both servers are + * in STATE_ACTIVE state + */ + pj_assert((g_server[0].pkt_count == 1 && g_server[1].pkt_count == 0) || + (g_server[1].pkt_count == 1 && g_server[0].pkt_count == 0)); + + /* Wait to allow probing period to complete */ + PJ_LOG(3,(THIS_FILE, " waiting for active NS to expire (%d sec)", + set.good_ns_ttl)); + pj_thread_sleep(set.good_ns_ttl * 1000); + + /* + * Fail-over test + */ + PJ_LOG(3,(THIS_FILE, " failing server0")); + g_server[0].action = ACTION_IGNORE; + g_server[1].action = PJ_DNS_RCODE_NXDOMAIN; + + g_server[0].pkt_count = 0; + g_server[1].pkt_count = 0; + + name = pj_str("name01"); + status = pj_dns_resolver_start_query(resolver, &name, PJ_DNS_TYPE_A, 0, + &dns_callback_1b, NULL, NULL); + if (status != PJ_SUCCESS) + return -1000; + + pj_sem_wait(sem); + + /* + * Check that both servers still receive requests, since they are + * in probing state. + */ + PJ_LOG(3,(THIS_FILE, " checking both NS during probing period")); + g_server[0].action = ACTION_IGNORE; + g_server[1].action = PJ_DNS_RCODE_NXDOMAIN; + + g_server[0].pkt_count = 0; + g_server[1].pkt_count = 0; + + name = pj_str("name02"); + status = pj_dns_resolver_start_query(resolver, &name, PJ_DNS_TYPE_A, 0, + &dns_callback_1b, NULL, NULL); + if (status != PJ_SUCCESS) + return -1000; + + pj_sem_wait(sem); + pj_thread_sleep(set.qretr_delay * set.qretr_count); + + /* Both servers must get requests */ + pj_assert(g_server[0].pkt_count >= 1); + pj_assert(g_server[1].pkt_count == 1); + + /* Wait to allow probing period to complete */ + PJ_LOG(3,(THIS_FILE, " waiting for probing state to end (%d sec)", + set.qretr_delay * + (set.qretr_count+2) / 1000)); + pj_thread_sleep(set.qretr_delay * (set.qretr_count + 2)); + + + /* + * Now only server 1 should get requests. + */ + PJ_LOG(3,(THIS_FILE, " verifying only good NS is used")); + g_server[0].action = PJ_DNS_RCODE_NXDOMAIN; + g_server[1].action = PJ_DNS_RCODE_NXDOMAIN; + + g_server[0].pkt_count = 0; + g_server[1].pkt_count = 0; + + name = pj_str("name03"); + status = pj_dns_resolver_start_query(resolver, &name, PJ_DNS_TYPE_A, 0, + &dns_callback_1b, NULL, NULL); + if (status != PJ_SUCCESS) + return -1000; + + pj_sem_wait(sem); + pj_thread_sleep(1000); + + /* Both servers must get requests */ + pj_assert(g_server[0].pkt_count == 0); + pj_assert(g_server[1].pkt_count == 1); + + /* Wait to allow probing period to complete */ + PJ_LOG(3,(THIS_FILE, " waiting for active NS to expire (%d sec)", + set.good_ns_ttl)); + pj_thread_sleep(set.good_ns_ttl * 1000); + + /* + * Now fail server 1 to switch to server 0 + */ + g_server[0].action = PJ_DNS_RCODE_NXDOMAIN; + g_server[1].action = ACTION_IGNORE; + + g_server[0].pkt_count = 0; + g_server[1].pkt_count = 0; + + name = pj_str("name04"); + status = pj_dns_resolver_start_query(resolver, &name, PJ_DNS_TYPE_A, 0, + &dns_callback_1b, NULL, NULL); + if (status != PJ_SUCCESS) + return -1000; + + pj_sem_wait(sem); + + /* Wait to allow probing period to complete */ + PJ_LOG(3,(THIS_FILE, " waiting for probing state (%d sec)", + set.qretr_delay * (set.qretr_count+2) / 1000)); + pj_thread_sleep(set.qretr_delay * (set.qretr_count + 2)); + + /* + * Now only server 0 should get requests. + */ + PJ_LOG(3,(THIS_FILE, " verifying good NS")); + g_server[0].action = PJ_DNS_RCODE_NXDOMAIN; + g_server[1].action = ACTION_IGNORE; + + g_server[0].pkt_count = 0; + g_server[1].pkt_count = 0; + + name = pj_str("name05"); + status = pj_dns_resolver_start_query(resolver, &name, PJ_DNS_TYPE_A, 0, + &dns_callback_1b, NULL, NULL); + if (status != PJ_SUCCESS) + return -1000; + + pj_sem_wait(sem); + pj_thread_sleep(1000); + + /* Only good NS should get request */ + pj_assert(g_server[0].pkt_count == 1); + pj_assert(g_server[1].pkt_count == 0); + + + return 0; +} + + +//////////////////////////////////////////////////////////////////////////// +/* Resolver test, normal, with CNAME */ +#define IP_ADDR1 0x02030405 +#define PORT1 50061 + +static void action1_1(const pj_dns_parsed_packet *pkt, + pj_dns_parsed_packet **p_res) +{ + pj_dns_parsed_packet *res; + char *target = "sip.somedomain.com"; + + res = PJ_POOL_ZALLOC_T(pool, pj_dns_parsed_packet); + + if (res->q == NULL) { + res->q = PJ_POOL_ZALLOC_T(pool, pj_dns_parsed_query); + } + if (res->ans == NULL) { + res->ans = (pj_dns_parsed_rr*) + pj_pool_calloc(pool, 4, sizeof(pj_dns_parsed_rr)); + } + + res->hdr.qdcount = 1; + res->q[0].type = pkt->q[0].type; + res->q[0].dnsclass = pkt->q[0].dnsclass; + res->q[0].name = pkt->q[0].name; + + if (pkt->q[0].type == PJ_DNS_TYPE_SRV) { + + pj_assert(pj_strcmp2(&pkt->q[0].name, "_sip._udp.somedomain.com")==0); + + res->hdr.anscount = 1; + res->ans[0].type = PJ_DNS_TYPE_SRV; + res->ans[0].dnsclass = 1; + res->ans[0].name = res->q[0].name; + res->ans[0].ttl = 1; + res->ans[0].rdata.srv.prio = 1; + res->ans[0].rdata.srv.weight = 2; + res->ans[0].rdata.srv.port = PORT1; + res->ans[0].rdata.srv.target = pj_str(target); + + } else if (pkt->q[0].type == PJ_DNS_TYPE_A) { + char *alias = "sipalias.somedomain.com"; + + pj_assert(pj_strcmp2(&res->q[0].name, target)==0); + + res->hdr.anscount = 2; + res->ans[0].type = PJ_DNS_TYPE_CNAME; + res->ans[0].dnsclass = 1; + res->ans[0].ttl = 1000; /* resolver should select minimum TTL */ + res->ans[0].name = res->q[0].name; + res->ans[0].rdata.cname.name = pj_str(alias); + + res->ans[1].type = PJ_DNS_TYPE_A; + res->ans[1].dnsclass = 1; + res->ans[1].ttl = 1; + res->ans[1].name = pj_str(alias); + res->ans[1].rdata.a.ip_addr.s_addr = IP_ADDR1; + } + + *p_res = res; +} + +static void srv_cb_1(void *user_data, + pj_status_t status, + const pj_dns_srv_record *rec) +{ + PJ_UNUSED_ARG(user_data); + + pj_sem_post(sem); + + PJ_ASSERT_ON_FAIL(status == PJ_SUCCESS, return); + PJ_ASSERT_ON_FAIL(rec->count == 1, return); + PJ_ASSERT_ON_FAIL(rec->entry[0].priority == 1, return); + PJ_ASSERT_ON_FAIL(rec->entry[0].weight == 2, return); + PJ_ASSERT_ON_FAIL(pj_strcmp2(&rec->entry[0].server.name, "sip.somedomain.com")==0, + return); + PJ_ASSERT_ON_FAIL(pj_strcmp2(&rec->entry[0].server.alias, "sipalias.somedomain.com")==0, + return); + PJ_ASSERT_ON_FAIL(rec->entry[0].server.addr[0].s_addr == IP_ADDR1, return); + PJ_ASSERT_ON_FAIL(rec->entry[0].port == PORT1, return); + + +} + +static void srv_cb_1b(void *user_data, + pj_status_t status, + const pj_dns_srv_record *rec) +{ + PJ_UNUSED_ARG(user_data); + + pj_sem_post(sem); + + PJ_ASSERT_ON_FAIL(status==PJ_STATUS_FROM_DNS_RCODE(PJ_DNS_RCODE_NXDOMAIN), + return); + PJ_ASSERT_ON_FAIL(rec->count == 0, return); +} + +static int srv_resolver_test(void) +{ + pj_status_t status; + pj_str_t domain = pj_str("somedomain.com"); + pj_str_t res_name = pj_str("_sip._udp."); + + /* Successful scenario */ + PJ_LOG(3,(THIS_FILE, " srv_resolve(): success scenario")); + + g_server[0].action = ACTION_CB; + g_server[0].action_cb = &action1_1; + g_server[1].action = ACTION_CB; + g_server[1].action_cb = &action1_1; + + g_server[0].pkt_count = 0; + g_server[1].pkt_count = 0; + + status = pj_dns_srv_resolve(&domain, &res_name, 5061, pool, resolver, PJ_TRUE, + NULL, &srv_cb_1, NULL); + pj_assert(status == PJ_SUCCESS); + + pj_sem_wait(sem); + + /* Because of previous tests, only NS 1 should get the request */ + pj_assert(g_server[0].pkt_count == 2); /* 2 because of SRV and A resolution */ + pj_assert(g_server[1].pkt_count == 0); + + + /* Wait until cache expires and nameserver state moves out from STATE_PROBING */ + PJ_LOG(3,(THIS_FILE, " waiting for cache to expire (~15 secs)..")); + pj_thread_sleep(1000 + + ((set.qretr_count + 2) * set.qretr_delay)); + + /* Successful scenario */ + PJ_LOG(3,(THIS_FILE, " srv_resolve(): parallel queries")); + g_server[0].pkt_count = 0; + g_server[1].pkt_count = 0; + + status = pj_dns_srv_resolve(&domain, &res_name, 5061, pool, resolver, PJ_TRUE, + NULL, &srv_cb_1, NULL); + pj_assert(status == PJ_SUCCESS); + + + status = pj_dns_srv_resolve(&domain, &res_name, 5061, pool, resolver, PJ_TRUE, + NULL, &srv_cb_1, NULL); + pj_assert(status == PJ_SUCCESS); + + pj_sem_wait(sem); + pj_sem_wait(sem); + + /* Only server one should get a query */ + pj_assert(g_server[0].pkt_count == 2); /* 2 because of SRV and A resolution */ + pj_assert(g_server[1].pkt_count == 0); + + /* Since TTL is one, subsequent queries should fail */ + PJ_LOG(3,(THIS_FILE, " srv_resolve(): cache expires scenario")); + + + pj_thread_sleep(1000); + + g_server[0].action = PJ_DNS_RCODE_NXDOMAIN; + g_server[1].action = PJ_DNS_RCODE_NXDOMAIN; + + status = pj_dns_srv_resolve(&domain, &res_name, 5061, pool, resolver, PJ_TRUE, + NULL, &srv_cb_1b, NULL); + pj_assert(status == PJ_SUCCESS); + + pj_sem_wait(sem); + + return 0; +} + + +//////////////////////////////////////////////////////////////////////////// +/* Fallback because there's no SRV in answer */ +#define TARGET "domain2.com" +#define IP_ADDR2 0x02030405 +#define PORT2 50062 + +static void action2_1(const pj_dns_parsed_packet *pkt, + pj_dns_parsed_packet **p_res) +{ + pj_dns_parsed_packet *res; + + res = PJ_POOL_ZALLOC_T(pool, pj_dns_parsed_packet); + + res->q = PJ_POOL_ZALLOC_T(pool, pj_dns_parsed_query); + res->ans = (pj_dns_parsed_rr*) + pj_pool_calloc(pool, 4, sizeof(pj_dns_parsed_rr)); + + res->hdr.qdcount = 1; + res->q[0].type = pkt->q[0].type; + res->q[0].dnsclass = pkt->q[0].dnsclass; + res->q[0].name = pkt->q[0].name; + + if (pkt->q[0].type == PJ_DNS_TYPE_SRV) { + + pj_assert(pj_strcmp2(&pkt->q[0].name, "_sip._udp." TARGET)==0); + + res->hdr.anscount = 1; + res->ans[0].type = PJ_DNS_TYPE_A; // <-- this will cause the fallback + res->ans[0].dnsclass = 1; + res->ans[0].name = res->q[0].name; + res->ans[0].ttl = 1; + res->ans[0].rdata.srv.prio = 1; + res->ans[0].rdata.srv.weight = 2; + res->ans[0].rdata.srv.port = PORT2; + res->ans[0].rdata.srv.target = pj_str("sip01." TARGET); + + } else if (pkt->q[0].type == PJ_DNS_TYPE_A) { + char *alias = "sipalias01." TARGET; + + pj_assert(pj_strcmp2(&res->q[0].name, TARGET)==0); + + res->hdr.anscount = 2; + res->ans[0].type = PJ_DNS_TYPE_CNAME; + res->ans[0].dnsclass = 1; + res->ans[0].name = res->q[0].name; + res->ans[0].ttl = 1; + res->ans[0].rdata.cname.name = pj_str(alias); + + res->ans[1].type = PJ_DNS_TYPE_A; + res->ans[1].dnsclass = 1; + res->ans[1].name = pj_str(alias); + res->ans[1].ttl = 1; + res->ans[1].rdata.a.ip_addr.s_addr = IP_ADDR2; + } + + *p_res = res; +} + +static void srv_cb_2(void *user_data, + pj_status_t status, + const pj_dns_srv_record *rec) +{ + PJ_UNUSED_ARG(user_data); + + pj_sem_post(sem); + + PJ_ASSERT_ON_FAIL(status == PJ_SUCCESS, return); + PJ_ASSERT_ON_FAIL(rec->count == 1, return); + PJ_ASSERT_ON_FAIL(rec->entry[0].priority == 0, return); + PJ_ASSERT_ON_FAIL(rec->entry[0].weight == 0, return); + PJ_ASSERT_ON_FAIL(pj_strcmp2(&rec->entry[0].server.name, TARGET)==0, + return); + PJ_ASSERT_ON_FAIL(pj_strcmp2(&rec->entry[0].server.alias, "sipalias01." TARGET)==0, + return); + PJ_ASSERT_ON_FAIL(rec->entry[0].server.addr[0].s_addr == IP_ADDR2, return); + PJ_ASSERT_ON_FAIL(rec->entry[0].port == PORT2, return); +} + +static int srv_resolver_fallback_test(void) +{ + pj_status_t status; + pj_str_t domain = pj_str(TARGET); + pj_str_t res_name = pj_str("_sip._udp."); + + PJ_LOG(3,(THIS_FILE, " srv_resolve(): fallback test")); + + g_server[0].action = ACTION_CB; + g_server[0].action_cb = &action2_1; + g_server[1].action = ACTION_CB; + g_server[1].action_cb = &action2_1; + + status = pj_dns_srv_resolve(&domain, &res_name, PORT2, pool, resolver, PJ_TRUE, + NULL, &srv_cb_2, NULL); + if (status != PJ_SUCCESS) { + app_perror(" srv_resolve error", status); + pj_assert(status == PJ_SUCCESS); + } + + pj_sem_wait(sem); + + /* Subsequent query should just get the response from the cache */ + PJ_LOG(3,(THIS_FILE, " srv_resolve(): cache test")); + g_server[0].pkt_count = 0; + g_server[1].pkt_count = 0; + + status = pj_dns_srv_resolve(&domain, &res_name, PORT2, pool, resolver, PJ_TRUE, + NULL, &srv_cb_2, NULL); + if (status != PJ_SUCCESS) { + app_perror(" srv_resolve error", status); + pj_assert(status == PJ_SUCCESS); + } + + pj_sem_wait(sem); + + pj_assert(g_server[0].pkt_count == 0); + pj_assert(g_server[1].pkt_count == 0); + + return 0; +} + + +//////////////////////////////////////////////////////////////////////////// +/* Too many SRV or A entries */ +#define DOMAIN3 "d3" +#define SRV_COUNT3 (PJ_DNS_SRV_MAX_ADDR+1) +#define A_COUNT3 (PJ_DNS_MAX_IP_IN_A_REC+1) +#define PORT3 50063 +#define IP_ADDR3 0x03030303 + +static void action3_1(const pj_dns_parsed_packet *pkt, + pj_dns_parsed_packet **p_res) +{ + pj_dns_parsed_packet *res; + unsigned i; + + res = PJ_POOL_ZALLOC_T(pool, pj_dns_parsed_packet); + + if (res->q == NULL) { + res->q = PJ_POOL_ZALLOC_T(pool, pj_dns_parsed_query); + } + + res->hdr.qdcount = 1; + res->q[0].type = pkt->q[0].type; + res->q[0].dnsclass = pkt->q[0].dnsclass; + res->q[0].name = pkt->q[0].name; + + if (pkt->q[0].type == PJ_DNS_TYPE_SRV) { + + pj_assert(pj_strcmp2(&pkt->q[0].name, "_sip._udp." DOMAIN3)==0); + + res->hdr.anscount = SRV_COUNT3; + res->ans = (pj_dns_parsed_rr*) + pj_pool_calloc(pool, SRV_COUNT3, sizeof(pj_dns_parsed_rr)); + + for (i=0; ians[i].type = PJ_DNS_TYPE_SRV; + res->ans[i].dnsclass = 1; + res->ans[i].name = res->q[0].name; + res->ans[i].ttl = 1; + res->ans[i].rdata.srv.prio = (pj_uint16_t)i; + res->ans[i].rdata.srv.weight = 2; + res->ans[i].rdata.srv.port = (pj_uint16_t)(PORT3+i); + + target = (char*)pj_pool_alloc(pool, 16); + sprintf(target, "sip%02d." DOMAIN3, i); + res->ans[i].rdata.srv.target = pj_str(target); + } + + } else if (pkt->q[0].type == PJ_DNS_TYPE_A) { + + //pj_assert(pj_strcmp2(&res->q[0].name, "sip." DOMAIN3)==0); + + res->hdr.anscount = A_COUNT3; + res->ans = (pj_dns_parsed_rr*) + pj_pool_calloc(pool, A_COUNT3, sizeof(pj_dns_parsed_rr)); + + for (i=0; ians[i].type = PJ_DNS_TYPE_A; + res->ans[i].dnsclass = 1; + res->ans[i].ttl = 1; + res->ans[i].name = res->q[0].name; + res->ans[i].rdata.a.ip_addr.s_addr = IP_ADDR3+i; + } + } + + *p_res = res; +} + +static void srv_cb_3(void *user_data, + pj_status_t status, + const pj_dns_srv_record *rec) +{ + unsigned i; + + PJ_UNUSED_ARG(user_data); + PJ_UNUSED_ARG(status); + PJ_UNUSED_ARG(rec); + + pj_assert(status == PJ_SUCCESS); + pj_assert(rec->count == PJ_DNS_SRV_MAX_ADDR); + + for (i=0; ientry[i].priority == i); + pj_assert(rec->entry[i].weight == 2); + //pj_assert(pj_strcmp2(&rec->entry[i].server.name, "sip." DOMAIN3)==0); + pj_assert(rec->entry[i].server.alias.slen == 0); + pj_assert(rec->entry[i].port == PORT3+i); + + pj_assert(rec->entry[i].server.addr_count == PJ_DNS_MAX_IP_IN_A_REC); + + for (j=0; jentry[i].server.addr[j].s_addr == IP_ADDR3+j); + } + } + + pj_sem_post(sem); +} + +static int srv_resolver_many_test(void) +{ + pj_status_t status; + pj_str_t domain = pj_str(DOMAIN3); + pj_str_t res_name = pj_str("_sip._udp."); + + /* Successful scenario */ + PJ_LOG(3,(THIS_FILE, " srv_resolve(): too many entries test")); + + g_server[0].action = ACTION_CB; + g_server[0].action_cb = &action3_1; + g_server[1].action = ACTION_CB; + g_server[1].action_cb = &action3_1; + + g_server[0].pkt_count = 0; + g_server[1].pkt_count = 0; + + status = pj_dns_srv_resolve(&domain, &res_name, 1, pool, resolver, PJ_TRUE, + NULL, &srv_cb_3, NULL); + pj_assert(status == PJ_SUCCESS); + + pj_sem_wait(sem); + + return 0; +} + + +//////////////////////////////////////////////////////////////////////////// + + +int resolver_test(void) +{ + int rc; + + rc = init(); + if (rc != 0) + goto on_error; + + rc = a_parser_test(); + if (rc != 0) + goto on_error; + + rc = simple_test(); + if (rc != 0) + goto on_error; + + rc = dns_test(); + if (rc != 0) + goto on_error; + + srv_resolver_test(); + srv_resolver_fallback_test(); + srv_resolver_many_test(); + + destroy(); + return 0; + +on_error: + destroy(); + return rc; +} + + diff --git a/pjlib-util/src/pjlib-util-test/stun.c b/pjlib-util/src/pjlib-util-test/stun.c new file mode 100644 index 0000000..dbd2d17 --- /dev/null +++ b/pjlib-util/src/pjlib-util-test/stun.c @@ -0,0 +1,119 @@ +/* $Id: stun.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +static int decode_test(void) +{ + /* Invalid message type */ + + /* Short message */ + + /* Long, random message */ + + /* Message length in header is shorter */ + + /* Message length in header is longer */ + + /* Invalid magic */ + + /* Attribute length is not valid */ + + /* Unknown mandatory attribute type should generate error */ + + /* Unknown but non-mandatory should be okay */ + + /* String/binary attribute length is larger than the message */ + + /* Valid message with MESSAGE-INTEGRITY */ + + /* Valid message with FINGERPRINT */ + + /* Valid message with MESSAGE-INTEGRITY and FINGERPRINT */ + + /* Another attribute not FINGERPRINT exists after MESSAGE-INTEGRITY */ + + /* Another attribute exists after FINGERPRINT */ + + return 0; +} + +static int decode_verify(void) +{ + /* Decode all attribute types */ + return 0; +} + +static int auth_test(void) +{ + /* REALM and USERNAME is present, but MESSAGE-INTEGRITY is not present. + * For short term, must with reply 401 without REALM. + * For long term, must reply with 401 with REALM. + */ + + /* USERNAME is not present, server must respond with 432 (Missing + * Username). + */ + + /* If long term credential is wanted and REALM is not present, server + * must respond with 434 (Missing Realm) + */ + + /* If REALM doesn't match, server must respond with 434 (Missing Realm) + * too, containing REALM and NONCE attribute. + */ + + /* When long term authentication is wanted and NONCE is NOT present, + * server must respond with 435 (Missing Nonce), containing REALM and + * NONCE attribute. + */ + + /* Simulate 438 (Stale Nonce) */ + + /* Simulate 436 (Unknown Username) */ + + /* When server wants to use short term credential, but request has + * REALM, reject with .... ??? + */ + + /* Invalid HMAC */ + + /* Valid static short term, without NONCE */ + + /* Valid static short term, WITH NONCE */ + + /* Valid static long term (with NONCE */ + + /* Valid dynamic short term (without NONCE) */ + + /* Valid dynamic short term (with NONCE) */ + + /* Valid dynamic long term (with NONCE) */ + + return 0; +} + + +int stun_test(void) +{ + decode_verify(); + decode_test(); + auth_test(); + return 0; +} + diff --git a/pjlib-util/src/pjlib-util-test/test.c b/pjlib-util/src/pjlib-util-test/test.c new file mode 100644 index 0000000..223d57d --- /dev/null +++ b/pjlib-util/src/pjlib-util-test/test.c @@ -0,0 +1,116 @@ +/* $Id$ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include +#include + +void app_perror(const char *msg, pj_status_t rc) +{ + char errbuf[256]; + + PJ_CHECK_STACK(); + + pj_strerror(rc, errbuf, sizeof(errbuf)); + PJ_LOG(1,("test", "%s: [pj_status_t=%d] %s", msg, rc, errbuf)); +} + +#define DO_TEST(test) do { \ + PJ_LOG(3, ("test", "Running %s...", #test)); \ + rc = test; \ + PJ_LOG(3, ("test", \ + "%s(%d)", \ + (char*)(rc ? "..ERROR" : "..success"), rc)); \ + if (rc!=0) goto on_return; \ + } while (0) + + +pj_pool_factory *mem; + +int param_log_decor = PJ_LOG_HAS_NEWLINE | PJ_LOG_HAS_TIME | + PJ_LOG_HAS_MICRO_SEC; + +static int test_inner(void) +{ + pj_caching_pool caching_pool; + int rc = 0; + + mem = &caching_pool.factory; + + pj_log_set_level(3); + pj_log_set_decor(param_log_decor); + + rc = pj_init(); + if (rc != 0) { + app_perror("pj_init() error!!", rc); + return rc; + } + + rc = pjlib_util_init(); + pj_assert(rc == 0); + + pj_dump_config(); + pj_caching_pool_init( &caching_pool, &pj_pool_factory_default_policy, 0 ); + +#if INCLUDE_XML_TEST + DO_TEST(xml_test()); +#endif + +#if INCLUDE_JSON_TEST + DO_TEST(json_test()); +#endif + +#if INCLUDE_ENCRYPTION_TEST + DO_TEST(encryption_test()); + DO_TEST(encryption_benchmark()); +#endif + +#if INCLUDE_STUN_TEST + DO_TEST(stun_test()); +#endif + +#if INCLUDE_RESOLVER_TEST + DO_TEST(resolver_test()); +#endif + +#if INCLUDE_HTTP_CLIENT_TEST + DO_TEST(http_client_test()); +#endif + +on_return: + return rc; +} + +int test_main(void) +{ + PJ_USE_EXCEPTION; + + PJ_TRY { + return test_inner(); + } + PJ_CATCH_ANY { + int id = PJ_GET_EXCEPTION(); + PJ_LOG(3,("test", "FATAL: unhandled exception id %d (%s)", + id, pj_exception_id_name(id))); + } + PJ_END; + + return -1; +} + diff --git a/pjlib-util/src/pjlib-util-test/test.h b/pjlib-util/src/pjlib-util-test/test.h new file mode 100644 index 0000000..b0e77c7 --- /dev/null +++ b/pjlib-util/src/pjlib-util-test/test.h @@ -0,0 +1,40 @@ +/* $Id$ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include + +#define INCLUDE_XML_TEST 1 +#define INCLUDE_JSON_TEST 1 +#define INCLUDE_ENCRYPTION_TEST 1 +#define INCLUDE_STUN_TEST 1 +#define INCLUDE_RESOLVER_TEST 1 +#define INCLUDE_HTTP_CLIENT_TEST 1 + +extern int xml_test(void); +extern int json_test(void); +extern int encryption_test(); +extern int encryption_benchmark(); +extern int stun_test(); +extern int test_main(void); +extern int resolver_test(void); +extern int http_client_test(); + +extern void app_perror(const char *title, pj_status_t rc); +extern pj_pool_factory *mem; + diff --git a/pjlib-util/src/pjlib-util-test/xml.c b/pjlib-util/src/pjlib-util-test/xml.c new file mode 100644 index 0000000..19733a1 --- /dev/null +++ b/pjlib-util/src/pjlib-util-test/xml.c @@ -0,0 +1,145 @@ +/* $Id: xml.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + + +#if INCLUDE_XML_TEST + +#include +#include + +#define THIS_FILE "xml_test" + +static const char *xml_doc[] = +{ +" \n" +" \n" +"\n" +" \n" +" \n" +" open\n" +" assistant\n" +" \n" +" \n" +" true\n" +" false\n" +" true\n" +" \n" +" tel:09012345678\n" +" \n" +"\n" +" \n" +" \n" +" open\n" +" \n" +" im:pep@example.com\n" +" \n" +"\n" +" \n" +" \n" +" closed\n" +" meeting\n" +" \n" +" http://example.com/~pep/\n" +" http://example.com/~pep/icon.gif\n" +" http://example.com/~pep/card.vcd\n" +" sip:pep@example.com\n" +" \n" +"\n" +" Full state presence document\n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n" +" \n" +} +; + +static int xml_parse_print_test(const char *doc) +{ + pj_str_t msg; + pj_pool_t *pool; + pj_xml_node *root; + char *output; + int output_len; + + pool = pj_pool_create(mem, "xml", 4096, 1024, NULL); + pj_strdup2(pool, &msg, doc); + root = pj_xml_parse(pool, msg.ptr, msg.slen); + if (!root) { + PJ_LOG(1, (THIS_FILE, " Error: unable to parse XML")); + return -10; + } + + output = (char*)pj_pool_zalloc(pool, msg.slen + 512); + output_len = pj_xml_print(root, output, msg.slen+512, PJ_TRUE); + if (output_len < 1) { + PJ_LOG(1, (THIS_FILE, " Error: buffer too small to print XML file")); + return -20; + } + output[output_len] = '\0'; + + + pj_pool_release(pool); + return 0; +} + +int xml_test() +{ + unsigned i; + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + +#define INV -1 +#define PADDING '=' + +static const char base64_char[] = { + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', + 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', + 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', + 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', + 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', + 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', '+', '/' +}; + +static int base256_char(char c) +{ + if (c >= 'A' && c <= 'Z') + return (c - 'A'); + else if (c >= 'a' && c <= 'z') + return (c - 'a' + 26); + else if (c >= '0' && c <= '9') + return (c - '0' + 52); + else if (c == '+') + return (62); + else if (c == '/') + return (63); + else { + /* It *may* happen on bad input, so this is not a good idea. + * pj_assert(!"Should not happen as '=' should have been filtered"); + */ + return INV; + } +} + + +static void base256to64(pj_uint8_t c1, pj_uint8_t c2, pj_uint8_t c3, + int padding, char *output) +{ + *output++ = base64_char[c1>>2]; + *output++ = base64_char[((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4)]; + switch (padding) { + case 0: + *output++ = base64_char[((c2 & 0xF) << 2) | ((c3 & 0xC0) >>6)]; + *output = base64_char[c3 & 0x3F]; + break; + case 1: + *output++ = base64_char[((c2 & 0xF) << 2) | ((c3 & 0xC0) >>6)]; + *output = PADDING; + break; + case 2: + default: + *output++ = PADDING; + *output = PADDING; + break; + } +} + + +PJ_DEF(pj_status_t) pj_base64_encode(const pj_uint8_t *input, int in_len, + char *output, int *out_len) +{ + const pj_uint8_t *pi = input; + pj_uint8_t c1, c2, c3; + int i = 0; + char *po = output; + + PJ_ASSERT_RETURN(input && output && out_len, PJ_EINVAL); + PJ_ASSERT_RETURN(*out_len >= PJ_BASE256_TO_BASE64_LEN(in_len), + PJ_ETOOSMALL); + + while (i < in_len) { + c1 = *pi++; + ++i; + + if (i == in_len) { + base256to64(c1, 0, 0, 2, po); + po += 4; + break; + } else { + c2 = *pi++; + ++i; + + if (i == in_len) { + base256to64(c1, c2, 0, 1, po); + po += 4; + break; + } else { + c3 = *pi++; + ++i; + base256to64(c1, c2, c3, 0, po); + } + } + + po += 4; + } + + *out_len = (int)(po - output); + return PJ_SUCCESS; +} + + +PJ_DEF(pj_status_t) pj_base64_decode(const pj_str_t *input, + pj_uint8_t *out, int *out_len) +{ + const char *buf = input->ptr; + int len = (int)input->slen; + int i, j, k; + int c[4]; + + PJ_ASSERT_RETURN(input && out && out_len, PJ_EINVAL); + + while (buf[len-1] == '=' && len) + --len; + + PJ_ASSERT_RETURN(*out_len >= PJ_BASE64_TO_BASE256_LEN(len), + PJ_ETOOSMALL); + + for (i=0, j=0; i 1) { + out[j++] = (pj_uint8_t)((c[0]<<2) | ((c[1] & 0x30)>>4)); + if (k > 2) { + out[j++] = (pj_uint8_t) + (((c[1] & 0x0F)<<4) | ((c[2] & 0x3C)>>2)); + } + } + break; + } + + out[j++] = (pj_uint8_t)((c[0]<<2) | ((c[1] & 0x30)>>4)); + out[j++] = (pj_uint8_t)(((c[1] & 0x0F)<<4) | ((c[2] & 0x3C)>>2)); + out[j++] = (pj_uint8_t)(((c[2] & 0x03)<<6) | (c[3] & 0x3F)); + } + + pj_assert(j < *out_len); + *out_len = j; + + return PJ_SUCCESS; +} + + diff --git a/pjlib-util/src/pjlib-util/cli.c b/pjlib-util/src/pjlib-util/cli.c new file mode 100644 index 0000000..50e1d20 --- /dev/null +++ b/pjlib-util/src/pjlib-util/cli.c @@ -0,0 +1,1350 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define CMD_HASH_TABLE_SIZE 63 /* Hash table size */ + +#define CLI_CMD_CHANGE_LOG 30000 +#define CLI_CMD_EXIT 30001 + +#define MAX_CMD_HASH_NAME_LENGTH PJ_CLI_MAX_CMDBUF +#define MAX_CMD_ID_LENGTH 16 + +#if 1 + /* Enable some tracing */ + #define THIS_FILE "cli.c" + #define TRACE_(arg) PJ_LOG(3,arg) +#else + #define TRACE_(arg) +#endif + +/** + * This structure describes the full specification of a CLI command. A CLI + * command mainly consists of the name of the command, zero or more arguments, + * and a callback function to be called to execute the command. + * + * Application can create this specification by forming an XML document and + * calling pj_cli_add_cmd_from_xml() to instantiate the spec. A sample XML + * document containing a command spec is as follows: + * + \verbatim + + + + + + \endverbatim + */ +struct pj_cli_cmd_spec +{ + /** + * To make list of child cmds. + */ + PJ_DECL_LIST_MEMBER(struct pj_cli_cmd_spec); + + /** + * Command ID assigned to this command by the application during command + * creation. If this value is PJ_CLI_CMD_ID_GROUP (-2), then this is + * a command group and it can't be executed. + */ + pj_cli_cmd_id id; + + /** + * The command name. + */ + pj_str_t name; + + /** + * The full description of the command. + */ + pj_str_t desc; + + /** + * Number of optional shortcuts + */ + unsigned sc_cnt; + + /** + * Optional array of shortcuts, if any. Shortcut is a short name version + * of the command. If the command doesn't have any shortcuts, this + * will be initialized to NULL. + */ + pj_str_t *sc; + + /** + * The command handler, to be executed when a command matching this command + * specification is invoked by the end user. The value may be NULL if this + * is a command group. + */ + pj_cli_cmd_handler handler; + + /** + * Number of arguments. + */ + unsigned arg_cnt; + + /** + * Array of arguments. + */ + pj_cli_arg_spec *arg; + + /** + * Child commands, if any. A command will only have subcommands if it is + * a group. If the command doesn't have subcommands, this field will be + * initialized with NULL. + */ + pj_cli_cmd_spec *sub_cmd; +}; + +struct pj_cli_t +{ + pj_pool_t *pool; /* Pool to allocate memory from */ + pj_cli_cfg cfg; /* CLI configuration */ + pj_cli_cmd_spec root; /* Root of command tree structure */ + pj_cli_front_end fe_head; /* List of front-ends */ + pj_hash_table_t *cmd_name_hash; /* Command name hash table, this will + include the command name and shortcut + as hash key */ + pj_hash_table_t *cmd_id_hash; /* Command id hash table */ + + pj_bool_t is_quitting; + pj_bool_t is_restarting; +}; + +/** + * Reserved command id constants. + */ +typedef enum pj_cli_std_cmd_id +{ + /** + * Constant to indicate an invalid command id. + */ + PJ_CLI_INVALID_CMD_ID = -1, + + /** + * A special command id to indicate that a command id denotes + * a command group. + */ + PJ_CLI_CMD_ID_GROUP = -2 + +} pj_cli_std_cmd_id; + +/** + * This describes the type of an argument (pj_cli_arg_spec). + */ +typedef enum pj_cli_arg_type +{ + /** + * Unformatted string. + */ + PJ_CLI_ARG_TEXT, + + /** + * An integral number. + */ + PJ_CLI_ARG_INT, + + /** + * Choice type + */ + PJ_CLI_ARG_CHOICE + +} pj_cli_arg_type; + +struct arg_type +{ + const pj_str_t msg; +} arg_type[3] = +{ + {{"Text", 4}}, + {{"Int", 3}}, + {{"Choice", 6}} +}; + +/** + * This structure describe the specification of a command argument. + */ +struct pj_cli_arg_spec +{ + /** + * Argument id + */ + pj_cli_arg_id id; + + /** + * Argument name. + */ + pj_str_t name; + + /** + * Helpful description of the argument. This text will be used when + * displaying help texts for the command/argument. + */ + pj_str_t desc; + + /** + * Argument type, which will be used for rendering the argument and + * to perform basic validation against an input value. + */ + pj_cli_arg_type type; + + /** + * Argument status + */ + pj_bool_t optional; + + /** + * Validate choice values + */ + pj_bool_t validate; + + /** + * Static Choice Values count + */ + unsigned stat_choice_cnt; + + /** + * Static Choice Values + */ + pj_cli_arg_choice_val *stat_choice_val; + + /** + * Argument callback to get the valid values + */ + pj_cli_get_dyn_choice get_dyn_choice; + +}; + +/** + * This describe the parse mode of the command line + */ +typedef enum pj_cli_parse_mode { + PARSE_NONE, + PARSE_COMPLETION, /* Complete the command line */ + PARSE_NEXT_AVAIL, /* Find the next available command line */ + PARSE_EXEC /* Exec the command line */ +} pj_cli_parse_mode; + +/** + * This is used to get the matched command/argument from the + * command/argument structure. + * + * @param sess The session on which the command is execute on. + * @param cmd The active command. + * @param cmd_val The command value to match. + * @param argc The number of argument that the + * current active command have. + * @param pool The memory pool to allocate memory. + * @param get_cmd Set true to search matching command from sub command. + * @param parse_mode The parse mode. + * @param p_cmd The command that mathes the command value. + * @param info The output information containing any hints for + * matching command/arg. + * @return This function return the status of the + * matching process.Please see the return value + * of pj_cli_sess_parse() for possible return values. + */ +static pj_status_t get_available_cmds(pj_cli_sess *sess, + pj_cli_cmd_spec *cmd, + pj_str_t *cmd_val, + unsigned argc, + pj_pool_t *pool, + pj_bool_t get_cmd, + pj_cli_parse_mode parse_mode, + pj_cli_cmd_spec **p_cmd, + pj_cli_exec_info *info); + +PJ_DEF(pj_cli_cmd_id) pj_cli_get_cmd_id(const pj_cli_cmd_spec *cmd) +{ + return cmd->id; +} + +PJ_DEF(void) pj_cli_cfg_default(pj_cli_cfg *param) +{ + pj_assert(param); + pj_bzero(param, sizeof(*param)); + pj_strset2(¶m->name, ""); +} + +PJ_DEF(void) pj_cli_exec_info_default(pj_cli_exec_info *param) +{ + pj_assert(param); + pj_bzero(param, sizeof(*param)); + param->err_pos = -1; + param->cmd_id = PJ_CLI_INVALID_CMD_ID; + param->cmd_ret = PJ_SUCCESS; +} + +PJ_DEF(void) pj_cli_write_log(pj_cli_t *cli, + int level, + const char *buffer, + int len) +{ + struct pj_cli_front_end *fe; + + pj_assert(cli); + + fe = cli->fe_head.next; + while (fe != &cli->fe_head) { + if (fe->op && fe->op->on_write_log) + (*fe->op->on_write_log)(fe, level, buffer, len); + fe = fe->next; + } +} + +PJ_DEF(void) pj_cli_sess_write_msg(pj_cli_sess *sess, + const char *buffer, + pj_size_t len) +{ + struct pj_cli_front_end *fe; + + pj_assert(sess); + + fe = sess->fe; + if (fe->op && fe->op->on_write_log) + (*fe->op->on_write_log)(fe, 0, buffer, len); +} + +/* Command handler */ +static pj_status_t cmd_handler(pj_cli_cmd_val *cval) +{ + unsigned level; + + switch(cval->cmd->id) { + case CLI_CMD_CHANGE_LOG: + level = pj_strtoul(&cval->argv[1]); + if (!level && cval->argv[1].slen > 0 && (cval->argv[1].ptr[0] < '0' || + cval->argv[1].ptr[0] > '9')) + { + return PJ_CLI_EINVARG; + } + cval->sess->log_level = level; + return PJ_SUCCESS; + case CLI_CMD_EXIT: + pj_cli_sess_end_session(cval->sess); + return PJ_CLI_EEXIT; + default: + return PJ_SUCCESS; + } +} + +PJ_DEF(pj_status_t) pj_cli_create(pj_cli_cfg *cfg, + pj_cli_t **p_cli) +{ + pj_pool_t *pool; + pj_cli_t *cli; + unsigned i; + + /* This is an example of the command structure */ + char* cmd_xmls[] = { + "" + " " + "", + "" + "", + }; + + PJ_ASSERT_RETURN(cfg && cfg->pf && p_cli, PJ_EINVAL); + + pool = pj_pool_create(cfg->pf, "cli", PJ_CLI_POOL_SIZE, + PJ_CLI_POOL_INC, NULL); + if (!pool) + return PJ_ENOMEM; + cli = PJ_POOL_ZALLOC_T(pool, struct pj_cli_t); + + pj_memcpy(&cli->cfg, cfg, sizeof(*cfg)); + cli->pool = pool; + pj_list_init(&cli->fe_head); + + cli->cmd_name_hash = pj_hash_create(pool, CMD_HASH_TABLE_SIZE); + cli->cmd_id_hash = pj_hash_create(pool, CMD_HASH_TABLE_SIZE); + + cli->root.sub_cmd = PJ_POOL_ZALLOC_T(pool, pj_cli_cmd_spec); + pj_list_init(cli->root.sub_cmd); + + /* Register some standard commands. */ + for (i = 0; i < sizeof(cmd_xmls)/sizeof(cmd_xmls[0]); i++) { + pj_str_t xml = pj_str(cmd_xmls[i]); + + if (pj_cli_add_cmd_from_xml(cli, NULL, &xml, + &cmd_handler, NULL, NULL) != PJ_SUCCESS) + { + TRACE_((THIS_FILE, "Failed to add command #%d", i)); + } + } + + *p_cli = cli; + + return PJ_SUCCESS; +} + +PJ_DEF(pj_cli_cfg*) pj_cli_get_param(pj_cli_t *cli) +{ + PJ_ASSERT_RETURN(cli, NULL); + + return &cli->cfg; +} + +PJ_DEF(void) pj_cli_register_front_end(pj_cli_t *cli, + pj_cli_front_end *fe) +{ + pj_list_push_back(&cli->fe_head, fe); +} + +PJ_DEF(void) pj_cli_quit(pj_cli_t *cli, pj_cli_sess *req, + pj_bool_t restart) +{ + pj_cli_front_end *fe; + + pj_assert(cli); + if (cli->is_quitting) + return; + + cli->is_quitting = PJ_TRUE; + cli->is_restarting = restart; + + fe = cli->fe_head.next; + while (fe != &cli->fe_head) { + if (fe->op && fe->op->on_quit) + (*fe->op->on_quit)(fe, req); + fe = fe->next; + } +} + +PJ_DEF(pj_bool_t) pj_cli_is_quitting(pj_cli_t *cli) +{ + PJ_ASSERT_RETURN(cli, PJ_FALSE); + + return cli->is_quitting; +} + +PJ_DEF(pj_bool_t) pj_cli_is_restarting(pj_cli_t *cli) +{ + PJ_ASSERT_RETURN(cli, PJ_FALSE); + + return cli->is_restarting; +} + +PJ_DEF(void) pj_cli_destroy(pj_cli_t *cli) +{ + pj_cli_front_end *fe; + + if (!cli) + return; + + if (!pj_cli_is_quitting(cli)) + pj_cli_quit(cli, NULL, PJ_FALSE); + + fe = cli->fe_head.next; + while (fe != &cli->fe_head) { + pj_list_erase(fe); + if (fe->op && fe->op->on_destroy) + (*fe->op->on_destroy)(fe); + + fe = cli->fe_head.next; + } + cli->is_quitting = PJ_FALSE; + pj_pool_release(cli->pool); +} + +PJ_DEF(void) pj_cli_sess_end_session(pj_cli_sess *sess) +{ + pj_assert(sess); + + if (sess->op && sess->op->destroy) + (*sess->op->destroy)(sess); +} + +/* Syntax error handler for parser. */ +static void on_syntax_error(pj_scanner *scanner) +{ + PJ_UNUSED_ARG(scanner); + PJ_THROW(PJ_EINVAL); +} + +/* Get the command from the command hash */ +static pj_cli_cmd_spec *get_cmd_name(const pj_cli_t *cli, + const pj_cli_cmd_spec *group, + const pj_str_t *cmd) +{ + pj_str_t cmd_val; + char cmd_ptr[MAX_CMD_HASH_NAME_LENGTH]; + + cmd_val.ptr = cmd_ptr; + cmd_val.slen = 0; + + if (group) { + char cmd_str[MAX_CMD_ID_LENGTH]; + pj_ansi_sprintf(cmd_str, "%d", group->id); + pj_strcat2(&cmd_val, cmd_str); + } + pj_strcat(&cmd_val, cmd); + return (pj_cli_cmd_spec *)pj_hash_get(cli->cmd_name_hash, cmd_val.ptr, + (unsigned)cmd_val.slen, NULL); +} + +/* Add command to the command hash */ +static void add_cmd_name(pj_cli_t *cli, pj_cli_cmd_spec *group, + pj_cli_cmd_spec *cmd, pj_str_t *cmd_name) +{ + pj_str_t cmd_val; + pj_str_t add_cmd; + char cmd_ptr[MAX_CMD_HASH_NAME_LENGTH]; + + cmd_val.ptr = cmd_ptr; + cmd_val.slen = 0; + + if (group) { + char cmd_str[MAX_CMD_ID_LENGTH]; + pj_ansi_sprintf(cmd_str, "%d", group->id); + pj_strcat2(&cmd_val, cmd_str); + } + pj_strcat(&cmd_val, cmd_name); + pj_strdup(cli->pool, &add_cmd, &cmd_val); + + pj_hash_set(cli->pool, cli->cmd_name_hash, cmd_val.ptr, + (unsigned)cmd_val.slen, 0, cmd); +} + +/** + * This method is to parse and add the choice type + * argument values to command structure. + **/ +static pj_status_t add_choice_node(pj_cli_t *cli, + pj_xml_node *xml_node, + pj_cli_arg_spec *arg, + pj_cli_get_dyn_choice get_choice) +{ + pj_xml_node *choice_node; + pj_xml_node *sub_node; + pj_cli_arg_choice_val choice_values[PJ_CLI_MAX_CHOICE_VAL]; + pj_status_t status = PJ_SUCCESS; + + sub_node = xml_node; + arg->type = PJ_CLI_ARG_CHOICE; + arg->get_dyn_choice = get_choice; + + choice_node = sub_node->node_head.next; + while (choice_node != (pj_xml_node*)&sub_node->node_head) { + pj_xml_attr *choice_attr; + unsigned *stat_cnt = &arg->stat_choice_cnt; + pj_cli_arg_choice_val *choice_val = &choice_values[*stat_cnt]; + pj_bzero(choice_val, sizeof(*choice_val)); + + choice_attr = choice_node->attr_head.next; + while (choice_attr != &choice_node->attr_head) { + if (!pj_stricmp2(&choice_attr->name, "value")) { + pj_strassign(&choice_val->value, &choice_attr->value); + } else if (!pj_stricmp2(&choice_attr->name, "desc")) { + pj_strassign(&choice_val->desc, &choice_attr->value); + } + choice_attr = choice_attr->next; + } + if (++(*stat_cnt) >= PJ_CLI_MAX_CHOICE_VAL) + break; + choice_node = choice_node->next; + } + if (arg->stat_choice_cnt > 0) { + unsigned i; + + arg->stat_choice_val = (pj_cli_arg_choice_val *) + pj_pool_zalloc(cli->pool, + arg->stat_choice_cnt * + sizeof(pj_cli_arg_choice_val)); + + for (i = 0; i < arg->stat_choice_cnt; i++) { + pj_strdup(cli->pool, &arg->stat_choice_val[i].value, + &choice_values[i].value); + pj_strdup(cli->pool, &arg->stat_choice_val[i].desc, + &choice_values[i].desc); + } + } + return status; +} + +/** + * This method is to parse and add the argument attribute to command structure. + **/ +static pj_status_t add_arg_node(pj_cli_t *cli, + pj_xml_node *xml_node, + pj_cli_cmd_spec *cmd, + pj_cli_arg_spec *arg, + pj_cli_get_dyn_choice get_choice) +{ + pj_xml_attr *attr; + pj_status_t status = PJ_SUCCESS; + pj_xml_node *sub_node = xml_node; + + if (cmd->arg_cnt >= PJ_CLI_MAX_ARGS) + return PJ_CLI_ETOOMANYARGS; + + pj_bzero(arg, sizeof(*arg)); + attr = sub_node->attr_head.next; + arg->optional = PJ_FALSE; + arg->validate = PJ_TRUE; + while (attr != &sub_node->attr_head) { + if (!pj_stricmp2(&attr->name, "name")) { + pj_strassign(&arg->name, &attr->value); + } else if (!pj_stricmp2(&attr->name, "id")) { + arg->id = pj_strtol(&attr->value); + } else if (!pj_stricmp2(&attr->name, "type")) { + if (!pj_stricmp2(&attr->value, "text")) { + arg->type = PJ_CLI_ARG_TEXT; + } else if (!pj_stricmp2(&attr->value, "int")) { + arg->type = PJ_CLI_ARG_INT; + } else if (!pj_stricmp2(&attr->value, "choice")) { + /* Get choice value */ + add_choice_node(cli, xml_node, arg, get_choice); + } + } else if (!pj_stricmp2(&attr->name, "desc")) { + pj_strassign(&arg->desc, &attr->value); + } else if (!pj_stricmp2(&attr->name, "optional")) { + if (!pj_strcmp2(&attr->value, "1")) { + arg->optional = PJ_TRUE; + } + } else if (!pj_stricmp2(&attr->name, "validate")) { + if (!pj_strcmp2(&attr->value, "1")) { + arg->validate = PJ_TRUE; + } else { + arg->validate = PJ_FALSE; + } + } + attr = attr->next; + } + cmd->arg_cnt++; + return status; +} + +/** + * This method is to parse and add the command attribute to command structure. + **/ +static pj_status_t add_cmd_node(pj_cli_t *cli, + pj_cli_cmd_spec *group, + pj_xml_node *xml_node, + pj_cli_cmd_handler handler, + pj_cli_cmd_spec **p_cmd, + pj_cli_get_dyn_choice get_choice) +{ + pj_xml_node *root = xml_node; + pj_xml_attr *attr; + pj_xml_node *sub_node; + pj_cli_cmd_spec *cmd; + pj_cli_arg_spec args[PJ_CLI_MAX_ARGS]; + pj_str_t sc[PJ_CLI_MAX_SHORTCUTS]; + pj_status_t status = PJ_SUCCESS; + + if (pj_stricmp2(&root->name, "CMD")) + return PJ_EINVAL; + + /* Initialize the command spec */ + cmd = PJ_POOL_ZALLOC_T(cli->pool, struct pj_cli_cmd_spec); + + /* Get the command attributes */ + attr = root->attr_head.next; + while (attr != &root->attr_head) { + if (!pj_stricmp2(&attr->name, "name")) { + pj_strltrim(&attr->value); + if (!attr->value.slen || + (get_cmd_name(cli, group, &attr->value))) + { + return PJ_CLI_EBADNAME; + } + pj_strdup(cli->pool, &cmd->name, &attr->value); + } else if (!pj_stricmp2(&attr->name, "id")) { + pj_bool_t is_valid = PJ_FALSE; + if (attr->value.slen) { + pj_cli_cmd_id cmd_id = pj_strtol(&attr->value); + if (!pj_hash_get(cli->cmd_id_hash, &cmd_id, + sizeof(pj_cli_cmd_id), NULL)) + is_valid = PJ_TRUE; + } + if (!is_valid) + return PJ_CLI_EBADID; + cmd->id = (pj_cli_cmd_id)pj_strtol(&attr->value); + } else if (!pj_stricmp2(&attr->name, "sc")) { + pj_scanner scanner; + pj_str_t str; + + PJ_USE_EXCEPTION; + + pj_scan_init(&scanner, attr->value.ptr, attr->value.slen, + PJ_SCAN_AUTOSKIP_WS, &on_syntax_error); + + PJ_TRY { + while (!pj_scan_is_eof(&scanner)) { + pj_scan_get_until_ch(&scanner, ',', &str); + pj_strrtrim(&str); + if (!pj_scan_is_eof(&scanner)) + pj_scan_advance_n(&scanner, 1, PJ_TRUE); + if (!str.slen) + continue; + + if (cmd->sc_cnt >= PJ_CLI_MAX_SHORTCUTS) { + PJ_THROW(PJ_CLI_ETOOMANYARGS); + } + /* Check whether the shortcuts are already used */ + if (get_cmd_name(cli, &cli->root, &str)) { + PJ_THROW(PJ_CLI_EBADNAME); + } + + pj_strassign(&sc[cmd->sc_cnt++], &str); + } + } + PJ_CATCH_ANY { + pj_scan_fini(&scanner); + return (PJ_GET_EXCEPTION()); + } + PJ_END; + + } else if (!pj_stricmp2(&attr->name, "desc")) { + pj_strdup(cli->pool, &cmd->desc, &attr->value); + } + attr = attr->next; + } + + /* Get the command childs/arguments */ + sub_node = root->node_head.next; + while (sub_node != (pj_xml_node*)&root->node_head) { + if (!pj_stricmp2(&sub_node->name, "CMD")) { + status = add_cmd_node(cli, cmd, sub_node, handler, NULL, + get_choice); + if (status != PJ_SUCCESS) + return status; + } else if (!pj_stricmp2(&sub_node->name, "ARG")) { + /* Get argument attribute */ + status = add_arg_node(cli, sub_node, + cmd, &args[cmd->arg_cnt], + get_choice); + + if (status != PJ_SUCCESS) + return status; + } + sub_node = sub_node->next; + } + + if (!cmd->name.slen) + return PJ_CLI_EBADNAME; + + if (!cmd->id) + return PJ_CLI_EBADID; + + if (cmd->arg_cnt) { + unsigned i; + + cmd->arg = (pj_cli_arg_spec *)pj_pool_zalloc(cli->pool, cmd->arg_cnt * + sizeof(pj_cli_arg_spec)); + + for (i = 0; i < cmd->arg_cnt; i++) { + pj_strdup(cli->pool, &cmd->arg[i].name, &args[i].name); + pj_strdup(cli->pool, &cmd->arg[i].desc, &args[i].desc); + cmd->arg[i].id = args[i].id; + cmd->arg[i].type = args[i].type; + cmd->arg[i].optional = args[i].optional; + cmd->arg[i].validate = args[i].validate; + cmd->arg[i].get_dyn_choice = args[i].get_dyn_choice; + cmd->arg[i].stat_choice_cnt = args[i].stat_choice_cnt; + cmd->arg[i].stat_choice_val = args[i].stat_choice_val; + } + } + + if (cmd->sc_cnt) { + unsigned i; + + cmd->sc = (pj_str_t *)pj_pool_zalloc(cli->pool, cmd->sc_cnt * + sizeof(pj_str_t)); + for (i = 0; i < cmd->sc_cnt; i++) { + pj_strdup(cli->pool, &cmd->sc[i], &sc[i]); + /** Add shortcut to root command **/ + add_cmd_name(cli, &cli->root, cmd, &sc[i]); + } + } + + add_cmd_name(cli, group, cmd, &cmd->name); + pj_hash_set(cli->pool, cli->cmd_id_hash, + &cmd->id, sizeof(pj_cli_cmd_id), 0, cmd); + + cmd->handler = handler; + + if (group) { + if (!group->sub_cmd) { + group->sub_cmd = PJ_POOL_ALLOC_T(cli->pool, struct pj_cli_cmd_spec); + pj_list_init(group->sub_cmd); + } + pj_list_push_back(group->sub_cmd, cmd); + } else { + pj_list_push_back(cli->root.sub_cmd, cmd); + } + + if (p_cmd) + *p_cmd = cmd; + + return status; +} + +PJ_DEF(pj_status_t) pj_cli_add_cmd_from_xml(pj_cli_t *cli, + pj_cli_cmd_spec *group, + const pj_str_t *xml, + pj_cli_cmd_handler handler, + pj_cli_cmd_spec **p_cmd, + pj_cli_get_dyn_choice get_choice) +{ + pj_pool_t *pool; + pj_xml_node *root; + pj_status_t status = PJ_SUCCESS; + + PJ_ASSERT_RETURN(cli && xml, PJ_EINVAL); + + /* Parse the xml */ + pool = pj_pool_create(cli->cfg.pf, "xml", 1024, 1024, NULL); + if (!pool) + return PJ_ENOMEM; + + root = pj_xml_parse(pool, xml->ptr, xml->slen); + if (!root) { + TRACE_((THIS_FILE, "Error: unable to parse XML")); + pj_pool_release(pool); + return PJ_CLI_EBADXML; + } + status = add_cmd_node(cli, group, root, handler, p_cmd, get_choice); + pj_pool_release(pool); + return status; +} + +PJ_DEF(pj_status_t) pj_cli_sess_parse(pj_cli_sess *sess, + char *cmdline, + pj_cli_cmd_val *val, + pj_pool_t *pool, + pj_cli_exec_info *info) +{ + pj_scanner scanner; + pj_str_t str; + pj_size_t len; + pj_cli_cmd_spec *cmd; + pj_cli_cmd_spec *next_cmd; + pj_status_t status = PJ_SUCCESS; + pj_cli_parse_mode parse_mode = PARSE_NONE; + + PJ_USE_EXCEPTION; + + PJ_ASSERT_RETURN(sess && cmdline && val, PJ_EINVAL); + + PJ_UNUSED_ARG(pool); + + str.slen = 0; + pj_cli_exec_info_default(info); + + /* Set the parse mode based on the latest char. */ + len = pj_ansi_strlen(cmdline); + if (len > 0 && ((cmdline[len - 1] == '\r')||(cmdline[len - 1] == '\n'))) { + cmdline[--len] = 0; + parse_mode = PARSE_EXEC; + } else if (len > 0 && + (cmdline[len - 1] == '\t' || cmdline[len - 1] == '?')) + { + cmdline[--len] = 0; + if (len == 0) { + parse_mode = PARSE_NEXT_AVAIL; + } else { + if (cmdline[len - 1] == ' ') + parse_mode = PARSE_NEXT_AVAIL; + else + parse_mode = PARSE_COMPLETION; + } + } + val->argc = 0; + info->err_pos = 0; + cmd = &sess->fe->cli->root; + if (len > 0) { + pj_scan_init(&scanner, cmdline, len, PJ_SCAN_AUTOSKIP_WS, + &on_syntax_error); + PJ_TRY { + val->argc = 0; + while (!pj_scan_is_eof(&scanner)) { + info->err_pos = (int)(scanner.curptr - scanner.begin); + if (*scanner.curptr == '\'' || *scanner.curptr == '"' || + *scanner.curptr == '{') + { + pj_scan_get_quotes(&scanner, "'\"{", "'\"}", 3, &str); + /* Remove the quotes */ + str.ptr++; + str.slen -= 2; + } else { + pj_scan_get_until_chr(&scanner, " \t\r\n", &str); + } + ++val->argc; + if (val->argc == PJ_CLI_MAX_ARGS) + PJ_THROW(PJ_CLI_ETOOMANYARGS); + + status = get_available_cmds(sess, cmd, &str, val->argc-1, + pool, PJ_TRUE, parse_mode, + &next_cmd, info); + + if (status != PJ_SUCCESS) + PJ_THROW(status); + + if (cmd != next_cmd) { + /* Found new command, set it as the active command */ + cmd = next_cmd; + val->argc = 1; + val->cmd = cmd; + } + if (parse_mode == PARSE_EXEC) + pj_strassign(&val->argv[val->argc-1], &info->hint->name); + else + pj_strassign(&val->argv[val->argc-1], &str); + + } + if (!pj_scan_is_eof(&scanner)) + PJ_THROW(PJ_CLI_EINVARG); + + } + PJ_CATCH_ANY { + pj_scan_fini(&scanner); + return PJ_GET_EXCEPTION(); + } + PJ_END; + } + + if ((parse_mode == PARSE_NEXT_AVAIL) || (parse_mode == PARSE_EXEC)) { + /* If exec mode, just get the matching argument */ + status = get_available_cmds(sess, cmd, NULL, val->argc, pool, + (parse_mode==PARSE_NEXT_AVAIL), + parse_mode, + NULL, info); + if ((status != PJ_SUCCESS) && (status != PJ_CLI_EINVARG)) { + pj_str_t data = pj_str(cmdline); + pj_strrtrim(&data); + data.ptr[data.slen] = ' '; + data.ptr[data.slen+1] = 0; + + info->err_pos = (int)pj_ansi_strlen(cmdline); + } + } + + val->sess = sess; + return status; +} + +PJ_DECL(pj_status_t) pj_cli_sess_exec(pj_cli_sess *sess, + char *cmdline, + pj_pool_t *pool, + pj_cli_exec_info *info) +{ + pj_cli_cmd_val val; + pj_status_t status; + pj_cli_exec_info einfo; + pj_str_t cmd; + + PJ_ASSERT_RETURN(sess && cmdline, PJ_EINVAL); + + PJ_UNUSED_ARG(pool); + + cmd.ptr = cmdline; + cmd.slen = pj_ansi_strlen(cmdline); + + if (pj_strtrim(&cmd)->slen == 0) + return PJ_SUCCESS; + + if (!info) + info = &einfo; + + status = pj_cli_sess_parse(sess, cmdline, &val, pool, info); + if (status != PJ_SUCCESS) + return status; + + if ((val.argc > 0) && (val.cmd->handler)) { + info->cmd_ret = (*val.cmd->handler)(&val); + if (info->cmd_ret == PJ_CLI_EINVARG || + info->cmd_ret == PJ_CLI_EEXIT) + { + return info->cmd_ret; + } + } + + return PJ_SUCCESS; +} + +static pj_bool_t hint_inserted(const pj_str_t *name, + const pj_str_t *desc, + const pj_str_t *type, + pj_cli_exec_info *info) +{ + unsigned i; + for(i=0; ihint_cnt; ++i) { + pj_cli_hint_info *hint = &info->hint[i]; + if ((!pj_strncmp(&hint->name, name, hint->name.slen)) && + (!pj_strncmp(&hint->desc, desc, hint->desc.slen)) && + (!pj_strncmp(&hint->type, type, hint->type.slen))) + { + return PJ_TRUE; + } + } + return PJ_FALSE; +} + +/** This will insert new hint with the option to check for the same + previous entry **/ +static pj_status_t insert_new_hint2(pj_pool_t *pool, + pj_bool_t unique_insert, + const pj_str_t *name, + const pj_str_t *desc, + const pj_str_t *type, + pj_cli_exec_info *info) +{ + pj_cli_hint_info *hint; + PJ_ASSERT_RETURN(pool && info, PJ_EINVAL); + PJ_ASSERT_RETURN((info->hint_cnt < PJ_CLI_MAX_HINTS), PJ_EINVAL); + + if ((unique_insert) && (hint_inserted(name, desc, type, info))) + return PJ_SUCCESS; + + hint = &info->hint[info->hint_cnt]; + + pj_strdup(pool, &hint->name, name); + + if (desc && (desc->slen > 0)) { + pj_strdup(pool, &hint->desc, desc); + } else { + hint->desc.slen = 0; + } + + if (type && (type->slen > 0)) { + pj_strdup(pool, &hint->type, type); + } else { + hint->type.slen = 0; + } + + ++info->hint_cnt; + return PJ_SUCCESS; +} + +/** This will insert new hint without checking for the same previous entry **/ +static pj_status_t insert_new_hint(pj_pool_t *pool, + const pj_str_t *name, + const pj_str_t *desc, + const pj_str_t *type, + pj_cli_exec_info *info) +{ + return insert_new_hint2(pool, PJ_FALSE, name, desc, type, info); +} + +/** This will get a complete/exact match of a command from the cmd hash **/ +static pj_status_t get_comp_match_cmds(const pj_cli_t *cli, + const pj_cli_cmd_spec *group, + const pj_str_t *cmd_val, + pj_pool_t *pool, + pj_cli_cmd_spec **p_cmd, + pj_cli_exec_info *info) +{ + pj_cli_cmd_spec *cmd; + PJ_ASSERT_RETURN(cli && group && cmd_val && pool && info, PJ_EINVAL); + + cmd = get_cmd_name(cli, group, cmd_val); + + if (cmd) { + pj_status_t status; + status = insert_new_hint(pool, cmd_val, &cmd->desc, NULL, info); + + if (status != PJ_SUCCESS) + return status; + + *p_cmd = cmd; + } + + return PJ_SUCCESS; +} + +/** This method will search for any shortcut with pattern match to the input + command. This method should be called from root command, as shortcut could + only be executed from root **/ +static pj_status_t get_pattern_match_shortcut(const pj_cli_t *cli, + const pj_str_t *cmd_val, + pj_pool_t *pool, + pj_cli_cmd_spec **p_cmd, + pj_cli_exec_info *info) +{ + pj_hash_iterator_t it_buf, *it; + pj_status_t status; + PJ_ASSERT_RETURN(cli && pool && cmd_val && info, PJ_EINVAL); + + it = pj_hash_first(cli->cmd_name_hash, &it_buf); + while (it) { + unsigned i; + pj_cli_cmd_spec *cmd = (pj_cli_cmd_spec *) + pj_hash_this(cli->cmd_name_hash, it); + + PJ_ASSERT_RETURN(cmd, PJ_EINVAL); + + for (i=0; i < cmd->sc_cnt; ++i) { + static const pj_str_t SHORTCUT = {"SC", 2}; + pj_str_t *sc = &cmd->sc[i]; + PJ_ASSERT_RETURN(sc, PJ_EINVAL); + + if (!pj_strncmp(sc, cmd_val, cmd_val->slen)) { + /** Unique hints needed because cmd hash contain command name + and shortcut referencing to the same command **/ + status = insert_new_hint2(pool, PJ_TRUE, sc, &cmd->desc, + &SHORTCUT, info); + if (status != PJ_SUCCESS) + return status; + + if (p_cmd) + *p_cmd = cmd; + } + } + + it = pj_hash_next(cli->cmd_name_hash, it); + } + + return PJ_SUCCESS; +} + +/** This method will search a pattern match to the input command from the child + command list of the current/active command. **/ +static pj_status_t get_pattern_match_cmds(pj_cli_cmd_spec *cmd, + const pj_str_t *cmd_val, + pj_pool_t *pool, + pj_cli_cmd_spec **p_cmd, + pj_cli_parse_mode parse_mode, + pj_cli_exec_info *info) +{ + pj_status_t status; + PJ_ASSERT_RETURN(cmd && pool && info && cmd_val, PJ_EINVAL); + + /* Get matching command */ + if (cmd->sub_cmd) { + pj_cli_cmd_spec *child_cmd = cmd->sub_cmd->next; + while (child_cmd != cmd->sub_cmd) { + pj_bool_t found = PJ_FALSE; + if (!pj_strncmp(&child_cmd->name, cmd_val, cmd_val->slen)) { + status = insert_new_hint(pool, &child_cmd->name, + &child_cmd->desc, NULL, info); + if (status != PJ_SUCCESS) + return status; + + found = PJ_TRUE; + } + if (found) { + if (parse_mode == PARSE_NEXT_AVAIL) { + /** Only insert shortcut on next available commands mode **/ + unsigned i; + for (i=0; i < child_cmd->sc_cnt; ++i) { + static const pj_str_t SHORTCUT = {"SC", 2}; + pj_str_t *sc = &child_cmd->sc[i]; + PJ_ASSERT_RETURN(sc, PJ_EINVAL); + + status = insert_new_hint(pool, sc, + &child_cmd->desc, &SHORTCUT, + info); + if (status != PJ_SUCCESS) + return status; + } + } + + if (p_cmd) + *p_cmd = child_cmd; + } + child_cmd = child_cmd->next; + } + } + return PJ_SUCCESS; +} + +/** This will match the arguments passed to the command with the argument list + of the specified command list. **/ +static pj_status_t get_match_args(pj_cli_sess *sess, + pj_cli_cmd_spec *cmd, + const pj_str_t *cmd_val, + unsigned argc, + pj_pool_t *pool, + pj_cli_parse_mode parse_mode, + pj_cli_exec_info *info) +{ + pj_cli_arg_spec *arg; + pj_status_t status = PJ_SUCCESS; + + PJ_ASSERT_RETURN(cmd && pool && cmd_val && info, PJ_EINVAL); + + if ((argc > cmd->arg_cnt) && (!cmd->sub_cmd)) { + if (cmd_val->slen > 0) + return PJ_CLI_ETOOMANYARGS; + else + return PJ_SUCCESS; + } + + if (cmd->arg_cnt > 0) { + arg = &cmd->arg[argc-1]; + PJ_ASSERT_RETURN(arg, PJ_EINVAL); + if (arg->type == PJ_CLI_ARG_CHOICE) { + unsigned j; + + if ((parse_mode == PARSE_EXEC) && (!arg->validate)) { + /* If no validation needed, then insert the values */ + status = insert_new_hint(pool, cmd_val, NULL, NULL, info); + return status; + } + + for (j=0; j < arg->stat_choice_cnt; ++j) { + pj_cli_arg_choice_val *choice_val = &arg->stat_choice_val[j]; + + PJ_ASSERT_RETURN(choice_val, PJ_EINVAL); + + if (!pj_strncmp(&choice_val->value, cmd_val, cmd_val->slen)) { + status = insert_new_hint(pool, + &choice_val->value, + &choice_val->desc, + &arg_type[PJ_CLI_ARG_CHOICE].msg, + info); + if (status != PJ_SUCCESS) + return status; + } + } + if (arg->get_dyn_choice) { + pj_cli_dyn_choice_param dyn_choice_param; + static pj_str_t choice_str = {"choice", 6}; + + /* Get the dynamic choice values */ + dyn_choice_param.sess = sess; + dyn_choice_param.cmd = cmd; + dyn_choice_param.arg_id = arg->id; + dyn_choice_param.max_cnt = PJ_CLI_MAX_CHOICE_VAL; + dyn_choice_param.pool = pool; + dyn_choice_param.cnt = 0; + + (*arg->get_dyn_choice)(&dyn_choice_param); + for (j=0; j < dyn_choice_param.cnt; ++j) { + pj_cli_arg_choice_val *choice = &dyn_choice_param.choice[j]; + if (!pj_strncmp(&choice->value, cmd_val, cmd_val->slen)) { + pj_strassign(&info->hint[info->hint_cnt].name, + &choice->value); + pj_strassign(&info->hint[info->hint_cnt].type, + &choice_str); + pj_strassign(&info->hint[info->hint_cnt].desc, + &choice->desc); + if ((++info->hint_cnt) >= PJ_CLI_MAX_HINTS) + break; + } + } + if ((info->hint_cnt == 0) && (!arg->optional)) + return PJ_CLI_EMISSINGARG; + } + } else { + if (cmd_val->slen == 0) { + if (info->hint_cnt == 0) { + if (!((parse_mode == PARSE_EXEC) && (arg->optional))) { + /* For exec mode,no need to insert hint if optional */ + status = insert_new_hint(pool, + &arg->name, + &arg->desc, + &arg_type[arg->type].msg, + info); + if (status != PJ_SUCCESS) + return status; + } + if (!arg->optional) + return PJ_CLI_EMISSINGARG; + } + } else { + return insert_new_hint(pool, cmd_val, NULL, NULL, info); + } + } + } + return status; +} + +/** This will check for a match of the commands/arguments input. Any match + will be inserted to the hint data. **/ +static pj_status_t get_available_cmds(pj_cli_sess *sess, + pj_cli_cmd_spec *cmd, + pj_str_t *cmd_val, + unsigned argc, + pj_pool_t *pool, + pj_bool_t get_cmd, + pj_cli_parse_mode parse_mode, + pj_cli_cmd_spec **p_cmd, + pj_cli_exec_info *info) +{ + pj_status_t status = PJ_SUCCESS; + pj_str_t *prefix; + pj_str_t EMPTY_STR = {NULL, 0}; + + prefix = cmd_val?(pj_strtrim(cmd_val)):(&EMPTY_STR); + + info->hint_cnt = 0; + + if (get_cmd) { + status = get_comp_match_cmds(sess->fe->cli, cmd, prefix, pool, p_cmd, + info); + if (status != PJ_SUCCESS) + return status; + + /** If exact match found, then no need to search for pattern match **/ + if (info->hint_cnt == 0) { + if ((parse_mode != PARSE_NEXT_AVAIL) && + (cmd == &sess->fe->cli->root)) + { + /** Pattern match for shortcut needed on root command only **/ + status = get_pattern_match_shortcut(sess->fe->cli, prefix, pool, + p_cmd, info); + + if (status != PJ_SUCCESS) + return status; + } + + status = get_pattern_match_cmds(cmd, prefix, pool, p_cmd, + parse_mode, info); + } + + if (status != PJ_SUCCESS) + return status; + } + + if (argc > 0) + status = get_match_args(sess, cmd, prefix, argc, + pool, parse_mode, info); + + if (status == PJ_SUCCESS) { + if (prefix->slen > 0) { + /** If a command entered is not a an empty command, and have a + single match in the command list then it is a valid command **/ + if (info->hint_cnt == 0) { + status = PJ_CLI_EINVARG; + } else if (info->hint_cnt > 1) { + status = PJ_CLI_EAMBIGUOUS; + } + } else { + if (info->hint_cnt > 0) + status = PJ_CLI_EAMBIGUOUS; + } + } + + return status; +} + diff --git a/pjlib-util/src/pjlib-util/cli_console.c b/pjlib-util/src/pjlib-util/cli_console.c new file mode 100644 index 0000000..5f5528f --- /dev/null +++ b/pjlib-util/src/pjlib-util/cli_console.c @@ -0,0 +1,549 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/** + * This specify the state of output character parsing. + */ +typedef enum out_parse_state +{ + OP_NORMAL, + OP_TYPE, + OP_SHORTCUT, + OP_CHOICE +} out_parse_state; + +struct cli_console_fe +{ + pj_cli_front_end base; + pj_pool_t *pool; + pj_cli_sess *sess; + pj_thread_t *input_thread; + pj_bool_t thread_quit; + pj_sem_t *thread_sem; + pj_cli_console_cfg cfg; + + struct async_input_t + { + char *buf; + unsigned maxlen; + pj_sem_t *sem; + } input; +}; + +static void console_write_log(pj_cli_front_end *fe, int level, + const char *data, pj_size_t len) +{ + struct cli_console_fe * cfe = (struct cli_console_fe *)fe; + + if (cfe->sess->log_level > level) + printf("%.*s", (int)len, data); +} + +static void console_quit(pj_cli_front_end *fe, pj_cli_sess *req) +{ + struct cli_console_fe * cfe = (struct cli_console_fe *)fe; + + PJ_UNUSED_ARG(req); + + pj_assert(cfe); + if (cfe->input_thread) { + cfe->thread_quit = PJ_TRUE; + pj_sem_post(cfe->input.sem); + pj_sem_post(cfe->thread_sem); + } +} + +static void console_destroy(pj_cli_front_end *fe) +{ + struct cli_console_fe * cfe = (struct cli_console_fe *)fe; + + pj_assert(cfe); + console_quit(fe, NULL); + + if (cfe->input_thread) + pj_thread_join(cfe->input_thread); + + if (cfe->input_thread) { + pj_thread_destroy(cfe->input_thread); + cfe->input_thread = NULL; + } + + pj_sem_destroy(cfe->thread_sem); + pj_sem_destroy(cfe->input.sem); + pj_pool_release(cfe->pool); +} + +PJ_DEF(void) pj_cli_console_cfg_default(pj_cli_console_cfg *param) +{ + pj_assert(param); + + param->log_level = PJ_CLI_CONSOLE_LOG_LEVEL; + param->prompt_str.slen = 0; + param->quit_command.slen = 0; +} + +PJ_DEF(pj_status_t) pj_cli_console_create(pj_cli_t *cli, + const pj_cli_console_cfg *param, + pj_cli_sess **p_sess, + pj_cli_front_end **p_fe) +{ + pj_cli_sess *sess; + struct cli_console_fe *fe; + pj_cli_console_cfg cfg; + pj_pool_t *pool; + pj_status_t status; + + PJ_ASSERT_RETURN(cli && p_sess, PJ_EINVAL); + + pool = pj_pool_create(pj_cli_get_param(cli)->pf, "console_fe", + PJ_CLI_CONSOLE_POOL_SIZE, PJ_CLI_CONSOLE_POOL_INC, + NULL); + if (!pool) + return PJ_ENOMEM; + + sess = PJ_POOL_ZALLOC_T(pool, pj_cli_sess); + fe = PJ_POOL_ZALLOC_T(pool, struct cli_console_fe); + + if (!param) { + pj_cli_console_cfg_default(&cfg); + param = &cfg; + } + sess->fe = &fe->base; + sess->log_level = param->log_level; + sess->op = PJ_POOL_ZALLOC_T(pool, struct pj_cli_sess_op); + fe->base.op = PJ_POOL_ZALLOC_T(pool, struct pj_cli_front_end_op); + fe->base.cli = cli; + fe->base.type = PJ_CLI_CONSOLE_FRONT_END; + fe->base.op->on_write_log = &console_write_log; + fe->base.op->on_quit = &console_quit; + fe->base.op->on_destroy = &console_destroy; + fe->pool = pool; + fe->sess = sess; + status = pj_sem_create(pool, "console_fe", 0, 1, &fe->thread_sem); + if (status != PJ_SUCCESS) + return status; + + status = pj_sem_create(pool, "console_fe", 0, 1, &fe->input.sem); + if (status != PJ_SUCCESS) + return status; + + pj_cli_register_front_end(cli, &fe->base); + if (param->prompt_str.slen == 0) { + pj_str_t prompt_sign = pj_str(">>> "); + fe->cfg.prompt_str.ptr = pj_pool_alloc(fe->pool, prompt_sign.slen+1); + pj_strcpy(&fe->cfg.prompt_str, &prompt_sign); + } else { + fe->cfg.prompt_str.ptr = pj_pool_alloc(fe->pool, + param->prompt_str.slen+1); + pj_strcpy(&fe->cfg.prompt_str, ¶m->prompt_str); + } + fe->cfg.prompt_str.ptr[fe->cfg.prompt_str.slen] = 0; + + if (param->quit_command.slen) + pj_strdup(fe->pool, &fe->cfg.quit_command, ¶m->quit_command); + + *p_sess = sess; + if (p_fe) + *p_fe = &fe->base; + + return PJ_SUCCESS; +} + +static void send_prompt_str(pj_cli_sess *sess) +{ + pj_str_t send_data; + char data_str[128]; + struct cli_console_fe *fe = (struct cli_console_fe *)sess->fe; + + send_data.ptr = data_str; + send_data.slen = 0; + + pj_strcat(&send_data, &fe->cfg.prompt_str); + send_data.ptr[send_data.slen] = 0; + + printf("%s", send_data.ptr); +} + +static void send_err_arg(pj_cli_sess *sess, + const pj_cli_exec_info *info, + const pj_str_t *msg, + pj_bool_t with_return) +{ + pj_str_t send_data; + char data_str[256]; + pj_size_t len; + unsigned i; + struct cli_console_fe *fe = (struct cli_console_fe *)sess->fe; + + send_data.ptr = data_str; + send_data.slen = 0; + + if (with_return) + pj_strcat2(&send_data, "\r\n"); + + len = fe->cfg.prompt_str.slen + info->err_pos; + + for (i=0;icfg.prompt_str); + + send_data.ptr[send_data.slen] = 0; + printf("%s", send_data.ptr); +} + +static void send_inv_arg(pj_cli_sess *sess, + const pj_cli_exec_info *info, + pj_bool_t with_return) +{ + static const pj_str_t ERR_MSG = {"%Error : Invalid Arguments\r\n", 28}; + send_err_arg(sess, info, &ERR_MSG, with_return); +} + +static void send_too_many_arg(pj_cli_sess *sess, + const pj_cli_exec_info *info, + pj_bool_t with_return) +{ + static const pj_str_t ERR_MSG = {"%Error : Too Many Arguments\r\n", 29}; + send_err_arg(sess, info, &ERR_MSG, with_return); +} + +static void send_hint_arg(pj_str_t *send_data, + const pj_str_t *desc, + pj_ssize_t cmd_len, + pj_ssize_t max_len) +{ + if ((desc) && (desc->slen > 0)) { + int j; + + for (j=0;j<(max_len-cmd_len);++j) { + pj_strcat2(send_data, " "); + } + pj_strcat2(send_data, " "); + pj_strcat(send_data, desc); + send_data->ptr[send_data->slen] = 0; + printf("%s", send_data->ptr); + send_data->slen = 0; + } +} + +static void send_ambi_arg(pj_cli_sess *sess, + const pj_cli_exec_info *info, + pj_bool_t with_return) +{ + unsigned i; + pj_size_t len; + pj_str_t send_data; + char data[1028]; + struct cli_console_fe *fe = (struct cli_console_fe *)sess->fe; + const pj_cli_hint_info *hint = info->hint; + out_parse_state parse_state = OP_NORMAL; + pj_ssize_t max_length = 0; + pj_ssize_t cmd_length = 0; + static const pj_str_t sc_type = {"sc", 2}; + static const pj_str_t choice_type = {"choice", 6}; + send_data.ptr = data; + send_data.slen = 0; + + if (with_return) + pj_strcat2(&send_data, "\r\n"); + + len = fe->cfg.prompt_str.slen + info->err_pos; + + for (i=0;ihint_cnt;++i) { + if (hint[i].type.slen > 0) { + if (pj_stricmp(&hint[i].type, &sc_type) == 0) { + if ((i > 0) && (!pj_stricmp(&hint[i-1].desc, &hint[i].desc))) { + cmd_length += (hint[i].name.slen + 3); + } else { + cmd_length = hint[i].name.slen; + } + } else { + cmd_length = hint[i].name.slen; + } + } else { + cmd_length = hint[i].name.slen; + } + + if (cmd_length > max_length) { + max_length = cmd_length; + } + } + + cmd_length = 0; + for (i=0;ihint_cnt;++i) { + if (hint[i].type.slen > 0) { + if (pj_stricmp(&hint[i].type, &sc_type) == 0) { + parse_state = OP_SHORTCUT; + } else if (pj_stricmp(&hint[i].type, &choice_type) == 0) { + parse_state = OP_CHOICE; + } else { + parse_state = OP_TYPE; + } + } else { + parse_state = OP_NORMAL; + } + + if (parse_state != OP_SHORTCUT) { + pj_strcat2(&send_data, "\r\n "); + cmd_length = hint[i].name.slen; + } + + switch (parse_state) { + case OP_CHOICE: + pj_strcat2(&send_data, "["); + pj_strcat(&send_data, &hint[i].name); + pj_strcat2(&send_data, "]"); + break; + case OP_TYPE: + pj_strcat2(&send_data, "<"); + pj_strcat(&send_data, &hint[i].type); + pj_strcat2(&send_data, ">"); + break; + case OP_SHORTCUT: + /* Format : "Command | sc | description" */ + { + cmd_length += hint[i].name.slen; + if ((i > 0) && (!pj_stricmp(&hint[i-1].desc, &hint[i].desc))) { + pj_strcat2(&send_data, " | "); + cmd_length += 3; + } else { + pj_strcat2(&send_data, "\r\n "); + } + pj_strcat(&send_data, &hint[i].name); + } + break; + default: + pj_strcat(&send_data, &hint[i].name); + break; + } + + if ((parse_state == OP_TYPE) || (parse_state == OP_CHOICE) || + ((i+1) >= info->hint_cnt) || + (pj_strncmp(&hint[i].desc, &hint[i+1].desc, hint[i].desc.slen))) + { + /* Add description info */ + send_hint_arg(&send_data, &hint[i].desc, cmd_length, max_length); + + cmd_length = 0; + } + } + pj_strcat2(&send_data, "\r\n"); + pj_strcat(&send_data, &fe->cfg.prompt_str); + send_data.ptr[send_data.slen] = 0; + printf("%s", send_data.ptr); +} + +static pj_bool_t handle_hint(pj_cli_sess *sess) +{ + pj_status_t status; + pj_bool_t retval = PJ_TRUE; + + pj_pool_t *pool; + pj_cli_cmd_val *cmd_val; + pj_cli_exec_info info; + struct cli_console_fe *fe = (struct cli_console_fe *)sess->fe; + char *recv_buf = fe->input.buf; + pj_cli_t *cli = sess->fe->cli; + + pool = pj_pool_create(pj_cli_get_param(cli)->pf, "handle_hint", + PJ_CLI_CONSOLE_POOL_SIZE, PJ_CLI_CONSOLE_POOL_INC, + NULL); + + cmd_val = PJ_POOL_ZALLOC_T(pool, pj_cli_cmd_val); + + status = pj_cli_sess_parse(sess, recv_buf, cmd_val, + pool, &info); + + switch (status) { + case PJ_CLI_EINVARG: + send_inv_arg(sess, &info, PJ_TRUE); + break; + case PJ_CLI_ETOOMANYARGS: + send_too_many_arg(sess, &info, PJ_TRUE); + break; + case PJ_CLI_EMISSINGARG: + case PJ_CLI_EAMBIGUOUS: + send_ambi_arg(sess, &info, PJ_TRUE); + break; + case PJ_SUCCESS: + if (info.hint_cnt > 0) { + /* Compelete command */ + send_ambi_arg(sess, &info, PJ_TRUE); + } else { + retval = PJ_FALSE; + } + break; + } + + pj_pool_release(pool); + return retval; +} + +static pj_bool_t handle_exec(pj_cli_sess *sess) +{ + pj_status_t status; + pj_bool_t retval = PJ_TRUE; + + pj_pool_t *pool; + pj_cli_exec_info info; + pj_cli_t *cli = sess->fe->cli; + struct cli_console_fe *fe = (struct cli_console_fe *)sess->fe; + char *recv_buf = fe->input.buf; + + printf("\r\n"); + + pool = pj_pool_create(pj_cli_get_param(cli)->pf, "handle_exec", + PJ_CLI_CONSOLE_POOL_SIZE, PJ_CLI_CONSOLE_POOL_INC, + NULL); + + status = pj_cli_sess_exec(sess, recv_buf, + pool, &info); + + switch (status) { + case PJ_CLI_EINVARG: + send_inv_arg(sess, &info, PJ_FALSE); + break; + case PJ_CLI_ETOOMANYARGS: + send_too_many_arg(sess, &info, PJ_FALSE); + break; + case PJ_CLI_EAMBIGUOUS: + case PJ_CLI_EMISSINGARG: + send_ambi_arg(sess, &info, PJ_FALSE); + break; + case PJ_CLI_EEXIT: + retval = PJ_FALSE; + break; + case PJ_SUCCESS: + send_prompt_str(sess); + break; + } + + pj_pool_release(pool); + return retval; +} + +static int readline_thread(void * p) +{ + struct cli_console_fe * fe = (struct cli_console_fe *)p; + + printf("%s", fe->cfg.prompt_str.ptr); + + while (!fe->thread_quit) { + pj_size_t input_len = 0; + pj_str_t input_str; + char *recv_buf = fe->input.buf; + pj_bool_t is_valid = PJ_TRUE; + + if (fgets(recv_buf, fe->input.maxlen, stdin) == NULL) { + /* + * Be friendly to users who redirect commands into + * program, when file ends, resume with kbd. + * If exit is desired end script with q for quit + */ + /* Reopen stdin/stdout/stderr to /dev/console */ +#if ((defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64!=0)) && \ + (!defined(PJ_WIN32_WINCE) || PJ_WIN32_WINCE==0) + if (freopen ("CONIN$", "r", stdin) == NULL) { +#else + if (1) { +#endif + puts("Cannot switch back to console from file redirection"); + if (fe->cfg.quit_command.slen) { + pj_memcpy(recv_buf, fe->cfg.quit_command.ptr, + fe->input.maxlen); + } + recv_buf[fe->cfg.quit_command.slen] = '\0'; + } else { + puts("Switched back to console from file redirection"); + continue; + } + } + + input_str.ptr = recv_buf; + input_str.slen = pj_ansi_strlen(recv_buf); + pj_strrtrim(&input_str); + recv_buf[input_str.slen] = '\n'; + recv_buf[input_str.slen+1] = 0; + if (fe->thread_quit) { + break; + } + input_len = pj_ansi_strlen(fe->input.buf); + if ((input_len > 1) && (fe->input.buf[input_len-2] == '?')) { + fe->input.buf[input_len-1] = 0; + is_valid = handle_hint(fe->sess); + if (!is_valid) + printf("%s", fe->cfg.prompt_str.ptr); + } else { + is_valid = handle_exec(fe->sess); + } + + pj_sem_post(fe->input.sem); + pj_sem_wait(fe->thread_sem); + } + + return 0; +} + +PJ_DEF(pj_status_t) pj_cli_console_process(pj_cli_sess *sess, + char *buf, + unsigned maxlen) +{ + struct cli_console_fe *fe = (struct cli_console_fe *)sess->fe; + + PJ_ASSERT_RETURN(sess, PJ_EINVAL); + + fe->input.buf = buf; + fe->input.maxlen = maxlen; + + if (!fe->input_thread) { + pj_status_t status; + + status = pj_thread_create(fe->pool, NULL, &readline_thread, fe, + 0, 0, &fe->input_thread); + if (status != PJ_SUCCESS) + return status; + } else { + /* Wake up readline thread */ + pj_sem_post(fe->thread_sem); + } + + pj_sem_wait(fe->input.sem); + + return (pj_cli_is_quitting(fe->base.cli)? PJ_CLI_EEXIT : PJ_SUCCESS); +} diff --git a/pjlib-util/src/pjlib-util/cli_telnet.c b/pjlib-util/src/pjlib-util/cli_telnet.c new file mode 100644 index 0000000..b53edca --- /dev/null +++ b/pjlib-util/src/pjlib-util/cli_telnet.c @@ -0,0 +1,1932 @@ +/* $Id$ */ +/* + * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if (defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64!=0) || \ + (defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0) + +#define EADDRINUSE WSAEADDRINUSE + +#endif + +#define CLI_TELNET_BUF_SIZE 256 + +#define CUT_MSG "<..data truncated..>\r\n" +#define MAX_CUT_MSG_LEN 25 + +#if 1 + /* Enable some tracing */ + #define THIS_FILE "cli_telnet.c" + #define TRACE_(arg) PJ_LOG(3,arg) +#else + #define TRACE_(arg) +#endif + +#define MAX_CLI_TELNET_OPTIONS 256 +/** Maximum retry on Telnet Restart **/ +#define MAX_RETRY_ON_TELNET_RESTART 100 +/** Minimum number of millisecond to wait before retrying to re-bind on + * telnet restart **/ +#define MIN_WAIT_ON_TELNET_RESTART 20 +/** Maximum number of millisecod to wait before retrying to re-bind on + * telnet restart **/ +#define MAX_WAIT_ON_TELNET_RESTART 1000 + +/** + * This specify the state for the telnet option negotiation. + */ +enum cli_telnet_option_states +{ + OPT_DISABLE, /* Option disable */ + OPT_ENABLE, /* Option enable */ + OPT_EXPECT_DISABLE, /* Already send disable req, expecting resp */ + OPT_EXPECT_ENABLE, /* Already send enable req, expecting resp */ + OPT_EXPECT_DISABLE_REV, /* Already send disable req, expecting resp, + * need to send enable req */ + OPT_EXPECT_ENABLE_REV /* Already send enable req, expecting resp, + * need to send disable req */ +}; + +/** + * This structure contains information for telnet session option negotiation. + * It contains the local/peer option config and the option negotiation state. + */ +typedef struct cli_telnet_sess_option +{ + /** + * Local setting for the option. + * Default: FALSE; + */ + pj_bool_t local_is_enable; + + /** + * Remote setting for the option. + * Default: FALSE; + */ + pj_bool_t peer_is_enable; + + /** + * Local state of the option negotiation. + */ + enum cli_telnet_option_states local_state; + + /** + * Remote state of the option negotiation. + */ + enum cli_telnet_option_states peer_state; +} cli_telnet_sess_option; + +/** + * This specify the state of input character parsing. + */ +typedef enum cmd_parse_state +{ + ST_NORMAL, + ST_CR, + ST_ESC, + ST_VT100, + ST_IAC, + ST_DO, + ST_DONT, + ST_WILL, + ST_WONT +} cmd_parse_state; + +typedef enum cli_telnet_command +{ + SUBNEGO_END = 240, /* End of subnegotiation parameters. */ + NOP = 241, /* No operation. */ + DATA_MARK = 242, /* Marker for NVT cleaning. */ + BREAK = 243, /* Indicates that the "break" key was hit. */ + INT_PROCESS = 244, /* Suspend, interrupt or abort the process. */ + ABORT_OUTPUT = 245, /* Abort output, abort output stream. */ + ARE_YOU_THERE = 246, /* Are you there. */ + ERASE_CHAR = 247, /* Erase character, erase the current char. */ + ERASE_LINE = 248, /* Erase line, erase the current line. */ + GO_AHEAD = 249, /* Go ahead, other end can transmit. */ + SUBNEGO_BEGIN = 250, /* Subnegotiation begin. */ + WILL = 251, /* Accept the use of option. */ + WONT = 252, /* Refuse the use of option. */ + DO = 253, /* Request to use option. */ + DONT = 254, /* Request to not use option. */ + IAC = 255 /* Interpret as command */ +} cli_telnet_command; + +enum cli_telnet_options +{ + TRANSMIT_BINARY = 0, /* Transmit Binary. */ + TERM_ECHO = 1, /* Echo. */ + RECONNECT = 2, /* Reconnection. */ + SUPPRESS_GA = 3, /* Suppress Go Aheah. */ + MESSAGE_SIZE_NEGO = 4, /* Approx Message Size Negotiation. */ + STATUS = 5, /* Status. */ + TIMING_MARK = 6, /* Timing Mark. */ + RTCE_OPTION = 7, /* Remote Controlled Trans and Echo. */ + OUTPUT_LINE_WIDTH = 8, /* Output Line Width. */ + OUTPUT_PAGE_SIZE = 9, /* Output Page Size. */ + CR_DISPOSITION = 10, /* Carriage-Return Disposition. */ + HORI_TABSTOPS = 11, /* Horizontal Tabstops. */ + HORI_TAB_DISPO = 12, /* Horizontal Tab Disposition. */ + FF_DISP0 = 13, /* Formfeed Disposition. */ + VERT_TABSTOPS = 14, /* Vertical Tabstops. */ + VERT_TAB_DISPO = 15, /* Vertical Tab Disposition. */ + LF_DISP0 = 16, /* Linefeed Disposition. */ + EXT_ASCII = 17, /* Extended ASCII. */ + LOGOUT = 18, /* Logout. */ + BYTE_MACRO = 19, /* Byte Macro. */ + DE_TERMINAL = 20, /* Data Entry Terminal. */ + SUPDUP_PROTO = 21, /* SUPDUP Protocol. */ + SUPDUP_OUTPUT = 22, /* SUPDUP Output. */ + SEND_LOC = 23, /* Send Location. */ + TERM_TYPE = 24, /* Terminal Type. */ + EOR = 25, /* End of Record. */ + TACACS_UID = 26, /* TACACS User Identification. */ + OUTPUT_MARKING = 27, /* Output Marking. */ + TTYLOC = 28, /* Terminal Location Number. */ + USE_3270_REGIME = 29, /* Telnet 3270 Regime. */ + USE_X3_PAD = 30, /* X.3 PAD. */ + WINDOW_SIZE = 31, /* Window Size. */ + TERM_SPEED = 32, /* Terminal Speed. */ + REM_FLOW_CONTROL = 33, /* Remote Flow Control. */ + LINE_MODE = 34, /* Linemode. */ + X_DISP_LOC = 35, /* X Display Location. */ + ENVIRONMENT = 36, /* Environment. */ + AUTH = 37, /* Authentication. */ + ENCRYPTION = 38, /* Encryption Option. */ + NEW_ENVIRONMENT = 39, /* New Environment. */ + TN_3270E = 40, /* TN3270E. */ + XAUTH = 41, /* XAUTH. */ + CHARSET = 42, /* CHARSET. */ + REM_SERIAL_PORT = 43, /* Telnet Remote Serial Port. */ + COM_PORT_CONTROL = 44, /* Com Port Control. */ + SUPP_LOCAL_ECHO = 45, /* Telnet Suppress Local Echo. */ + START_TLS = 46, /* Telnet Start TLS. */ + KERMIT = 47, /* KERMIT. */ + SEND_URL = 48, /* SEND-URL. */ + FWD_X = 49, /* FORWARD_X. */ + EXT_OPTIONS = 255 /* Extended-Options-List */ +}; + +enum terminal_cmd +{ + TC_ESC = 27, + TC_UP = 65, + TC_DOWN = 66, + TC_RIGHT = 67, + TC_LEFT = 68, + TC_END = 70, + TC_HOME = 72, + TC_CTRL_C = 3, + TC_CR = 13, + TC_BS = 8, + TC_TAB = 9, + TC_QM = 63, + TC_BELL = 7, + TC_DEL = 127 +}; + +/** + * This specify the state of output character parsing. + */ +typedef enum out_parse_state +{ + OP_NORMAL, + OP_TYPE, + OP_SHORTCUT, + OP_CHOICE +} out_parse_state; + +/** + * This structure contains the command line shown to the user. + * The telnet also needs to maintain and manage command cursor position. + * Due to that reason, the insert/delete character process from buffer will + * consider its current cursor position. + */ +typedef struct telnet_recv_buf { + /** + * Buffer containing the characters, NULL terminated. + */ + unsigned char rbuf[PJ_CLI_MAX_CMDBUF]; + + /** + * Current length of the command line. + */ + unsigned len; + + /** + * Current cursor position. + */ + unsigned cur_pos; +} telnet_recv_buf; + +/** + * This structure contains the command history executed by user. + * Besides storing the command history, it is necessary to be able + * to browse it. + */ +typedef struct cmd_history +{ + PJ_DECL_LIST_MEMBER(struct cmd_history); + pj_str_t command; +} cmd_history; + +typedef struct cli_telnet_sess +{ + pj_cli_sess base; + pj_pool_t *pool; + pj_activesock_t *asock; + pj_bool_t authorized; + pj_ioqueue_op_key_t op_key; + pj_mutex_t *smutex; + cmd_parse_state parse_state; + cli_telnet_sess_option telnet_option[MAX_CLI_TELNET_OPTIONS]; + cmd_history *history; + cmd_history *active_history; + + telnet_recv_buf *rcmd; + unsigned char buf[CLI_TELNET_BUF_SIZE + MAX_CUT_MSG_LEN]; + unsigned buf_len; +} cli_telnet_sess; + +typedef struct cli_telnet_fe +{ + pj_cli_front_end base; + pj_pool_t *pool; + pj_cli_telnet_cfg cfg; + pj_bool_t own_ioqueue; + pj_cli_sess sess_head; + + pj_activesock_t *asock; + pj_thread_t *worker_thread; + pj_bool_t is_quitting; + pj_mutex_t *mutex; +} cli_telnet_fe; + +/* Forward Declaration */ +static pj_status_t telnet_sess_send2(cli_telnet_sess *sess, + const unsigned char *str, int len); + +static pj_status_t telnet_sess_send(cli_telnet_sess *sess, + const pj_str_t *str); + +static pj_status_t telnet_start(cli_telnet_fe *fe); +static pj_status_t telnet_restart(cli_telnet_fe *tfe); + +/** + * Return the number of characters between the current cursor position + * to the end of line. + */ +static unsigned recv_buf_right_len(telnet_recv_buf *recv_buf) +{ + return (recv_buf->len - recv_buf->cur_pos); +} + +/** + * Insert character to the receive buffer. + */ +static pj_bool_t recv_buf_insert(telnet_recv_buf *recv_buf, + unsigned char *data) +{ + if (recv_buf->len+1 >= PJ_CLI_MAX_CMDBUF) { + return PJ_FALSE; + } else { + if (*data == '\t' || *data == '?' || *data == '\r') { + /* Always insert to the end of line */ + recv_buf->rbuf[recv_buf->len] = *data; + } else { + /* Insert based on the current cursor pos */ + unsigned cur_pos = recv_buf->cur_pos; + unsigned rlen = recv_buf_right_len(recv_buf); + if (rlen > 0) { + /* Shift right characters */ + pj_memmove(&recv_buf->rbuf[cur_pos+1], + &recv_buf->rbuf[cur_pos], + rlen+1); + } + recv_buf->rbuf[cur_pos] = *data; + } + ++recv_buf->cur_pos; + ++recv_buf->len; + recv_buf->rbuf[recv_buf->len] = 0; + } + return PJ_TRUE; +} + +/** + * Delete character on the previous cursor position of the receive buffer. + */ +static pj_bool_t recv_buf_backspace(telnet_recv_buf *recv_buf) +{ + if ((recv_buf->cur_pos == 0) || (recv_buf->len == 0)) { + return PJ_FALSE; + } else { + unsigned rlen = recv_buf_right_len(recv_buf); + if (rlen) { + unsigned cur_pos = recv_buf->cur_pos; + /* Shift left characters */ + pj_memmove(&recv_buf->rbuf[cur_pos-1], &recv_buf->rbuf[cur_pos], + rlen); + } + --recv_buf->cur_pos; + --recv_buf->len; + recv_buf->rbuf[recv_buf->len] = 0; + } + return PJ_TRUE; +} + +static int compare_str(void *value, const pj_list_type *nd) +{ + cmd_history *node = (cmd_history*)nd; + return (pj_strcmp((pj_str_t *)value, &node->command)); +} + +/** + * Insert the command to history. If the entered command is not on the list, + * a new entry will be created. All entered command will be moved to + * the first entry of the history. + */ +static pj_status_t insert_history(cli_telnet_sess *sess, + char *cmd_val) +{ + cmd_history *in_history; + pj_str_t cmd; + cmd.ptr = cmd_val; + cmd.slen = pj_ansi_strlen(cmd_val)-1; + + if (cmd.slen == 0) + return PJ_SUCCESS; + + PJ_ASSERT_RETURN(sess, PJ_EINVAL); + + /* Find matching history */ + in_history = pj_list_search(sess->history, (void*)&cmd, compare_str); + if (!in_history) { + if (pj_list_size(sess->history) < PJ_CLI_MAX_CMD_HISTORY) { + char *data_history; + in_history = PJ_POOL_ZALLOC_T(sess->pool, cmd_history); + pj_list_init(in_history); + data_history = (char *)pj_pool_calloc(sess->pool, + sizeof(char), PJ_CLI_MAX_CMDBUF); + in_history->command.ptr = data_history; + in_history->command.slen = 0; + } else { + /* Get the oldest history */ + in_history = sess->history->prev; + } + } else { + pj_list_insert_nodes_after(in_history->prev, in_history->next); + } + pj_strcpy(&in_history->command, pj_strtrim(&cmd)); + pj_list_push_front(sess->history, in_history); + sess->active_history = sess->history; + + return PJ_SUCCESS; +} + +/** + * Get the next or previous history of the shown/active history. + */ +static pj_str_t* get_prev_history(cli_telnet_sess *sess, pj_bool_t is_forward) +{ + pj_str_t *retval; + pj_size_t history_size; + cmd_history *node; + cmd_history *root; + + PJ_ASSERT_RETURN(sess, NULL); + + node = sess->active_history; + root = sess->history; + history_size = pj_list_size(sess->history); + + if (history_size == 0) { + return NULL; + } else { + if (is_forward) { + node = (node->next==root)?node->next->next:node->next; + } else { + node = (node->prev==root)?node->prev->prev:node->prev; + } + retval = &node->command; + sess->active_history = node; + } + return retval; +} + +/* + * This method is used to send option negotiation command. + * The commands dealing with option negotiation are + * three byte sequences, the third byte being the code for the option + * referenced - (RFC-854). + */ +static pj_bool_t send_telnet_cmd(cli_telnet_sess *sess, + cli_telnet_command cmd, + unsigned char option) +{ + unsigned char buf[3]; + PJ_ASSERT_RETURN(sess, PJ_FALSE); + + buf[0] = IAC; + buf[1] = cmd; + buf[2] = option; + telnet_sess_send2(sess, buf, 3); + + return PJ_TRUE; +} + +/** + * This method will handle sending telnet's ENABLE option negotiation. + * For local option: send WILL. + * For remote option: send DO. + * This method also handle the state transition of the ENABLE + * negotiation process. + */ +static pj_bool_t send_enable_option(cli_telnet_sess *sess, + pj_bool_t is_local, + unsigned char option) +{ + cli_telnet_sess_option *sess_option; + enum cli_telnet_option_states *state; + PJ_ASSERT_RETURN(sess, PJ_FALSE); + + sess_option = &sess->telnet_option[option]; + state = is_local?(&sess_option->local_state):(&sess_option->peer_state); + switch (*state) { + case OPT_ENABLE: + /* Ignore if already enabled */ + break; + case OPT_DISABLE: + *state = OPT_EXPECT_ENABLE; + send_telnet_cmd(sess, (is_local?WILL:DO), option); + break; + case OPT_EXPECT_ENABLE: + *state = OPT_DISABLE; + break; + case OPT_EXPECT_DISABLE: + *state = OPT_EXPECT_DISABLE_REV; + break; + case OPT_EXPECT_ENABLE_REV: + *state = OPT_EXPECT_ENABLE; + break; + case OPT_EXPECT_DISABLE_REV: + *state = OPT_DISABLE; + break; + default: + return PJ_FALSE; + } + return PJ_TRUE; +} + +static pj_bool_t send_cmd_do(cli_telnet_sess *sess, + unsigned char option) +{ + return send_enable_option(sess, PJ_FALSE, option); +} + +static pj_bool_t send_cmd_will(cli_telnet_sess *sess, + unsigned char option) +{ + return send_enable_option(sess, PJ_TRUE, option); +} + +/** + * This method will handle receiving telnet's ENABLE option negotiation. + * This method also handle the state transition of the ENABLE + * negotiation process. + */ +static pj_bool_t receive_enable_option(cli_telnet_sess *sess, + pj_bool_t is_local, + unsigned char option) +{ + cli_telnet_sess_option *sess_opt; + enum cli_telnet_option_states *state; + pj_bool_t opt_ena; + PJ_ASSERT_RETURN(sess, PJ_FALSE); + + sess_opt = &sess->telnet_option[option]; + state = is_local?(&sess_opt->local_state):(&sess_opt->peer_state); + opt_ena = is_local?sess_opt->local_is_enable:sess_opt->peer_is_enable; + switch (*state) { + case OPT_ENABLE: + /* Ignore if already enabled */ + break; + case OPT_DISABLE: + if (opt_ena) { + *state = OPT_ENABLE; + send_telnet_cmd(sess, is_local?WILL:DO, option); + } else { + send_telnet_cmd(sess, is_local?WONT:DONT, option); + } + break; + case OPT_EXPECT_ENABLE: + *state = OPT_ENABLE; + break; + case OPT_EXPECT_DISABLE: + *state = OPT_DISABLE; + break; + case OPT_EXPECT_ENABLE_REV: + *state = OPT_EXPECT_DISABLE; + send_telnet_cmd(sess, is_local?WONT:DONT, option); + break; + case OPT_EXPECT_DISABLE_REV: + *state = OPT_EXPECT_DISABLE; + break; + default: + return PJ_FALSE; + } + return PJ_TRUE; +} + +/** + * This method will handle receiving telnet's DISABLE option negotiation. + * This method also handle the state transition of the DISABLE + * negotiation process. + */ +static pj_bool_t receive_disable_option(cli_telnet_sess *sess, + pj_bool_t is_local, + unsigned char option) +{ + cli_telnet_sess_option *sess_opt; + enum cli_telnet_option_states *state; + + PJ_ASSERT_RETURN(sess, PJ_FALSE); + + sess_opt = &sess->telnet_option[option]; + state = is_local?(&sess_opt->local_state):(&sess_opt->peer_state); + + switch (*state) { + case OPT_ENABLE: + /* Disabling option always need to be accepted */ + *state = OPT_DISABLE; + send_telnet_cmd(sess, is_local?WONT:DONT, option); + break; + case OPT_DISABLE: + /* Ignore if already enabled */ + break; + case OPT_EXPECT_ENABLE: + case OPT_EXPECT_DISABLE: + *state = OPT_DISABLE; + break; + case OPT_EXPECT_ENABLE_REV: + *state = OPT_DISABLE; + send_telnet_cmd(sess, is_local?WONT:DONT, option); + break; + case OPT_EXPECT_DISABLE_REV: + *state = OPT_EXPECT_ENABLE; + send_telnet_cmd(sess, is_local?WILL:DO, option); + break; + default: + return PJ_FALSE; + } + return PJ_TRUE; +} + +static pj_bool_t receive_do(cli_telnet_sess *sess, unsigned char option) +{ + return receive_enable_option(sess, PJ_TRUE, option); +} + +static pj_bool_t receive_dont(cli_telnet_sess *sess, unsigned char option) +{ + return receive_disable_option(sess, PJ_TRUE, option); +} + +static pj_bool_t receive_will(cli_telnet_sess *sess, unsigned char option) +{ + return receive_enable_option(sess, PJ_FALSE, option); +} + +static pj_bool_t receive_wont(cli_telnet_sess *sess, unsigned char option) +{ + return receive_disable_option(sess, PJ_FALSE, option); +} + +static void set_local_option(cli_telnet_sess *sess, + unsigned char option, + pj_bool_t enable) +{ + sess->telnet_option[option].local_is_enable = enable; +} + +static void set_peer_option(cli_telnet_sess *sess, + unsigned char option, + pj_bool_t enable) +{ + sess->telnet_option[option].peer_is_enable = enable; +} + +static pj_bool_t is_local_option_state_ena(cli_telnet_sess *sess, + unsigned char option) +{ + return (sess->telnet_option[option].local_state == OPT_ENABLE); +} + +static void send_return_key(cli_telnet_sess *sess) +{ + telnet_sess_send2(sess, (unsigned char*)"\r\n", 2); +} + +static void send_bell(cli_telnet_sess *sess) { + static const unsigned char bell = 0x07; + telnet_sess_send2(sess, &bell, 1); +} + +static void send_prompt_str(cli_telnet_sess *sess) +{ + pj_str_t send_data; + char data_str[128]; + cli_telnet_fe *fe = (cli_telnet_fe *)sess->base.fe; + + send_data.ptr = data_str; + send_data.slen = 0; + + pj_strcat(&send_data, &fe->cfg.prompt_str); + + telnet_sess_send(sess, &send_data); +} + +/* + * This method is used to send error message to client, including + * the error position of the source command. + */ +static void send_err_arg(cli_telnet_sess *sess, + const pj_cli_exec_info *info, + const pj_str_t *msg, + pj_bool_t with_return, + pj_bool_t with_last_cmd) +{ + pj_str_t send_data; + char data_str[256]; + pj_size_t len; + unsigned i; + cli_telnet_fe *fe = (cli_telnet_fe *)sess->base.fe; + + send_data.ptr = data_str; + send_data.slen = 0; + + if (with_return) + pj_strcat2(&send_data, "\r\n"); + + len = fe->cfg.prompt_str.slen + info->err_pos; + + /* Set the error pointer mark */ + for (i=0;icfg.prompt_str); + if (with_last_cmd) + pj_strcat2(&send_data, (char *)sess->rcmd->rbuf); + + telnet_sess_send(sess, &send_data); +} + +static void send_inv_arg(cli_telnet_sess *sess, + const pj_cli_exec_info *info, + pj_bool_t with_return, + pj_bool_t with_last_cmd) +{ + static const pj_str_t ERR_MSG = {"%Error : Invalid Arguments\r\n", 28}; + send_err_arg(sess, info, &ERR_MSG, with_return, with_last_cmd); +} + +static void send_too_many_arg(cli_telnet_sess *sess, + const pj_cli_exec_info *info, + pj_bool_t with_return, + pj_bool_t with_last_cmd) +{ + static const pj_str_t ERR_MSG = {"%Error : Too Many Arguments\r\n", 29}; + send_err_arg(sess, info, &ERR_MSG, with_return, with_last_cmd); +} + +static void send_hint_arg(cli_telnet_sess *sess, + pj_str_t *send_data, + const pj_str_t *desc, + pj_ssize_t cmd_len, + pj_ssize_t max_len) +{ + if ((desc) && (desc->slen > 0)) { + int j; + + for (j=0;j<(max_len-cmd_len);++j) { + pj_strcat2(send_data, " "); + } + pj_strcat2(send_data, " "); + pj_strcat(send_data, desc); + telnet_sess_send(sess, send_data); + send_data->slen = 0; + } +} + +/* + * This method is used to notify to the client that the entered command + * is ambiguous. It will show the matching command as the hint information. + */ +static void send_ambi_arg(cli_telnet_sess *sess, + const pj_cli_exec_info *info, + pj_bool_t with_return, + pj_bool_t with_last_cmd) +{ + unsigned i; + pj_size_t len; + pj_str_t send_data; + char data[1028]; + cli_telnet_fe *fe = (cli_telnet_fe *)sess->base.fe; + const pj_cli_hint_info *hint = info->hint; + out_parse_state parse_state = OP_NORMAL; + pj_ssize_t max_length = 0; + pj_ssize_t cmd_length = 0; + static const pj_str_t sc_type = {"sc", 2}; + static const pj_str_t choice_type = {"choice", 6}; + send_data.ptr = data; + send_data.slen = 0; + + if (with_return) + pj_strcat2(&send_data, "\r\n"); + + len = fe->cfg.prompt_str.slen + info->err_pos; + + for (i=0;ihint_cnt;++i) { + if (hint[i].type.slen > 0) { + if (pj_stricmp(&hint[i].type, &sc_type) == 0) { + if ((i > 0) && (!pj_stricmp(&hint[i-1].desc, &hint[i].desc))) { + cmd_length += (hint[i].name.slen + 3); + } else { + cmd_length = hint[i].name.slen; + } + } else { + cmd_length = hint[i].name.slen; + } + } else { + cmd_length = hint[i].name.slen; + } + + if (cmd_length > max_length) { + max_length = cmd_length; + } + } + + cmd_length = 0; + /* Build hint information */ + for (i=0;ihint_cnt;++i) { + if (hint[i].type.slen > 0) { + if (pj_stricmp(&hint[i].type, &sc_type) == 0) { + parse_state = OP_SHORTCUT; + } else if (pj_stricmp(&hint[i].type, &choice_type) == 0) { + parse_state = OP_CHOICE; + } else { + parse_state = OP_TYPE; + } + } else { + parse_state = OP_NORMAL; + } + + if (parse_state != OP_SHORTCUT) { + pj_strcat2(&send_data, "\r\n "); + cmd_length = hint[i].name.slen; + } + + switch (parse_state) { + case OP_CHOICE: + /* Format : "[Choice Value] description" */ + pj_strcat2(&send_data, "["); + pj_strcat(&send_data, &hint[i].name); + pj_strcat2(&send_data, "]"); + break; + case OP_TYPE: + /* Format : " description" */ + pj_strcat2(&send_data, "<"); + pj_strcat(&send_data, &hint[i].name); + pj_strcat2(&send_data, ">"); + break; + case OP_SHORTCUT: + /* Format : "Command | sc | description" */ + { + cmd_length += hint[i].name.slen; + if ((i > 0) && (!pj_stricmp(&hint[i-1].desc, &hint[i].desc))) { + pj_strcat2(&send_data, " | "); + cmd_length += 3; + } else { + pj_strcat2(&send_data, "\r\n "); + } + pj_strcat(&send_data, &hint[i].name); + } + break; + default: + /* Command */ + pj_strcat(&send_data, &hint[i].name); + break; + } + + if ((parse_state == OP_TYPE) || (parse_state == OP_CHOICE) || + ((i+1) >= info->hint_cnt) || + (pj_strncmp(&hint[i].desc, &hint[i+1].desc, hint[i].desc.slen))) + { + /* Add description info */ + send_hint_arg(sess, &send_data, + &hint[i].desc, cmd_length, + max_length); + + cmd_length = 0; + } + } + pj_strcat2(&send_data, "\r\n"); + pj_strcat(&send_data, &fe->cfg.prompt_str); + if (with_last_cmd) + pj_strcat2(&send_data, (char *)sess->rcmd->rbuf); + + telnet_sess_send(sess, &send_data); +} + +/* + * This method is to send command completion of the entered command. + */ +static void send_comp_arg(cli_telnet_sess *sess, + pj_cli_exec_info *info) +{ + pj_str_t send_data; + char data[128]; + + pj_strcat2(&info->hint[0].name, " "); + + send_data.ptr = data; + send_data.slen = 0; + + pj_strcat(&send_data, &info->hint[0].name); + + telnet_sess_send(sess, &send_data); +} + +/* + * This method is to process the alfa numeric character sent by client. + */ +static pj_bool_t handle_alfa_num(cli_telnet_sess *sess, unsigned char *data) +{ + if (is_local_option_state_ena(sess, TERM_ECHO)) { + if (recv_buf_right_len(sess->rcmd) > 0) { + /* Cursor is not at EOL, insert character */ + unsigned char echo[5] = {0x1b, 0x5b, 0x31, 0x40, 0x00}; + echo[4] = *data; + telnet_sess_send2(sess, echo, 5); + } else { + /* Append character */ + telnet_sess_send2(sess, data, 1); + } + return PJ_TRUE; + } + return PJ_FALSE; +} + +/* + * This method is to process the backspace character sent by client. + */ +static pj_bool_t handle_backspace(cli_telnet_sess *sess, unsigned char *data) +{ + unsigned rlen = recv_buf_right_len(sess->rcmd); + if (recv_buf_backspace(sess->rcmd)) { + if (rlen) { + /* + * Cursor is not at the end of line, move the characters + * after the cursor to left + */ + unsigned char echo[5] = {0x00, 0x1b, 0x5b, 0x31, 0x50}; + echo[0] = *data; + telnet_sess_send2(sess, echo, 5); + } else { + const static unsigned char echo[3] = {0x08, 0x20, 0x08}; + telnet_sess_send2(sess, echo, 3); + } + return PJ_TRUE; + } + return PJ_FALSE; +} + +/* + * Syntax error handler for parser. + */ +static void on_syntax_error(pj_scanner *scanner) +{ + PJ_UNUSED_ARG(scanner); + PJ_THROW(PJ_EINVAL); +} + +/* + * This method is to process the backspace character sent by client. + */ +static pj_status_t get_last_token(pj_str_t *cmd, pj_str_t *str) +{ + pj_scanner scanner; + PJ_USE_EXCEPTION; + pj_scan_init(&scanner, cmd->ptr, cmd->slen, PJ_SCAN_AUTOSKIP_WS, + &on_syntax_error); + PJ_TRY { + while (!pj_scan_is_eof(&scanner)) { + pj_scan_get_until_chr(&scanner, " \t\r\n", str); + } + } + PJ_CATCH_ANY { + pj_scan_fini(&scanner); + return PJ_GET_EXCEPTION(); + } + PJ_END; + return PJ_SUCCESS; +} + +/* + * This method is to process the tab character sent by client. + */ +static pj_bool_t handle_tab(cli_telnet_sess *sess) +{ + pj_status_t status; + pj_bool_t retval = PJ_TRUE; + unsigned len; + + pj_pool_t *pool; + pj_cli_cmd_val *cmd_val; + pj_cli_exec_info info; + pool = pj_pool_create(sess->pool->factory, "handle_tab", + PJ_CLI_TELNET_POOL_SIZE, PJ_CLI_TELNET_POOL_INC, + NULL); + + cmd_val = PJ_POOL_ZALLOC_T(pool, pj_cli_cmd_val); + + status = pj_cli_sess_parse(&sess->base, (char *)&sess->rcmd->rbuf, cmd_val, + pool, &info); + + len = (unsigned)pj_ansi_strlen((char *)sess->rcmd->rbuf); + + switch (status) { + case PJ_CLI_EINVARG: + send_inv_arg(sess, &info, PJ_TRUE, PJ_TRUE); + break; + case PJ_CLI_ETOOMANYARGS: + send_too_many_arg(sess, &info, PJ_TRUE, PJ_TRUE); + break; + case PJ_CLI_EMISSINGARG: + case PJ_CLI_EAMBIGUOUS: + send_ambi_arg(sess, &info, PJ_TRUE, PJ_TRUE); + break; + case PJ_SUCCESS: + if (len > sess->rcmd->cur_pos) + { + /* Send the cursor to EOL */ + unsigned rlen = len - sess->rcmd->cur_pos+1; + unsigned char *data_sent = &sess->rcmd->rbuf[sess->rcmd->cur_pos-1]; + telnet_sess_send2(sess, data_sent, rlen); + } + if (info.hint_cnt > 0) { + /* Complete command */ + pj_str_t cmd = pj_str((char *)sess->rcmd->rbuf); + pj_str_t last_token; + + if (get_last_token(&cmd, &last_token) == PJ_SUCCESS) { + /* Hint contains the match to the last command entered */ + pj_str_t *hint_info = &info.hint[0].name; + pj_strtrim(&last_token); + if (hint_info->slen >= last_token.slen) { + hint_info->slen -= last_token.slen; + pj_memmove(hint_info->ptr, + &hint_info->ptr[last_token.slen], + hint_info->slen); + } + send_comp_arg(sess, &info); + + pj_memcpy(&sess->rcmd->rbuf[len], info.hint[0].name.ptr, + info.hint[0].name.slen); + + len += (unsigned)info.hint[0].name.slen; + sess->rcmd->rbuf[len] = 0; + } + } else { + retval = PJ_FALSE; + } + break; + } + sess->rcmd->len = len; + sess->rcmd->cur_pos = sess->rcmd->len; + + pj_pool_release(pool); + return retval; +} + +/* + * This method is to process the return character sent by client. + */ +static pj_bool_t handle_return(cli_telnet_sess *sess) +{ + pj_status_t status; + pj_bool_t retval = PJ_TRUE; + + pj_pool_t *pool; + pj_cli_exec_info info; + + send_return_key(sess); + insert_history(sess, (char *)&sess->rcmd->rbuf); + + pool = pj_pool_create(sess->pool->factory, "handle_return", + PJ_CLI_TELNET_POOL_SIZE, PJ_CLI_TELNET_POOL_INC, + NULL); + + status = pj_cli_sess_exec(&sess->base, (char *)&sess->rcmd->rbuf, + pool, &info); + + switch (status) { + case PJ_CLI_EINVARG: + send_inv_arg(sess, &info, PJ_FALSE, PJ_FALSE); + break; + case PJ_CLI_ETOOMANYARGS: + send_too_many_arg(sess, &info, PJ_FALSE, PJ_FALSE); + break; + case PJ_CLI_EAMBIGUOUS: + case PJ_CLI_EMISSINGARG: + send_ambi_arg(sess, &info, PJ_FALSE, PJ_FALSE); + break; + case PJ_CLI_EEXIT: + retval = PJ_FALSE; + break; + case PJ_SUCCESS: + send_prompt_str(sess); + break; + } + if (retval) { + sess->rcmd->rbuf[0] = 0; + sess->rcmd->len = 0; + sess->rcmd->cur_pos = sess->rcmd->len; + } + + pj_pool_release(pool); + return retval; +} + +/* + * This method is to process the right key character sent by client. + */ +static pj_bool_t handle_right_key(cli_telnet_sess *sess) +{ + if (recv_buf_right_len(sess->rcmd)) { + unsigned char *data = &sess->rcmd->rbuf[sess->rcmd->cur_pos++]; + telnet_sess_send2(sess, data, 1); + return PJ_TRUE; + } + return PJ_FALSE; +} + +/* + * This method is to process the left key character sent by client. + */ +static pj_bool_t handle_left_key(cli_telnet_sess *sess) +{ + static const unsigned char move_cursor_left = 0x08; + if (sess->rcmd->cur_pos) { + telnet_sess_send2(sess, &move_cursor_left, 1); + --sess->rcmd->cur_pos; + return PJ_TRUE; + } + return PJ_FALSE; +} + +/* + * This method is to process the up/down key character sent by client. + */ +static pj_bool_t handle_up_down(cli_telnet_sess *sess, pj_bool_t is_up) +{ + pj_str_t *history; + + PJ_ASSERT_RETURN(sess, PJ_FALSE); + + history = get_prev_history(sess, is_up); + if (history) { + pj_str_t send_data; + char str[PJ_CLI_MAX_CMDBUF]; + enum { + MOVE_CURSOR_LEFT = 0x08, + CLEAR_CHAR = 0x20 + }; + send_data.ptr = str; + send_data.slen = 0; + + /* Move cursor position to the beginning of line */ + if (sess->rcmd->cur_pos > 0) { + pj_memset(send_data.ptr, MOVE_CURSOR_LEFT, sess->rcmd->cur_pos); + send_data.slen = sess->rcmd->cur_pos; + } + + if (sess->rcmd->len > (unsigned)history->slen) { + /* Clear the command currently shown*/ + unsigned buf_len = sess->rcmd->len; + pj_memset(&send_data.ptr[send_data.slen], CLEAR_CHAR, buf_len); + send_data.slen += buf_len; + + /* Move cursor position to the beginning of line */ + pj_memset(&send_data.ptr[send_data.slen], MOVE_CURSOR_LEFT, + buf_len); + send_data.slen += buf_len; + } + /* Send data */ + pj_strcat(&send_data, history); + telnet_sess_send(sess, &send_data); + pj_ansi_strncpy((char*)&sess->rcmd->rbuf, history->ptr, history->slen); + sess->rcmd->rbuf[history->slen] = 0; + sess->rcmd->len = (unsigned)history->slen; + sess->rcmd->cur_pos = sess->rcmd->len; + return PJ_TRUE; + } + return PJ_FALSE; +} + +static pj_status_t process_vt100_cmd(cli_telnet_sess *sess, + unsigned char *cmd) +{ + pj_status_t status = PJ_TRUE; + switch (*cmd) { + case TC_ESC: + break; + case TC_UP: + status = handle_up_down(sess, PJ_TRUE); + break; + case TC_DOWN: + status = handle_up_down(sess, PJ_FALSE); + break; + case TC_RIGHT: + status = handle_right_key(sess); + break; + case TC_LEFT: + status = handle_left_key(sess); + break; + case TC_END: + break; + case TC_HOME: + break; + case TC_CTRL_C: + break; + case TC_CR: + break; + case TC_BS: + break; + case TC_TAB: + break; + case TC_QM: + break; + case TC_BELL: + break; + case TC_DEL: + break; + }; + return status; +} + +PJ_DEF(void) pj_cli_telnet_cfg_default(pj_cli_telnet_cfg *param) +{ + pj_assert(param); + + pj_bzero(param, sizeof(*param)); + param->port = PJ_CLI_TELNET_PORT; + param->log_level = PJ_CLI_TELNET_LOG_LEVEL; +} + +/* + * Send a message to a telnet session + */ +static pj_status_t telnet_sess_send(cli_telnet_sess *sess, + const pj_str_t *str) +{ + pj_ssize_t sz; + pj_status_t status = PJ_SUCCESS; + + sz = str->slen; + if (!sz) + return PJ_SUCCESS; + + pj_mutex_lock(sess->smutex); + + if (sess->buf_len == 0) + status = pj_activesock_send(sess->asock, &sess->op_key, + str->ptr, &sz, 0); + /* If we cannot send now, append it at the end of the buffer + * to be sent later. + */ + if (sess->buf_len > 0 || + (status != PJ_SUCCESS && status != PJ_EPENDING)) + { + int clen = (int)sz; + + if (sess->buf_len + clen > CLI_TELNET_BUF_SIZE) + clen = CLI_TELNET_BUF_SIZE - sess->buf_len; + if (clen > 0) + pj_memmove(sess->buf + sess->buf_len, str->ptr, clen); + if (clen < sz) { + pj_ansi_snprintf((char *)sess->buf + CLI_TELNET_BUF_SIZE, + MAX_CUT_MSG_LEN, CUT_MSG); + sess->buf_len = (unsigned)(CLI_TELNET_BUF_SIZE + + pj_ansi_strlen((char *)sess->buf+ + CLI_TELNET_BUF_SIZE)); + } else + sess->buf_len += clen; + } else if (status == PJ_SUCCESS && sz < str->slen) { + pj_mutex_unlock(sess->smutex); + return PJ_CLI_ETELNETLOST; + } + + pj_mutex_unlock(sess->smutex); + + return PJ_SUCCESS; +} + +/* + * Send a message to a telnet session with formatted text + * (add single linefeed character with carriage return) + */ +static pj_status_t telnet_sess_send_with_format(cli_telnet_sess *sess, + const pj_str_t *str) +{ + pj_scanner scanner; + pj_str_t out_str; + static const pj_str_t CR_LF = {("\r\n"), 2}; + int str_len = 0; + char *str_begin = 0; + + PJ_USE_EXCEPTION; + + pj_scan_init(&scanner, str->ptr, str->slen, + PJ_SCAN_AUTOSKIP_WS, &on_syntax_error); + + str_begin = scanner.begin; + + PJ_TRY { + while (!pj_scan_is_eof(&scanner)) { + pj_scan_get_until_ch(&scanner, '\n', &out_str); + str_len = (int)(scanner.curptr - str_begin); + if (*scanner.curptr == '\n') { + if ((str_len > 1) && (out_str.ptr[str_len-2] == '\r')) + { + continue; + } else { + int str_pos = (int)(str_begin - scanner.begin); + + if (str_len > 0) { + pj_str_t s; + pj_strset(&s, &str->ptr[str_pos], str_len); + telnet_sess_send(sess, &s); + } + telnet_sess_send(sess, &CR_LF); + + if (!pj_scan_is_eof(&scanner)) { + pj_scan_advance_n(&scanner, 1, PJ_TRUE); + str_begin = scanner.curptr; + } + } + } else { + pj_str_t s; + int str_pos = (int)(str_begin - scanner.begin); + + pj_strset(&s, &str->ptr[str_pos], str_len); + telnet_sess_send(sess, &s); + } + } + } + PJ_CATCH_ANY { + pj_scan_fini(&scanner); + return (PJ_GET_EXCEPTION()); + } + PJ_END; + + return PJ_SUCCESS; +} + +static pj_status_t telnet_sess_send2(cli_telnet_sess *sess, + const unsigned char *str, int len) +{ + pj_str_t s; + + pj_strset(&s, (char *)str, len); + return telnet_sess_send(sess, &s); +} + +static void telnet_sess_destroy(pj_cli_sess *sess) +{ + cli_telnet_sess *tsess = (cli_telnet_sess *)sess; + pj_mutex_t *mutex = ((cli_telnet_fe *)sess->fe)->mutex; + + pj_mutex_lock(mutex); + pj_list_erase(sess); + pj_mutex_unlock(mutex); + + pj_mutex_lock(tsess->smutex); + pj_mutex_unlock(tsess->smutex); + pj_activesock_close(tsess->asock); + pj_mutex_destroy(tsess->smutex); + pj_pool_release(tsess->pool); +} + +static void telnet_fe_write_log(pj_cli_front_end *fe, int level, + const char *data, pj_size_t len) +{ + cli_telnet_fe *tfe = (cli_telnet_fe *)fe; + pj_cli_sess *sess; + + pj_mutex_lock(tfe->mutex); + + sess = tfe->sess_head.next; + while (sess != &tfe->sess_head) { + cli_telnet_sess *tsess = (cli_telnet_sess *)sess; + + sess = sess->next; + if (tsess->base.log_level > level) { + pj_str_t s; + + pj_strset(&s, (char *)data, len); + telnet_sess_send_with_format(tsess, &s); + } + } + + pj_mutex_unlock(tfe->mutex); +} + +static void telnet_fe_destroy(pj_cli_front_end *fe) +{ + cli_telnet_fe *tfe = (cli_telnet_fe *)fe; + pj_cli_sess *sess; + + tfe->is_quitting = PJ_TRUE; + if (tfe->worker_thread) { + pj_thread_join(tfe->worker_thread); + } + + pj_mutex_lock(tfe->mutex); + + /* Destroy all the sessions */ + sess = tfe->sess_head.next; + while (sess != &tfe->sess_head) { + (*sess->op->destroy)(sess); + sess = tfe->sess_head.next; + } + + pj_mutex_unlock(tfe->mutex); + + pj_activesock_close(tfe->asock); + if (tfe->own_ioqueue) + pj_ioqueue_destroy(tfe->cfg.ioqueue); + + if (tfe->worker_thread) { + pj_thread_destroy(tfe->worker_thread); + tfe->worker_thread = NULL; + } + + pj_mutex_destroy(tfe->mutex); + pj_pool_release(tfe->pool); +} + +static int poll_worker_thread(void *p) +{ + cli_telnet_fe *fe = (cli_telnet_fe *)p; + + while (!fe->is_quitting) { + pj_time_val delay = {0, 50}; + pj_ioqueue_poll(fe->cfg.ioqueue, &delay); + } + + return 0; +} + +static pj_bool_t telnet_sess_on_data_sent(pj_activesock_t *asock, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t sent) +{ + cli_telnet_sess *sess = (cli_telnet_sess *) + pj_activesock_get_user_data(asock); + + PJ_UNUSED_ARG(op_key); + + if (sent <= 0) { + TRACE_((THIS_FILE, "Error On data send")); + pj_cli_sess_end_session(&sess->base); + return PJ_FALSE; + } + + pj_mutex_lock(sess->smutex); + + if (sess->buf_len) { + int len = sess->buf_len; + + sess->buf_len = 0; + if (telnet_sess_send2(sess, sess->buf, len) != PJ_SUCCESS) { + pj_mutex_unlock(sess->smutex); + pj_cli_sess_end_session(&sess->base); + return PJ_FALSE; + } + } + + pj_mutex_unlock(sess->smutex); + + return PJ_TRUE; +} + +static pj_bool_t telnet_sess_on_data_read(pj_activesock_t *asock, + void *data, + pj_size_t size, + pj_status_t status, + pj_size_t *remainder) +{ + cli_telnet_sess *sess = (cli_telnet_sess *) + pj_activesock_get_user_data(asock); + cli_telnet_fe *tfe = (cli_telnet_fe *)sess->base.fe; + unsigned char *cdata = (unsigned char*)data; + pj_status_t is_valid = PJ_TRUE; + + PJ_UNUSED_ARG(size); + PJ_UNUSED_ARG(remainder); + + if (tfe->is_quitting) + return PJ_FALSE; + + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + TRACE_((THIS_FILE, "Error on data read %d", status)); + return PJ_FALSE; + } + + pj_mutex_lock(sess->smutex); + + switch (sess->parse_state) { + case ST_CR: + sess->parse_state = ST_NORMAL; + if (*cdata == 0 || *cdata == '\n') + pj_mutex_unlock(sess->smutex); + is_valid = handle_return(sess); + if (!is_valid) + return PJ_FALSE; + pj_mutex_lock(sess->smutex); + break; + case ST_NORMAL: + if (*cdata == IAC) { + sess->parse_state = ST_IAC; + } else if (*cdata == 127) { + is_valid = handle_backspace(sess, cdata); + } else if (*cdata == 27) { + sess->parse_state = ST_ESC; + } else { + if (recv_buf_insert(sess->rcmd, cdata)) { + if (*cdata == '\r') { + sess->parse_state = ST_CR; + } else if ((*cdata == '\t') || (*cdata == '?')) { + is_valid = handle_tab(sess); + } else if (*cdata > 31 && *cdata < 127) { + is_valid = handle_alfa_num(sess, cdata); + } + } else { + is_valid = PJ_FALSE; + } + } + break; + case ST_ESC: + if (*cdata == 91) { + sess->parse_state = ST_VT100; + } else { + sess->parse_state = ST_NORMAL; + } + break; + case ST_VT100: + sess->parse_state = ST_NORMAL; + is_valid = process_vt100_cmd(sess, cdata); + break; + case ST_IAC: + switch ((unsigned) *cdata) { + case DO: + sess->parse_state = ST_DO; + break; + case DONT: + sess->parse_state = ST_DONT; + break; + case WILL: + sess->parse_state = ST_WILL; + break; + case WONT: + sess->parse_state = ST_WONT; + break; + default: + sess->parse_state = ST_NORMAL; + break; + } + break; + case ST_DO: + receive_do(sess, *cdata); + sess->parse_state = ST_NORMAL; + break; + case ST_DONT: + receive_dont(sess, *cdata); + sess->parse_state = ST_NORMAL; + break; + case ST_WILL: + receive_will(sess, *cdata); + sess->parse_state = ST_NORMAL; + break; + case ST_WONT: + receive_wont(sess, *cdata); + sess->parse_state = ST_NORMAL; + break; + default: + sess->parse_state = ST_NORMAL; + break; + } + if (!is_valid) { + send_bell(sess); + } + + pj_mutex_unlock(sess->smutex); + + return PJ_TRUE; +} + +static pj_bool_t telnet_fe_on_accept(pj_activesock_t *asock, + pj_sock_t newsock, + const pj_sockaddr_t *src_addr, + int src_addr_len, + pj_status_t status) +{ + cli_telnet_fe *fe = (cli_telnet_fe *) pj_activesock_get_user_data(asock); + + pj_status_t sstatus; + pj_pool_t *pool; + cli_telnet_sess *sess = NULL; + pj_activesock_cb asock_cb; + + PJ_UNUSED_ARG(src_addr); + PJ_UNUSED_ARG(src_addr_len); + + if (fe->is_quitting) + return PJ_FALSE; + + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + TRACE_((THIS_FILE, "Error on data accept %d", status)); + if (status == PJ_ESOCKETSTOP) + telnet_restart(fe); + + return PJ_FALSE; + } + + /* An incoming connection is accepted, create a new session */ + pool = pj_pool_create(fe->pool->factory, "telnet_sess", + PJ_CLI_TELNET_POOL_SIZE, PJ_CLI_TELNET_POOL_INC, + NULL); + if (!pool) { + TRACE_((THIS_FILE, + "Not enough memory to create a new telnet session")); + return PJ_TRUE; + } + + sess = PJ_POOL_ZALLOC_T(pool, cli_telnet_sess); + sess->pool = pool; + sess->base.fe = &fe->base; + sess->base.log_level = fe->cfg.log_level; + sess->base.op = PJ_POOL_ZALLOC_T(pool, struct pj_cli_sess_op); + sess->base.op->destroy = &telnet_sess_destroy; + pj_bzero(&asock_cb, sizeof(asock_cb)); + asock_cb.on_data_read = &telnet_sess_on_data_read; + asock_cb.on_data_sent = &telnet_sess_on_data_sent; + sess->rcmd = PJ_POOL_ZALLOC_T(pool, telnet_recv_buf); + sess->history = PJ_POOL_ZALLOC_T(pool, struct cmd_history); + pj_list_init(sess->history); + sess->active_history = sess->history; + + sstatus = pj_mutex_create_recursive(pool, "mutex_telnet_sess", + &sess->smutex); + if (sstatus != PJ_SUCCESS) + goto on_exit; + + sstatus = pj_activesock_create(pool, newsock, pj_SOCK_STREAM(), + NULL, fe->cfg.ioqueue, + &asock_cb, sess, &sess->asock); + if (sstatus != PJ_SUCCESS) { + TRACE_((THIS_FILE, "Failure creating active socket")); + goto on_exit; + } + + pj_memset(sess->telnet_option, 0, sizeof(sess->telnet_option)); + set_local_option(sess, TRANSMIT_BINARY, PJ_TRUE); + set_local_option(sess, STATUS, PJ_TRUE); + set_local_option(sess, SUPPRESS_GA, PJ_TRUE); + set_local_option(sess, TIMING_MARK, PJ_TRUE); + set_local_option(sess, TERM_SPEED, PJ_TRUE); + set_local_option(sess, TERM_TYPE, PJ_TRUE); + + set_peer_option(sess, TRANSMIT_BINARY, PJ_TRUE); + set_peer_option(sess, SUPPRESS_GA, PJ_TRUE); + set_peer_option(sess, STATUS, PJ_TRUE); + set_peer_option(sess, TIMING_MARK, PJ_TRUE); + set_peer_option(sess, TERM_ECHO, PJ_TRUE); + + send_cmd_do(sess, SUPPRESS_GA); + send_cmd_will(sess, TERM_ECHO); + send_cmd_will(sess, STATUS); + send_cmd_will(sess, SUPPRESS_GA); + + /* Send prompt string */ + telnet_sess_send(sess, &fe->cfg.prompt_str); + + /* Start reading for input from the new telnet session */ + sstatus = pj_activesock_start_read(sess->asock, pool, 1, 0); + if (sstatus != PJ_SUCCESS) { + TRACE_((THIS_FILE, "Failure reading active socket")); + goto on_exit; + } + + pj_ioqueue_op_key_init(&sess->op_key, sizeof(sess->op_key)); + pj_mutex_lock(fe->mutex); + pj_list_push_back(&fe->sess_head, &sess->base); + pj_mutex_unlock(fe->mutex); + + return PJ_TRUE; + +on_exit: + if (sess->asock) + pj_activesock_close(sess->asock); + else + pj_sock_close(newsock); + + if (sess->smutex) + pj_mutex_destroy(sess->smutex); + + pj_pool_release(pool); + + return PJ_TRUE; +} + +PJ_DEF(pj_status_t) pj_cli_telnet_create(pj_cli_t *cli, + pj_cli_telnet_cfg *param, + pj_cli_front_end **p_fe) +{ + cli_telnet_fe *fe; + pj_pool_t *pool; + pj_status_t status; + + PJ_ASSERT_RETURN(cli, PJ_EINVAL); + + pool = pj_pool_create(pj_cli_get_param(cli)->pf, "telnet_fe", + PJ_CLI_TELNET_POOL_SIZE, PJ_CLI_TELNET_POOL_INC, + NULL); + fe = PJ_POOL_ZALLOC_T(pool, cli_telnet_fe); + if (!fe) + return PJ_ENOMEM; + + fe->base.op = PJ_POOL_ZALLOC_T(pool, struct pj_cli_front_end_op); + + if (!param) + pj_cli_telnet_cfg_default(&fe->cfg); + else + pj_memcpy(&fe->cfg, param, sizeof(*param)); + + pj_list_init(&fe->sess_head); + fe->base.cli = cli; + fe->base.type = PJ_CLI_TELNET_FRONT_END; + fe->base.op->on_write_log = &telnet_fe_write_log; + fe->base.op->on_destroy = &telnet_fe_destroy; + fe->pool = pool; + + if (!fe->cfg.ioqueue) { + /* Create own ioqueue if application doesn't supply one */ + status = pj_ioqueue_create(pool, 8, &fe->cfg.ioqueue); + if (status != PJ_SUCCESS) + goto on_exit; + fe->own_ioqueue = PJ_TRUE; + } + + status = pj_mutex_create_recursive(pool, "mutex_telnet_fe", &fe->mutex); + if (status != PJ_SUCCESS) + goto on_exit; + + /* Start telnet daemon */ + status = telnet_start(fe); + if (status != PJ_SUCCESS) + goto on_exit; + + pj_cli_register_front_end(cli, &fe->base); + + if (p_fe) + *p_fe = &fe->base; + + return PJ_SUCCESS; + +on_exit: + if (fe->own_ioqueue) + pj_ioqueue_destroy(fe->cfg.ioqueue); + + if (fe->mutex) + pj_mutex_destroy(fe->mutex); + + pj_pool_release(pool); + return status; +} + +static pj_status_t telnet_start(cli_telnet_fe *fe) +{ + pj_sock_t sock = PJ_INVALID_SOCKET; + pj_activesock_cb asock_cb; + pj_sockaddr_in addr; + pj_status_t status; + int val; + int restart_retry; + unsigned msec; + + /* Start telnet daemon */ + status = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, &sock); + + if (status != PJ_SUCCESS) + goto on_exit; + + pj_sockaddr_in_init(&addr, NULL, fe->cfg.port); + + val = 1; + status = pj_sock_setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, + &val, sizeof(val)); + + if (status != PJ_SUCCESS) { + PJ_LOG(3, (THIS_FILE, "Failed setting socket options")); + } + + /* The loop is silly, but what else can we do? */ + for (msec=MIN_WAIT_ON_TELNET_RESTART, restart_retry=0; + restart_retry < MAX_RETRY_ON_TELNET_RESTART; + ++restart_retry, msec=(mseccfg.port = pj_sockaddr_in_get_port(&addr); + + if (fe->cfg.prompt_str.slen == 0) { + pj_str_t prompt_sign = {"> ", 2}; + char *prompt_data = pj_pool_alloc(fe->pool, + pj_gethostname()->slen+2); + fe->cfg.prompt_str.ptr = prompt_data; + + pj_strcpy(&fe->cfg.prompt_str, pj_gethostname()); + pj_strcat(&fe->cfg.prompt_str, &prompt_sign); + } + } else { + PJ_LOG(3, (THIS_FILE, "Failed binding the socket")); + goto on_exit; + } + + status = pj_sock_listen(sock, 4); + if (status != PJ_SUCCESS) + goto on_exit; + + pj_bzero(&asock_cb, sizeof(asock_cb)); + asock_cb.on_accept_complete2 = &telnet_fe_on_accept; + status = pj_activesock_create(fe->pool, sock, pj_SOCK_STREAM(), + NULL, fe->cfg.ioqueue, + &asock_cb, fe, &fe->asock); + if (status != PJ_SUCCESS) + goto on_exit; + + status = pj_activesock_start_accept(fe->asock, fe->pool); + if (status != PJ_SUCCESS) + goto on_exit; + + if (fe->own_ioqueue) { + /* Create our own worker thread */ + status = pj_thread_create(fe->pool, "worker_telnet_fe", + &poll_worker_thread, fe, 0, 0, + &fe->worker_thread); + if (status != PJ_SUCCESS) + goto on_exit; + } + + return PJ_SUCCESS; + +on_exit: + if (fe->cfg.on_started) { + (*fe->cfg.on_started)(status); + } + + if (fe->asock) + pj_activesock_close(fe->asock); + else if (sock != PJ_INVALID_SOCKET) + pj_sock_close(sock); + + if (fe->own_ioqueue) + pj_ioqueue_destroy(fe->cfg.ioqueue); + + if (fe->mutex) + pj_mutex_destroy(fe->mutex); + + pj_pool_release(fe->pool); + return status; +} + +static pj_status_t telnet_restart(cli_telnet_fe *fe) +{ + pj_status_t status; + pj_cli_sess *sess; + + fe->is_quitting = PJ_TRUE; + if (fe->worker_thread) { + pj_thread_join(fe->worker_thread); + } + + pj_mutex_lock(fe->mutex); + + /* Destroy all the sessions */ + sess = fe->sess_head.next; + while (sess != &fe->sess_head) { + (*sess->op->destroy)(sess); + sess = fe->sess_head.next; + } + + pj_mutex_unlock(fe->mutex); + + /** Close existing activesock **/ + status = pj_activesock_close(fe->asock); + if (status != PJ_SUCCESS) + goto on_exit; + + if (fe->worker_thread) { + pj_thread_destroy(fe->worker_thread); + fe->worker_thread = NULL; + } + + fe->is_quitting = PJ_FALSE; + + /** Start Telnet **/ + status = telnet_start(fe); + if (status == PJ_SUCCESS) { + if (fe->cfg.on_started) { + (*fe->cfg.on_started)(status); + } + TRACE_((THIS_FILE, "Telnet Restarted")); + } +on_exit: + return status; +} + +PJ_DEF(pj_status_t) pj_cli_telnet_get_info(pj_cli_front_end *fe, + pj_cli_telnet_info *info) +{ + pj_sockaddr hostip; + pj_status_t status; + cli_telnet_fe *tfe = (cli_telnet_fe*) fe; + + PJ_ASSERT_RETURN(fe && (fe->type == PJ_CLI_TELNET_FRONT_END) && info, + PJ_EINVAL); + + pj_strset(&info->ip_address, info->buf_, 0); + + status = pj_gethostip(pj_AF_INET(), &hostip); + if (status != PJ_SUCCESS) + return status; + + pj_strcpy2(&info->ip_address, pj_inet_ntoa(hostip.ipv4.sin_addr)); + + info->port = tfe->cfg.port; + + return PJ_SUCCESS; +} diff --git a/pjlib-util/src/pjlib-util/crc32.c b/pjlib-util/src/pjlib-util/crc32.c new file mode 100644 index 0000000..8cf38f0 --- /dev/null +++ b/pjlib-util/src/pjlib-util/crc32.c @@ -0,0 +1,243 @@ +/* $Id: crc32.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * This is an implementation of CRC32. See ISO 3309 and ITU-T V.42 + * for a formal specification + * + * This file is partly taken from Crypto++ library (http://www.cryptopp.com) + * and http://www.di-mgt.com.au/crypto.html#CRC. + * + * Since the original version of the code is put in public domain, + * this file is put on public domain as well. + */ +#include + + +#define CRC32_NEGL 0xffffffffL + +#if defined(PJ_CRC32_HAS_TABLES) && PJ_CRC32_HAS_TABLES!=0 +// crc.cpp - written and placed in the public domain by Wei Dai + +/* Table of CRC-32's of all single byte values (made by makecrc.c) */ +#if defined(PJ_IS_LITTLE_ENDIAN) && PJ_IS_LITTLE_ENDIAN != 0 + +#define CRC32_INDEX(c) (c & 0xff) +#define CRC32_SHIFTED(c) (c >> 8) +#define CRC32_SWAP(c) (c) + +static const pj_uint32_t crc_tab[] = { + 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L, + 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L, + 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L, + 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL, + 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L, + 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L, + 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L, + 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL, + 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L, + 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL, + 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L, + 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L, + 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L, + 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL, + 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL, + 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L, + 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL, + 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L, + 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L, + 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L, + 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL, + 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L, + 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L, + 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL, + 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L, + 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L, + 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L, + 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L, + 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L, + 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL, + 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL, + 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L, + 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L, + 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL, + 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL, + 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L, + 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL, + 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L, + 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL, + 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L, + 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL, + 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L, + 0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L, + 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL, + 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L, + 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L, + 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L, + 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L, + 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L, + 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L, + 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL, + 0x2d02ef8dL +}; + + +#elif defined(PJ_IS_BIG_ENDIAN) && PJ_IS_BIG_ENDIAN != 0 +#define CRC32_INDEX(c) (c >> 24) +#define CRC32_SHIFTED(c) (c << 8) +#define CRC32_SWAP(c) ((((c) & 0xff000000) >> 24) | \ + (((c) & 0x00ff0000) >> 8) | \ + (((c) & 0x0000ff00) << 8) | \ + (((c) & 0x000000ff) << 24)) + +static const pj_uint32_t crc_tab[] = { + 0x00000000L, 0x96300777L, 0x2c610eeeL, 0xba510999L, 0x19c46d07L, + 0x8ff46a70L, 0x35a563e9L, 0xa395649eL, 0x3288db0eL, 0xa4b8dc79L, + 0x1ee9d5e0L, 0x88d9d297L, 0x2b4cb609L, 0xbd7cb17eL, 0x072db8e7L, + 0x911dbf90L, 0x6410b71dL, 0xf220b06aL, 0x4871b9f3L, 0xde41be84L, + 0x7dd4da1aL, 0xebe4dd6dL, 0x51b5d4f4L, 0xc785d383L, 0x56986c13L, + 0xc0a86b64L, 0x7af962fdL, 0xecc9658aL, 0x4f5c0114L, 0xd96c0663L, + 0x633d0ffaL, 0xf50d088dL, 0xc8206e3bL, 0x5e10694cL, 0xe44160d5L, + 0x727167a2L, 0xd1e4033cL, 0x47d4044bL, 0xfd850dd2L, 0x6bb50aa5L, + 0xfaa8b535L, 0x6c98b242L, 0xd6c9bbdbL, 0x40f9bcacL, 0xe36cd832L, + 0x755cdf45L, 0xcf0dd6dcL, 0x593dd1abL, 0xac30d926L, 0x3a00de51L, + 0x8051d7c8L, 0x1661d0bfL, 0xb5f4b421L, 0x23c4b356L, 0x9995bacfL, + 0x0fa5bdb8L, 0x9eb80228L, 0x0888055fL, 0xb2d90cc6L, 0x24e90bb1L, + 0x877c6f2fL, 0x114c6858L, 0xab1d61c1L, 0x3d2d66b6L, 0x9041dc76L, + 0x0671db01L, 0xbc20d298L, 0x2a10d5efL, 0x8985b171L, 0x1fb5b606L, + 0xa5e4bf9fL, 0x33d4b8e8L, 0xa2c90778L, 0x34f9000fL, 0x8ea80996L, + 0x18980ee1L, 0xbb0d6a7fL, 0x2d3d6d08L, 0x976c6491L, 0x015c63e6L, + 0xf4516b6bL, 0x62616c1cL, 0xd8306585L, 0x4e0062f2L, 0xed95066cL, + 0x7ba5011bL, 0xc1f40882L, 0x57c40ff5L, 0xc6d9b065L, 0x50e9b712L, + 0xeab8be8bL, 0x7c88b9fcL, 0xdf1ddd62L, 0x492dda15L, 0xf37cd38cL, + 0x654cd4fbL, 0x5861b24dL, 0xce51b53aL, 0x7400bca3L, 0xe230bbd4L, + 0x41a5df4aL, 0xd795d83dL, 0x6dc4d1a4L, 0xfbf4d6d3L, 0x6ae96943L, + 0xfcd96e34L, 0x468867adL, 0xd0b860daL, 0x732d0444L, 0xe51d0333L, + 0x5f4c0aaaL, 0xc97c0dddL, 0x3c710550L, 0xaa410227L, 0x10100bbeL, + 0x86200cc9L, 0x25b56857L, 0xb3856f20L, 0x09d466b9L, 0x9fe461ceL, + 0x0ef9de5eL, 0x98c9d929L, 0x2298d0b0L, 0xb4a8d7c7L, 0x173db359L, + 0x810db42eL, 0x3b5cbdb7L, 0xad6cbac0L, 0x2083b8edL, 0xb6b3bf9aL, + 0x0ce2b603L, 0x9ad2b174L, 0x3947d5eaL, 0xaf77d29dL, 0x1526db04L, + 0x8316dc73L, 0x120b63e3L, 0x843b6494L, 0x3e6a6d0dL, 0xa85a6a7aL, + 0x0bcf0ee4L, 0x9dff0993L, 0x27ae000aL, 0xb19e077dL, 0x44930ff0L, + 0xd2a30887L, 0x68f2011eL, 0xfec20669L, 0x5d5762f7L, 0xcb676580L, + 0x71366c19L, 0xe7066b6eL, 0x761bd4feL, 0xe02bd389L, 0x5a7ada10L, + 0xcc4add67L, 0x6fdfb9f9L, 0xf9efbe8eL, 0x43beb717L, 0xd58eb060L, + 0xe8a3d6d6L, 0x7e93d1a1L, 0xc4c2d838L, 0x52f2df4fL, 0xf167bbd1L, + 0x6757bca6L, 0xdd06b53fL, 0x4b36b248L, 0xda2b0dd8L, 0x4c1b0aafL, + 0xf64a0336L, 0x607a0441L, 0xc3ef60dfL, 0x55df67a8L, 0xef8e6e31L, + 0x79be6946L, 0x8cb361cbL, 0x1a8366bcL, 0xa0d26f25L, 0x36e26852L, + 0x95770cccL, 0x03470bbbL, 0xb9160222L, 0x2f260555L, 0xbe3bbac5L, + 0x280bbdb2L, 0x925ab42bL, 0x046ab35cL, 0xa7ffd7c2L, 0x31cfd0b5L, + 0x8b9ed92cL, 0x1daede5bL, 0xb0c2649bL, 0x26f263ecL, 0x9ca36a75L, + 0x0a936d02L, 0xa906099cL, 0x3f360eebL, 0x85670772L, 0x13570005L, + 0x824abf95L, 0x147ab8e2L, 0xae2bb17bL, 0x381bb60cL, 0x9b8ed292L, + 0x0dbed5e5L, 0xb7efdc7cL, 0x21dfdb0bL, 0xd4d2d386L, 0x42e2d4f1L, + 0xf8b3dd68L, 0x6e83da1fL, 0xcd16be81L, 0x5b26b9f6L, 0xe177b06fL, + 0x7747b718L, 0xe65a0888L, 0x706a0fffL, 0xca3b0666L, 0x5c0b0111L, + 0xff9e658fL, 0x69ae62f8L, 0xd3ff6b61L, 0x45cf6c16L, 0x78e20aa0L, + 0xeed20dd7L, 0x5483044eL, 0xc2b30339L, 0x612667a7L, 0xf71660d0L, + 0x4d476949L, 0xdb776e3eL, 0x4a6ad1aeL, 0xdc5ad6d9L, 0x660bdf40L, + 0xf03bd837L, 0x53aebca9L, 0xc59ebbdeL, 0x7fcfb247L, 0xe9ffb530L, + 0x1cf2bdbdL, 0x8ac2bacaL, 0x3093b353L, 0xa6a3b424L, 0x0536d0baL, + 0x9306d7cdL, 0x2957de54L, 0xbf67d923L, 0x2e7a66b3L, 0xb84a61c4L, + 0x021b685dL, 0x942b6f2aL, 0x37be0bb4L, 0xa18e0cc3L, 0x1bdf055aL, + 0x8def022dL +}; + +#else +# error "Endianness not defined" +#endif + + +PJ_DEF(void) pj_crc32_init(pj_crc32_context *ctx) +{ + ctx->crc_state = 0; +} + +PJ_DEF(pj_uint32_t) pj_crc32_update(pj_crc32_context *ctx, + const pj_uint8_t *data, + pj_size_t nbytes) +{ + pj_uint32_t crc = ctx->crc_state ^ CRC32_NEGL; + + for( ; (((unsigned long)(pj_ssize_t)data) & 0x03) && nbytes > 0; --nbytes) { + crc = crc_tab[CRC32_INDEX(crc) ^ *data++] ^ CRC32_SHIFTED(crc); + } + + while (nbytes >= 4) { + crc ^= *(const pj_uint32_t *)data; + crc = crc_tab[CRC32_INDEX(crc)] ^ CRC32_SHIFTED(crc); + crc = crc_tab[CRC32_INDEX(crc)] ^ CRC32_SHIFTED(crc); + crc = crc_tab[CRC32_INDEX(crc)] ^ CRC32_SHIFTED(crc); + crc = crc_tab[CRC32_INDEX(crc)] ^ CRC32_SHIFTED(crc); + nbytes -= 4; + data += 4; + } + + while (nbytes--) { + crc = crc_tab[CRC32_INDEX(crc) ^ *data++] ^ CRC32_SHIFTED(crc); + } + + ctx->crc_state = crc ^ CRC32_NEGL; + + return ctx->crc_state; +} + +PJ_DEF(pj_uint32_t) pj_crc32_final(pj_crc32_context *ctx) +{ + return CRC32_SWAP(ctx->crc_state); +} + + +#else + +PJ_DEF(void) pj_crc32_init(pj_crc32_context *ctx) +{ + ctx->crc_state = CRC32_NEGL; +} + + +PJ_DEF(pj_uint32_t) pj_crc32_update(pj_crc32_context *ctx, + const pj_uint8_t *octets, + pj_size_t len) + +{ + pj_uint32_t crc = ctx->crc_state; + + while (len--) { + pj_uint32_t temp; + int j; + + temp = (pj_uint32_t)((crc & 0xFF) ^ *octets++); + for (j = 0; j < 8; j++) + { + if (temp & 0x1) + temp = (temp >> 1) ^ 0xEDB88320; + else + temp >>= 1; + } + crc = (crc >> 8) ^ temp; + } + ctx->crc_state = crc; + + return crc ^ CRC32_NEGL; +} + +PJ_DEF(pj_uint32_t) pj_crc32_final(pj_crc32_context *ctx) +{ + ctx->crc_state ^= CRC32_NEGL; + return ctx->crc_state; +} + +#endif + + +PJ_DEF(pj_uint32_t) pj_crc32_calc( const pj_uint8_t *data, + pj_size_t nbytes) +{ + pj_crc32_context ctx; + + pj_crc32_init(&ctx); + pj_crc32_update(&ctx, data, nbytes); + return pj_crc32_final(&ctx); +} + diff --git a/pjlib-util/src/pjlib-util/dns.c b/pjlib-util/src/pjlib-util/dns.c new file mode 100644 index 0000000..e96956c --- /dev/null +++ b/pjlib-util/src/pjlib-util/dns.c @@ -0,0 +1,744 @@ +/* $Id: dns.c 4712 2014-01-23 08:09:29Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include + + +PJ_DEF(const char *) pj_dns_get_type_name(int type) +{ + switch (type) { + case PJ_DNS_TYPE_A: return "A"; + case PJ_DNS_TYPE_AAAA: return "AAAA"; + case PJ_DNS_TYPE_SRV: return "SRV"; + case PJ_DNS_TYPE_NS: return "NS"; + case PJ_DNS_TYPE_CNAME: return "CNAME"; + case PJ_DNS_TYPE_PTR: return "PTR"; + case PJ_DNS_TYPE_MX: return "MX"; + case PJ_DNS_TYPE_TXT: return "TXT"; + case PJ_DNS_TYPE_NAPTR: return "NAPTR"; + } + return "(Unknown)"; +} + + +static void write16(pj_uint8_t *p, pj_uint16_t val) +{ + p[0] = (pj_uint8_t)(val >> 8); + p[1] = (pj_uint8_t)(val & 0xFF); +} + + +/** + * Initialize a DNS query transaction. + */ +PJ_DEF(pj_status_t) pj_dns_make_query( void *packet, + unsigned *size, + pj_uint16_t id, + int qtype, + const pj_str_t *name) +{ + pj_uint8_t *p = (pj_uint8_t*)packet; + const char *startlabel, *endlabel, *endname; + pj_size_t d; + + /* Sanity check */ + PJ_ASSERT_RETURN(packet && size && qtype && name, PJ_EINVAL); + + /* Calculate total number of bytes required. */ + d = sizeof(pj_dns_hdr) + name->slen + 4; + + /* Check that size is sufficient. */ + PJ_ASSERT_RETURN(*size >= d, PJLIB_UTIL_EDNSQRYTOOSMALL); + + /* Initialize header */ + pj_assert(sizeof(pj_dns_hdr)==12); + pj_bzero(p, sizeof(struct pj_dns_hdr)); + write16(p+0, id); + write16(p+2, (pj_uint16_t)PJ_DNS_SET_RD(1)); + write16(p+4, (pj_uint16_t)1); + + /* Initialize query */ + p = ((pj_uint8_t*)packet)+sizeof(pj_dns_hdr); + + /* Tokenize name */ + startlabel = endlabel = name->ptr; + endname = name->ptr + name->slen; + while (endlabel != endname) { + while (endlabel != endname && *endlabel != '.') + ++endlabel; + *p++ = (pj_uint8_t)(endlabel - startlabel); + pj_memcpy(p, startlabel, endlabel-startlabel); + p += (endlabel-startlabel); + if (endlabel != endname && *endlabel == '.') + ++endlabel; + startlabel = endlabel; + } + *p++ = '\0'; + + /* Set type */ + write16(p, (pj_uint16_t)qtype); + p += 2; + + /* Set class (IN=1) */ + write16(p, 1); + p += 2; + + /* Done, calculate length */ + *size = (unsigned)(p - (pj_uint8_t*)packet); + + return 0; +} + + +/* Get a name length (note: name consists of multiple labels and + * it may contain pointers when name compression is applied) + */ +static pj_status_t get_name_len(int rec_counter, const pj_uint8_t *pkt, + const pj_uint8_t *start, const pj_uint8_t *max, + int *parsed_len, int *name_len) +{ + const pj_uint8_t *p; + pj_status_t status; + + /* Limit the number of recursion */ + if (rec_counter > 10) { + /* Too many name recursion */ + return PJLIB_UTIL_EDNSINNAMEPTR; + } + + *name_len = *parsed_len = 0; + p = start; + while (*p) { + if ((*p & 0xc0) == 0xc0) { + /* Compression is found! */ + int ptr_len = 0; + int dummy; + pj_uint16_t offset; + + /* Get the 14bit offset */ + pj_memcpy(&offset, p, 2); + offset ^= pj_htons((pj_uint16_t)(0xc0 << 8)); + offset = pj_ntohs(offset); + + /* Check that offset is valid */ + if (offset >= max - pkt) + return PJLIB_UTIL_EDNSINNAMEPTR; + + /* Get the name length from that offset. */ + status = get_name_len(rec_counter+1, pkt, pkt + offset, max, + &dummy, &ptr_len); + if (status != PJ_SUCCESS) + return status; + + *parsed_len += 2; + *name_len += ptr_len; + + return PJ_SUCCESS; + } else { + unsigned label_len = *p; + + /* Check that label length is valid */ + if (pkt+label_len > max) + return PJLIB_UTIL_EDNSINNAMEPTR; + + p += (label_len + 1); + *parsed_len += (label_len + 1); + + if (*p != 0) + ++label_len; + + *name_len += label_len; + + if (p >= max) + return PJLIB_UTIL_EDNSINSIZE; + } + } + ++p; + (*parsed_len)++; + + return PJ_SUCCESS; +} + + +/* Parse and copy name (note: name consists of multiple labels and + * it may contain pointers when compression is applied). + */ +static pj_status_t get_name(int rec_counter, const pj_uint8_t *pkt, + const pj_uint8_t *start, const pj_uint8_t *max, + pj_str_t *name) +{ + const pj_uint8_t *p; + pj_status_t status; + + /* Limit the number of recursion */ + if (rec_counter > 10) { + /* Too many name recursion */ + return PJLIB_UTIL_EDNSINNAMEPTR; + } + + p = start; + while (*p) { + if ((*p & 0xc0) == 0xc0) { + /* Compression is found! */ + pj_uint16_t offset; + + /* Get the 14bit offset */ + pj_memcpy(&offset, p, 2); + offset ^= pj_htons((pj_uint16_t)(0xc0 << 8)); + offset = pj_ntohs(offset); + + /* Check that offset is valid */ + if (offset >= max - pkt) + return PJLIB_UTIL_EDNSINNAMEPTR; + + /* Retrieve the name from that offset. */ + status = get_name(rec_counter+1, pkt, pkt + offset, max, name); + if (status != PJ_SUCCESS) + return status; + + return PJ_SUCCESS; + } else { + unsigned label_len = *p; + + /* Check that label length is valid */ + if (pkt+label_len > max) + return PJLIB_UTIL_EDNSINNAMEPTR; + + pj_memcpy(name->ptr + name->slen, p+1, label_len); + name->slen += label_len; + + p += label_len + 1; + if (*p != 0) { + *(name->ptr + name->slen) = '.'; + ++name->slen; + } + + if (p >= max) + return PJLIB_UTIL_EDNSINSIZE; + } + } + + return PJ_SUCCESS; +} + + +/* Parse query records. */ +static pj_status_t parse_query(pj_dns_parsed_query *q, pj_pool_t *pool, + const pj_uint8_t *pkt, const pj_uint8_t *start, + const pj_uint8_t *max, int *parsed_len) +{ + const pj_uint8_t *p = start; + int name_len, name_part_len; + pj_status_t status; + + /* Get the length of the name */ + status = get_name_len(0, pkt, start, max, &name_part_len, &name_len); + if (status != PJ_SUCCESS) + return status; + + /* Allocate memory for the name */ + q->name.ptr = (char*) pj_pool_alloc(pool, name_len+4); + q->name.slen = 0; + + /* Get the name */ + status = get_name(0, pkt, start, max, &q->name); + if (status != PJ_SUCCESS) + return status; + + p = (start + name_part_len); + + /* Get the type */ + pj_memcpy(&q->type, p, 2); + q->type = pj_ntohs(q->type); + p += 2; + + /* Get the class */ + pj_memcpy(&q->dnsclass, p, 2); + q->dnsclass = pj_ntohs(q->dnsclass); + p += 2; + + *parsed_len = (int)(p - start); + + return PJ_SUCCESS; +} + + +/* Parse RR records */ +static pj_status_t parse_rr(pj_dns_parsed_rr *rr, pj_pool_t *pool, + const pj_uint8_t *pkt, + const pj_uint8_t *start, const pj_uint8_t *max, + int *parsed_len) +{ + const pj_uint8_t *p = start; + int name_len, name_part_len; + pj_status_t status; + + /* Get the length of the name */ + status = get_name_len(0, pkt, start, max, &name_part_len, &name_len); + if (status != PJ_SUCCESS) + return status; + + /* Allocate memory for the name */ + rr->name.ptr = (char*) pj_pool_alloc(pool, name_len+4); + rr->name.slen = 0; + + /* Get the name */ + status = get_name(0, pkt, start, max, &rr->name); + if (status != PJ_SUCCESS) + return status; + + p = (start + name_part_len); + + /* Check the size can accomodate next few fields. */ + if (p+10 > max) + return PJLIB_UTIL_EDNSINSIZE; + + /* Get the type */ + pj_memcpy(&rr->type, p, 2); + rr->type = pj_ntohs(rr->type); + p += 2; + + /* Get the class */ + pj_memcpy(&rr->dnsclass, p, 2); + rr->dnsclass = pj_ntohs(rr->dnsclass); + p += 2; + + /* Class MUST be IN */ + if (rr->dnsclass != 1) + return PJLIB_UTIL_EDNSINCLASS; + + /* Get TTL */ + pj_memcpy(&rr->ttl, p, 4); + rr->ttl = pj_ntohl(rr->ttl); + p += 4; + + /* Get rdlength */ + pj_memcpy(&rr->rdlength, p, 2); + rr->rdlength = pj_ntohs(rr->rdlength); + p += 2; + + /* Check that length is valid */ + if (p + rr->rdlength > max) + return PJLIB_UTIL_EDNSINSIZE; + + /* Parse some well known records */ + if (rr->type == PJ_DNS_TYPE_A) { + pj_memcpy(&rr->rdata.a.ip_addr, p, 4); + p += 4; + + } else if (rr->type == PJ_DNS_TYPE_AAAA) { + pj_memcpy(&rr->rdata.aaaa.ip_addr, p, 16); + p += 16; + + } else if (rr->type == PJ_DNS_TYPE_CNAME || + rr->type == PJ_DNS_TYPE_NS || + rr->type == PJ_DNS_TYPE_PTR) + { + + /* Get the length of the target name */ + status = get_name_len(0, pkt, p, max, &name_part_len, &name_len); + if (status != PJ_SUCCESS) + return status; + + /* Allocate memory for the name */ + rr->rdata.cname.name.ptr = (char*) pj_pool_alloc(pool, name_len); + rr->rdata.cname.name.slen = 0; + + /* Get the name */ + status = get_name(0, pkt, p, max, &rr->rdata.cname.name); + if (status != PJ_SUCCESS) + return status; + + p += name_part_len; + + } else if (rr->type == PJ_DNS_TYPE_SRV) { + + /* Priority */ + pj_memcpy(&rr->rdata.srv.prio, p, 2); + rr->rdata.srv.prio = pj_ntohs(rr->rdata.srv.prio); + p += 2; + + /* Weight */ + pj_memcpy(&rr->rdata.srv.weight, p, 2); + rr->rdata.srv.weight = pj_ntohs(rr->rdata.srv.weight); + p += 2; + + /* Port */ + pj_memcpy(&rr->rdata.srv.port, p, 2); + rr->rdata.srv.port = pj_ntohs(rr->rdata.srv.port); + p += 2; + + /* Get the length of the target name */ + status = get_name_len(0, pkt, p, max, &name_part_len, &name_len); + if (status != PJ_SUCCESS) + return status; + + /* Allocate memory for the name */ + rr->rdata.srv.target.ptr = (char*) pj_pool_alloc(pool, name_len); + rr->rdata.srv.target.slen = 0; + + /* Get the name */ + status = get_name(0, pkt, p, max, &rr->rdata.srv.target); + if (status != PJ_SUCCESS) + return status; + p += name_part_len; + + } else { + /* Copy the raw data */ + rr->data = pj_pool_alloc(pool, rr->rdlength); + pj_memcpy(rr->data, p, rr->rdlength); + + p += rr->rdlength; + } + + *parsed_len = (int)(p - start); + return PJ_SUCCESS; +} + + +/* + * Parse raw DNS packet into DNS packet structure. + */ +PJ_DEF(pj_status_t) pj_dns_parse_packet( pj_pool_t *pool, + const void *packet, + unsigned size, + pj_dns_parsed_packet **p_res) +{ + pj_dns_parsed_packet *res; + const pj_uint8_t *start, *end; + pj_status_t status; + unsigned i; + + /* Sanity checks */ + PJ_ASSERT_RETURN(pool && packet && size && p_res, PJ_EINVAL); + + /* Packet size must be at least as big as the header */ + if (size < sizeof(pj_dns_hdr)) + return PJLIB_UTIL_EDNSINSIZE; + + /* Create the structure */ + res = PJ_POOL_ZALLOC_T(pool, pj_dns_parsed_packet); + + /* Copy the DNS header, and convert endianness to host byte order */ + pj_memcpy(&res->hdr, packet, sizeof(pj_dns_hdr)); + res->hdr.id = pj_ntohs(res->hdr.id); + res->hdr.flags = pj_ntohs(res->hdr.flags); + res->hdr.qdcount = pj_ntohs(res->hdr.qdcount); + res->hdr.anscount = pj_ntohs(res->hdr.anscount); + res->hdr.nscount = pj_ntohs(res->hdr.nscount); + res->hdr.arcount = pj_ntohs(res->hdr.arcount); + + /* Mark start and end of payload */ + start = ((const pj_uint8_t*)packet) + sizeof(pj_dns_hdr); + end = ((const pj_uint8_t*)packet) + size; + + /* Parse query records (if any). + */ + if (res->hdr.qdcount) { + res->q = (pj_dns_parsed_query*) + pj_pool_zalloc(pool, res->hdr.qdcount * + sizeof(pj_dns_parsed_query)); + for (i=0; ihdr.qdcount; ++i) { + int parsed_len = 0; + + status = parse_query(&res->q[i], pool, (const pj_uint8_t*)packet, + start, end, &parsed_len); + if (status != PJ_SUCCESS) + return status; + + start += parsed_len; + } + } + + /* Parse answer, if any */ + if (res->hdr.anscount) { + res->ans = (pj_dns_parsed_rr*) + pj_pool_zalloc(pool, res->hdr.anscount * + sizeof(pj_dns_parsed_rr)); + + for (i=0; ihdr.anscount; ++i) { + int parsed_len; + + status = parse_rr(&res->ans[i], pool, (const pj_uint8_t*)packet, + start, end, &parsed_len); + if (status != PJ_SUCCESS) + return status; + + start += parsed_len; + } + } + + /* Parse authoritative NS records, if any */ + if (res->hdr.nscount) { + res->ns = (pj_dns_parsed_rr*) + pj_pool_zalloc(pool, res->hdr.nscount * + sizeof(pj_dns_parsed_rr)); + + for (i=0; ihdr.nscount; ++i) { + int parsed_len; + + status = parse_rr(&res->ns[i], pool, (const pj_uint8_t*)packet, + start, end, &parsed_len); + if (status != PJ_SUCCESS) + return status; + + start += parsed_len; + } + } + + /* Parse additional RR answer, if any */ + if (res->hdr.arcount) { + res->arr = (pj_dns_parsed_rr*) + pj_pool_zalloc(pool, res->hdr.arcount * + sizeof(pj_dns_parsed_rr)); + + for (i=0; ihdr.arcount; ++i) { + int parsed_len; + + status = parse_rr(&res->arr[i], pool, (const pj_uint8_t*)packet, + start, end, &parsed_len); + if (status != PJ_SUCCESS) + return status; + + start += parsed_len; + } + } + + /* Looks like everything is okay */ + *p_res = res; + + return PJ_SUCCESS; +} + + +/* Perform name compression scheme. + * If a name is already in the nametable, when no need to duplicate + * the string with the pool, but rather just use the pointer there. + */ +static void apply_name_table( unsigned *count, + pj_str_t nametable[], + const pj_str_t *src, + pj_pool_t *pool, + pj_str_t *dst) +{ + unsigned i; + + /* Scan strings in nametable */ + for (i=0; i<*count; ++i) { + if (pj_stricmp(&nametable[i], src) == 0) + break; + } + + /* If name is found in nametable, use the pointer in the nametable */ + if (i != *count) { + dst->ptr = nametable[i].ptr; + dst->slen = nametable[i].slen; + return; + } + + /* Otherwise duplicate the string, and insert new name in nametable */ + pj_strdup(pool, dst, src); + + if (*count < PJ_DNS_MAX_NAMES_IN_NAMETABLE) { + nametable[*count].ptr = dst->ptr; + nametable[*count].slen = dst->slen; + + ++(*count); + } +} + +static void copy_query(pj_pool_t *pool, pj_dns_parsed_query *dst, + const pj_dns_parsed_query *src, + unsigned *nametable_count, + pj_str_t nametable[]) +{ + pj_memcpy(dst, src, sizeof(*src)); + apply_name_table(nametable_count, nametable, &src->name, pool, &dst->name); +} + + +static void copy_rr(pj_pool_t *pool, pj_dns_parsed_rr *dst, + const pj_dns_parsed_rr *src, + unsigned *nametable_count, + pj_str_t nametable[]) +{ + pj_memcpy(dst, src, sizeof(*src)); + apply_name_table(nametable_count, nametable, &src->name, pool, &dst->name); + + if (src->data) { + dst->data = pj_pool_alloc(pool, src->rdlength); + pj_memcpy(dst->data, src->data, src->rdlength); + } + + if (src->type == PJ_DNS_TYPE_SRV) { + apply_name_table(nametable_count, nametable, &src->rdata.srv.target, + pool, &dst->rdata.srv.target); + } else if (src->type == PJ_DNS_TYPE_A) { + dst->rdata.a.ip_addr.s_addr = src->rdata.a.ip_addr.s_addr; + } else if (src->type == PJ_DNS_TYPE_AAAA) { + pj_memcpy(&dst->rdata.aaaa.ip_addr, &src->rdata.aaaa.ip_addr, + sizeof(pj_in6_addr)); + } else if (src->type == PJ_DNS_TYPE_CNAME) { + pj_strdup(pool, &dst->rdata.cname.name, &src->rdata.cname.name); + } else if (src->type == PJ_DNS_TYPE_NS) { + pj_strdup(pool, &dst->rdata.ns.name, &src->rdata.ns.name); + } else if (src->type == PJ_DNS_TYPE_PTR) { + pj_strdup(pool, &dst->rdata.ptr.name, &src->rdata.ptr.name); + } +} + +/* + * Duplicate DNS packet. + */ +PJ_DEF(void) pj_dns_packet_dup(pj_pool_t *pool, + const pj_dns_parsed_packet*p, + unsigned options, + pj_dns_parsed_packet **p_dst) +{ + pj_dns_parsed_packet *dst; + unsigned nametable_count = 0; +#if PJ_DNS_MAX_NAMES_IN_NAMETABLE + pj_str_t nametable[PJ_DNS_MAX_NAMES_IN_NAMETABLE]; +#else + pj_str_t *nametable = NULL; +#endif + unsigned i; + + PJ_ASSERT_ON_FAIL(pool && p && p_dst, return); + + /* Create packet and copy header */ + *p_dst = dst = PJ_POOL_ZALLOC_T(pool, pj_dns_parsed_packet); + pj_memcpy(&dst->hdr, &p->hdr, sizeof(p->hdr)); + + /* Initialize section counts in the target packet to zero. + * If memory allocation fails during copying process, the target packet + * should have a correct section counts. + */ + dst->hdr.qdcount = 0; + dst->hdr.anscount = 0; + dst->hdr.nscount = 0; + dst->hdr.arcount = 0; + + + /* Copy query section */ + if (p->hdr.qdcount && (options & PJ_DNS_NO_QD)==0) { + dst->q = (pj_dns_parsed_query*) + pj_pool_alloc(pool, p->hdr.qdcount * + sizeof(pj_dns_parsed_query)); + for (i=0; ihdr.qdcount; ++i) { + copy_query(pool, &dst->q[i], &p->q[i], + &nametable_count, nametable); + ++dst->hdr.qdcount; + } + } + + /* Copy answer section */ + if (p->hdr.anscount && (options & PJ_DNS_NO_ANS)==0) { + dst->ans = (pj_dns_parsed_rr*) + pj_pool_alloc(pool, p->hdr.anscount * + sizeof(pj_dns_parsed_rr)); + for (i=0; ihdr.anscount; ++i) { + copy_rr(pool, &dst->ans[i], &p->ans[i], + &nametable_count, nametable); + ++dst->hdr.anscount; + } + } + + /* Copy NS section */ + if (p->hdr.nscount && (options & PJ_DNS_NO_NS)==0) { + dst->ns = (pj_dns_parsed_rr*) + pj_pool_alloc(pool, p->hdr.nscount * + sizeof(pj_dns_parsed_rr)); + for (i=0; ihdr.nscount; ++i) { + copy_rr(pool, &dst->ns[i], &p->ns[i], + &nametable_count, nametable); + ++dst->hdr.nscount; + } + } + + /* Copy additional info section */ + if (p->hdr.arcount && (options & PJ_DNS_NO_AR)==0) { + dst->arr = (pj_dns_parsed_rr*) + pj_pool_alloc(pool, p->hdr.arcount * + sizeof(pj_dns_parsed_rr)); + for (i=0; ihdr.arcount; ++i) { + copy_rr(pool, &dst->arr[i], &p->arr[i], + &nametable_count, nametable); + ++dst->hdr.arcount; + } + } +} + + +PJ_DEF(void) pj_dns_init_srv_rr( pj_dns_parsed_rr *rec, + const pj_str_t *res_name, + unsigned dnsclass, + unsigned ttl, + unsigned prio, + unsigned weight, + unsigned port, + const pj_str_t *target) +{ + pj_bzero(rec, sizeof(*rec)); + rec->name = *res_name; + rec->type = PJ_DNS_TYPE_SRV; + rec->dnsclass = (pj_uint16_t) dnsclass; + rec->ttl = ttl; + rec->rdata.srv.prio = (pj_uint16_t) prio; + rec->rdata.srv.weight = (pj_uint16_t) weight; + rec->rdata.srv.port = (pj_uint16_t) port; + rec->rdata.srv.target = *target; +} + + +PJ_DEF(void) pj_dns_init_cname_rr( pj_dns_parsed_rr *rec, + const pj_str_t *res_name, + unsigned dnsclass, + unsigned ttl, + const pj_str_t *name) +{ + pj_bzero(rec, sizeof(*rec)); + rec->name = *res_name; + rec->type = PJ_DNS_TYPE_CNAME; + rec->dnsclass = (pj_uint16_t) dnsclass; + rec->ttl = ttl; + rec->rdata.cname.name = *name; +} + + +PJ_DEF(void) pj_dns_init_a_rr( pj_dns_parsed_rr *rec, + const pj_str_t *res_name, + unsigned dnsclass, + unsigned ttl, + const pj_in_addr *ip_addr) +{ + pj_bzero(rec, sizeof(*rec)); + rec->name = *res_name; + rec->type = PJ_DNS_TYPE_A; + rec->dnsclass = (pj_uint16_t) dnsclass; + rec->ttl = ttl; + rec->rdata.a.ip_addr = *ip_addr; +} + diff --git a/pjlib-util/src/pjlib-util/dns_dump.c b/pjlib-util/src/pjlib-util/dns_dump.c new file mode 100644 index 0000000..d5c9b51 --- /dev/null +++ b/pjlib-util/src/pjlib-util/dns_dump.c @@ -0,0 +1,193 @@ +/* $Id: dns_dump.c 4613 2013-10-08 09:08:13Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + +#define THIS_FILE "dns_dump.c" +#define LEVEL 3 + +static const char *spell_ttl(char *buf, int size, unsigned ttl) +{ +#define DAY (3600*24) +#define HOUR (3600) +#define MINUTE (60) + + char *p = buf; + int len; + + if (ttl > DAY) { + len = pj_ansi_snprintf(p, size, "%dd ", ttl/DAY); + if (len < 1 || len >= size) + return "-err-"; + size -= len; + p += len; + ttl %= DAY; + } + + if (ttl > HOUR) { + len = pj_ansi_snprintf(p, size, "%dh ", ttl/HOUR); + if (len < 1 || len >= size) + return "-err-"; + size -= len; + p += len; + ttl %= HOUR; + } + + if (ttl > MINUTE) { + len = pj_ansi_snprintf(p, size, "%dm ", ttl/MINUTE); + if (len < 1 || len >= size) + return "-err-"; + size -= len; + p += len; + ttl %= MINUTE; + } + + if (ttl > 0) { + len = pj_ansi_snprintf(p, size, "%ds ", ttl); + if (len < 1 || len >= size) + return "-err-"; + size -= len; + p += len; + ttl = 0; + } + + *p = '\0'; + return buf; +} + + +static void dump_query(unsigned index, const pj_dns_parsed_query *q) +{ + PJ_LOG(3,(THIS_FILE, " %d. Name: %.*s", + index, (int)q->name.slen, q->name.ptr)); + PJ_LOG(3,(THIS_FILE, " Type: %s (%d)", + pj_dns_get_type_name(q->type), q->type)); + PJ_LOG(3,(THIS_FILE, " Class: %s (%d)", + (q->dnsclass==1 ? "IN" : ""), q->dnsclass)); +} + +static void dump_answer(unsigned index, const pj_dns_parsed_rr *rr) +{ + const pj_str_t root_name = { "", 6 }; + const pj_str_t *name = &rr->name; + char ttl_words[32]; + + if (name->slen == 0) + name = &root_name; + + PJ_LOG(3,(THIS_FILE, " %d. %s record (type=%d)", + index, pj_dns_get_type_name(rr->type), + rr->type)); + PJ_LOG(3,(THIS_FILE, " Name: %.*s", (int)name->slen, name->ptr)); + PJ_LOG(3,(THIS_FILE, " TTL: %u (%s)", rr->ttl, + spell_ttl(ttl_words, sizeof(ttl_words), rr->ttl))); + PJ_LOG(3,(THIS_FILE, " Data length: %u", rr->rdlength)); + + if (rr->type == PJ_DNS_TYPE_SRV) { + PJ_LOG(3,(THIS_FILE, " SRV: prio=%d, weight=%d %.*s:%d", + rr->rdata.srv.prio, rr->rdata.srv.weight, + (int)rr->rdata.srv.target.slen, + rr->rdata.srv.target.ptr, + rr->rdata.srv.port)); + } else if (rr->type == PJ_DNS_TYPE_CNAME || + rr->type == PJ_DNS_TYPE_NS || + rr->type == PJ_DNS_TYPE_PTR) + { + PJ_LOG(3,(THIS_FILE, " Name: %.*s", + (int)rr->rdata.cname.name.slen, + rr->rdata.cname.name.ptr)); + } else if (rr->type == PJ_DNS_TYPE_A) { + PJ_LOG(3,(THIS_FILE, " IP address: %s", + pj_inet_ntoa(rr->rdata.a.ip_addr))); + } else if (rr->type == PJ_DNS_TYPE_AAAA) { + char addr[PJ_INET6_ADDRSTRLEN]; + PJ_LOG(3,(THIS_FILE, " IPv6 address: %s", + pj_inet_ntop2(pj_AF_INET6(), &rr->rdata.aaaa.ip_addr, + addr, sizeof(addr)))); + } +} + + +PJ_DEF(void) pj_dns_dump_packet(const pj_dns_parsed_packet *res) +{ + unsigned i; + + PJ_ASSERT_ON_FAIL(res != NULL, return); + + /* Header part */ + PJ_LOG(3,(THIS_FILE, "Domain Name System packet (%s):", + (PJ_DNS_GET_QR(res->hdr.flags) ? "response" : "query"))); + PJ_LOG(3,(THIS_FILE, " Transaction ID: %d", res->hdr.id)); + PJ_LOG(3,(THIS_FILE, + " Flags: opcode=%d, authoritative=%d, truncated=%d, rcode=%d", + PJ_DNS_GET_OPCODE(res->hdr.flags), + PJ_DNS_GET_AA(res->hdr.flags), + PJ_DNS_GET_TC(res->hdr.flags), + PJ_DNS_GET_RCODE(res->hdr.flags))); + PJ_LOG(3,(THIS_FILE, " Nb of queries: %d", res->hdr.qdcount)); + PJ_LOG(3,(THIS_FILE, " Nb of answer RR: %d", res->hdr.anscount)); + PJ_LOG(3,(THIS_FILE, " Nb of authority RR: %d", res->hdr.nscount)); + PJ_LOG(3,(THIS_FILE, " Nb of additional RR: %d", res->hdr.arcount)); + PJ_LOG(3,(THIS_FILE, "")); + + /* Dump queries */ + if (res->hdr.qdcount) { + PJ_LOG(3,(THIS_FILE, " Queries:")); + + for (i=0; ihdr.qdcount; ++i) { + dump_query(i, &res->q[i]); + } + PJ_LOG(3,(THIS_FILE, "")); + } + + /* Dump answers */ + if (res->hdr.anscount) { + PJ_LOG(3,(THIS_FILE, " Answers RR:")); + + for (i=0; ihdr.anscount; ++i) { + dump_answer(i, &res->ans[i]); + } + PJ_LOG(3,(THIS_FILE, "")); + } + + /* Dump NS sections */ + if (res->hdr.anscount) { + PJ_LOG(3,(THIS_FILE, " NS Authority RR:")); + + for (i=0; ihdr.nscount; ++i) { + dump_answer(i, &res->ns[i]); + } + PJ_LOG(3,(THIS_FILE, "")); + } + + /* Dump Additional info sections */ + if (res->hdr.arcount) { + PJ_LOG(3,(THIS_FILE, " Additional Info RR:")); + + for (i=0; ihdr.arcount; ++i) { + dump_answer(i, &res->arr[i]); + } + PJ_LOG(3,(THIS_FILE, "")); + } + +} + diff --git a/pjlib-util/src/pjlib-util/dns_server.c b/pjlib-util/src/pjlib-util/dns_server.c new file mode 100644 index 0000000..8922c67 --- /dev/null +++ b/pjlib-util/src/pjlib-util/dns_server.c @@ -0,0 +1,554 @@ +/* $Id: dns_server.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include + +#define THIS_FILE "dns_server.c" +#define MAX_ANS 16 +#define MAX_PKT 1500 +#define MAX_LABEL 32 + +struct label_tab +{ + unsigned count; + + struct { + unsigned pos; + pj_str_t label; + } a[MAX_LABEL]; +}; + +struct rr +{ + PJ_DECL_LIST_MEMBER(struct rr); + pj_dns_parsed_rr rec; +}; + + +struct pj_dns_server +{ + pj_pool_t *pool; + pj_pool_factory *pf; + pj_activesock_t *asock; + pj_ioqueue_op_key_t send_key; + struct rr rr_list; +}; + + +static pj_bool_t on_data_recvfrom(pj_activesock_t *asock, + void *data, + pj_size_t size, + const pj_sockaddr_t *src_addr, + int addr_len, + pj_status_t status); + + +PJ_DEF(pj_status_t) pj_dns_server_create( pj_pool_factory *pf, + pj_ioqueue_t *ioqueue, + int af, + unsigned port, + unsigned flags, + pj_dns_server **p_srv) +{ + pj_pool_t *pool; + pj_dns_server *srv; + pj_sockaddr sock_addr; + pj_activesock_cb sock_cb; + pj_status_t status; + + PJ_ASSERT_RETURN(pf && ioqueue && p_srv && flags==0, PJ_EINVAL); + PJ_ASSERT_RETURN(af==pj_AF_INET() || af==pj_AF_INET6(), PJ_EINVAL); + + pool = pj_pool_create(pf, "dnsserver", 256, 256, NULL); + srv = (pj_dns_server*) PJ_POOL_ZALLOC_T(pool, pj_dns_server); + srv->pool = pool; + srv->pf = pf; + pj_list_init(&srv->rr_list); + + pj_bzero(&sock_addr, sizeof(sock_addr)); + sock_addr.addr.sa_family = (pj_uint16_t)af; + pj_sockaddr_set_port(&sock_addr, (pj_uint16_t)port); + + pj_bzero(&sock_cb, sizeof(sock_cb)); + sock_cb.on_data_recvfrom = &on_data_recvfrom; + + status = pj_activesock_create_udp(pool, &sock_addr, NULL, ioqueue, + &sock_cb, srv, &srv->asock, NULL); + if (status != PJ_SUCCESS) + goto on_error; + + pj_ioqueue_op_key_init(&srv->send_key, sizeof(srv->send_key)); + + status = pj_activesock_start_recvfrom(srv->asock, pool, MAX_PKT, 0); + if (status != PJ_SUCCESS) + goto on_error; + + *p_srv = srv; + return PJ_SUCCESS; + +on_error: + pj_dns_server_destroy(srv); + return status; +} + + +PJ_DEF(pj_status_t) pj_dns_server_destroy(pj_dns_server *srv) +{ + PJ_ASSERT_RETURN(srv, PJ_EINVAL); + + if (srv->asock) { + pj_activesock_close(srv->asock); + srv->asock = NULL; + } + + if (srv->pool) { + pj_pool_t *pool = srv->pool; + srv->pool = NULL; + pj_pool_release(pool); + } + + return PJ_SUCCESS; +} + + +static struct rr* find_rr( pj_dns_server *srv, + unsigned dns_class, + unsigned type /* pj_dns_type */, + const pj_str_t *name) +{ + struct rr *r; + + r = srv->rr_list.next; + while (r != &srv->rr_list) { + if (r->rec.dnsclass == dns_class && r->rec.type == type && + pj_stricmp(&r->rec.name, name)==0) + { + return r; + } + r = r->next; + } + + return NULL; +} + + +PJ_DEF(pj_status_t) pj_dns_server_add_rec( pj_dns_server *srv, + unsigned count, + const pj_dns_parsed_rr rr_param[]) +{ + unsigned i; + + PJ_ASSERT_RETURN(srv && count && rr_param, PJ_EINVAL); + + for (i=0; ipool, struct rr); + pj_memcpy(&rr->rec, &rr_param[i], sizeof(pj_dns_parsed_rr)); + + pj_list_push_back(&srv->rr_list, rr); + } + + return PJ_SUCCESS; +} + + +PJ_DEF(pj_status_t) pj_dns_server_del_rec( pj_dns_server *srv, + int dns_class, + pj_dns_type type, + const pj_str_t *name) +{ + struct rr *rr; + + PJ_ASSERT_RETURN(srv && type && name, PJ_EINVAL); + + rr = find_rr(srv, dns_class, type, name); + if (!rr) + return PJ_ENOTFOUND; + + pj_list_erase(rr); + + return PJ_SUCCESS; +} + + +static void write16(pj_uint8_t *p, pj_uint16_t val) +{ + p[0] = (pj_uint8_t)(val >> 8); + p[1] = (pj_uint8_t)(val & 0xFF); +} + +static void write32(pj_uint8_t *p, pj_uint32_t val) +{ + val = pj_htonl(val); + pj_memcpy(p, &val, 4); +} + +static int print_name(pj_uint8_t *pkt, int size, + pj_uint8_t *pos, const pj_str_t *name, + struct label_tab *tab) +{ + pj_uint8_t *p = pos; + const char *endlabel, *endname; + unsigned i; + pj_str_t label; + + /* Check if name is in the table */ + for (i=0; icount; ++i) { + if (pj_strcmp(&tab->a[i].label, name)==0) + break; + } + + if (i != tab->count) { + write16(p, (pj_uint16_t)(tab->a[i].pos | (0xc0 << 8))); + return 2; + } else { + if (tab->count < MAX_LABEL) { + tab->a[tab->count].pos = (unsigned)(p-pkt); + tab->a[tab->count].label.ptr = (char*)(p+1); + tab->a[tab->count].label.slen = name->slen; + ++tab->count; + } + } + + endlabel = name->ptr; + endname = name->ptr + name->slen; + + label.ptr = (char*)name->ptr; + + while (endlabel != endname) { + + while (endlabel != endname && *endlabel != '.') + ++endlabel; + + label.slen = (endlabel - label.ptr); + + if (size < label.slen+1) + return -1; + + *p = (pj_uint8_t)label.slen; + pj_memcpy(p+1, label.ptr, label.slen); + + size -= (int)(label.slen+1); + p += (label.slen+1); + + if (endlabel != endname && *endlabel == '.') + ++endlabel; + label.ptr = (char*)endlabel; + } + + if (size == 0) + return -1; + + *p++ = '\0'; + + return (int)(p-pos); +} + +static int print_rr(pj_uint8_t *pkt, int size, pj_uint8_t *pos, + const pj_dns_parsed_rr *rr, struct label_tab *tab) +{ + pj_uint8_t *p = pos; + int len; + + len = print_name(pkt, size, pos, &rr->name, tab); + if (len < 0) + return -1; + + p += len; + size -= len; + + if (size < 8) + return -1; + + pj_assert(rr->dnsclass == 1); + + write16(p+0, (pj_uint16_t)rr->type); /* type */ + write16(p+2, (pj_uint16_t)rr->dnsclass); /* class */ + write32(p+4, rr->ttl); /* TTL */ + + p += 8; + size -= 8; + + if (rr->type == PJ_DNS_TYPE_A) { + + if (size < 6) + return -1; + + /* RDLEN is 4 */ + write16(p, 4); + + /* Address */ + pj_memcpy(p+2, &rr->rdata.a.ip_addr, 4); + + p += 6; + size -= 6; + + } else if (rr->type == PJ_DNS_TYPE_CNAME || + rr->type == PJ_DNS_TYPE_NS || + rr->type == PJ_DNS_TYPE_PTR) { + + if (size < 4) + return -1; + + len = print_name(pkt, size-2, p+2, &rr->rdata.cname.name, tab); + if (len < 0) + return -1; + + write16(p, (pj_uint16_t)len); + + p += (len + 2); + size -= (len + 2); + + } else if (rr->type == PJ_DNS_TYPE_SRV) { + + if (size < 10) + return -1; + + write16(p+2, rr->rdata.srv.prio); /* Priority */ + write16(p+4, rr->rdata.srv.weight); /* Weight */ + write16(p+6, rr->rdata.srv.port); /* Port */ + + /* Target */ + len = print_name(pkt, size-8, p+8, &rr->rdata.srv.target, tab); + if (len < 0) + return -1; + + /* RDLEN */ + write16(p, (pj_uint16_t)(len + 6)); + + p += (len + 8); + size -= (len + 8); + + } else { + pj_assert(!"Not supported"); + return -1; + } + + return (int)(p-pos); +} + +static int print_packet(const pj_dns_parsed_packet *rec, pj_uint8_t *pkt, + int size) +{ + pj_uint8_t *p = pkt; + struct label_tab tab; + int i, len; + + tab.count = 0; + + pj_assert(sizeof(pj_dns_hdr)==12); + if (size < (int)sizeof(pj_dns_hdr)) + return -1; + + /* Initialize header */ + write16(p+0, rec->hdr.id); + write16(p+2, rec->hdr.flags); + write16(p+4, rec->hdr.qdcount); + write16(p+6, rec->hdr.anscount); + write16(p+8, rec->hdr.nscount); + write16(p+10, rec->hdr.arcount); + + p = pkt + sizeof(pj_dns_hdr); + size -= sizeof(pj_dns_hdr); + + /* Print queries */ + for (i=0; ihdr.qdcount; ++i) { + + len = print_name(pkt, size, p, &rec->q[i].name, &tab); + if (len < 0) + return -1; + + p += len; + size -= len; + + if (size < 4) + return -1; + + /* Set type */ + write16(p+0, (pj_uint16_t)rec->q[i].type); + + /* Set class (IN=1) */ + pj_assert(rec->q[i].dnsclass == 1); + write16(p+2, rec->q[i].dnsclass); + + p += 4; + } + + /* Print answers */ + for (i=0; ihdr.anscount; ++i) { + len = print_rr(pkt, size, p, &rec->ans[i], &tab); + if (len < 0) + return -1; + + p += len; + size -= len; + } + + /* Print NS records */ + for (i=0; ihdr.nscount; ++i) { + len = print_rr(pkt, size, p, &rec->ns[i], &tab); + if (len < 0) + return -1; + + p += len; + size -= len; + } + + /* Print additional records */ + for (i=0; ihdr.arcount; ++i) { + len = print_rr(pkt, size, p, &rec->arr[i], &tab); + if (len < 0) + return -1; + + p += len; + size -= len; + } + + return (int)(p - pkt); +} + + +static pj_bool_t on_data_recvfrom(pj_activesock_t *asock, + void *data, + pj_size_t size, + const pj_sockaddr_t *src_addr, + int addr_len, + pj_status_t status) +{ + pj_dns_server *srv; + pj_pool_t *pool; + pj_dns_parsed_packet *req; + pj_dns_parsed_packet ans; + struct rr *rr; + pj_ssize_t pkt_len; + unsigned i; + + if (status != PJ_SUCCESS) + return PJ_TRUE; + + srv = (pj_dns_server*) pj_activesock_get_user_data(asock); + pool = pj_pool_create(srv->pf, "dnssrvrx", 512, 256, NULL); + + status = pj_dns_parse_packet(pool, data, (unsigned)size, &req); + if (status != PJ_SUCCESS) { + char addrinfo[PJ_INET6_ADDRSTRLEN+10]; + pj_sockaddr_print(src_addr, addrinfo, sizeof(addrinfo), 3); + PJ_LOG(4,(THIS_FILE, "Error parsing query from %s", addrinfo)); + goto on_return; + } + + /* Init answer */ + pj_bzero(&ans, sizeof(ans)); + ans.hdr.id = req->hdr.id; + ans.hdr.qdcount = 1; + ans.q = (pj_dns_parsed_query*) PJ_POOL_ALLOC_T(pool, pj_dns_parsed_query); + pj_memcpy(ans.q, req->q, sizeof(pj_dns_parsed_query)); + + if (req->hdr.qdcount != 1) { + ans.hdr.flags = PJ_DNS_SET_RCODE(PJ_DNS_RCODE_FORMERR); + goto send_pkt; + } + + if (req->q[0].dnsclass != PJ_DNS_CLASS_IN) { + ans.hdr.flags = PJ_DNS_SET_RCODE(PJ_DNS_RCODE_NOTIMPL); + goto send_pkt; + } + + /* Find the record */ + rr = find_rr(srv, req->q->dnsclass, req->q->type, &req->q->name); + if (rr == NULL) { + ans.hdr.flags = PJ_DNS_SET_RCODE(PJ_DNS_RCODE_NXDOMAIN); + goto send_pkt; + } + + /* Init answer record */ + ans.hdr.anscount = 0; + ans.ans = (pj_dns_parsed_rr*) + pj_pool_calloc(pool, MAX_ANS, sizeof(pj_dns_parsed_rr)); + + /* DNS SRV query needs special treatment since it returns multiple + * records + */ + if (req->q->type == PJ_DNS_TYPE_SRV) { + struct rr *r; + + r = srv->rr_list.next; + while (r != &srv->rr_list) { + if (r->rec.dnsclass == req->q->dnsclass && + r->rec.type == PJ_DNS_TYPE_SRV && + pj_stricmp(&r->rec.name, &req->q->name)==0 && + ans.hdr.anscount < MAX_ANS) + { + pj_memcpy(&ans.ans[ans.hdr.anscount], &r->rec, + sizeof(pj_dns_parsed_rr)); + ++ans.hdr.anscount; + } + r = r->next; + } + } else { + /* Otherwise just copy directly from the server record */ + pj_memcpy(&ans.ans[ans.hdr.anscount], &rr->rec, + sizeof(pj_dns_parsed_rr)); + ++ans.hdr.anscount; + } + + /* For each CNAME entry, add A entry */ + for (i=0; irec, + sizeof(pj_dns_parsed_rr)); + ++ans.hdr.anscount; + } + } + +send_pkt: + pkt_len = print_packet(&ans, (pj_uint8_t*)data, MAX_PKT); + if (pkt_len < 1) { + PJ_LOG(4,(THIS_FILE, "Error: answer too large")); + goto on_return; + } + + status = pj_activesock_sendto(srv->asock, &srv->send_key, data, &pkt_len, + 0, src_addr, addr_len); + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + PJ_LOG(4,(THIS_FILE, "Error sending answer, status=%d", status)); + goto on_return; + } + +on_return: + pj_pool_release(pool); + return PJ_TRUE; +} + diff --git a/pjlib-util/src/pjlib-util/errno.c b/pjlib-util/src/pjlib-util/errno.c new file mode 100644 index 0000000..3009c25 --- /dev/null +++ b/pjlib-util/src/pjlib-util/errno.c @@ -0,0 +1,188 @@ +/* $Id: errno.c 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + + + +/* PJLIB_UTIL's own error codes/messages + * MUST KEEP THIS ARRAY SORTED!! + * Message must be limited to 64 chars! + */ +#if defined(PJ_HAS_ERROR_STRING) && PJ_HAS_ERROR_STRING!=0 +static const struct +{ + int code; + const char *msg; +} err_str[] = +{ + /* STUN errors */ + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNRESOLVE, "Unable to resolve STUN server" ), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNINMSGTYPE, "Unknown STUN message type" ), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNINMSGLEN, "Invalid STUN message length" ), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNINATTRLEN, "STUN attribute length error" ), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNINATTRTYPE, "Invalid STUN attribute type" ), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNININDEX, "Invalid STUN server/socket index" ), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNNOBINDRES, "No STUN binding response in the message" ), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNRECVERRATTR, "Received STUN error attribute" ), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNNOMAP, "No STUN mapped address attribute" ), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNNOTRESPOND, "Received no response from STUN server" ), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNSYMMETRIC, "Symetric NAT detected by STUN" ), + + /* XML errors */ + PJ_BUILD_ERR( PJLIB_UTIL_EINXML, "Invalid XML message" ), + + /* JSON errors */ + PJ_BUILD_ERR( PJLIB_UTIL_EINJSON, "Invalid JSON document" ), + + /* DNS errors */ + PJ_BUILD_ERR( PJLIB_UTIL_EDNSQRYTOOSMALL, "DNS query packet buffer is too small"), + PJ_BUILD_ERR( PJLIB_UTIL_EDNSINSIZE, "Invalid DNS packet length"), + PJ_BUILD_ERR( PJLIB_UTIL_EDNSINCLASS, "Invalid DNS class"), + PJ_BUILD_ERR( PJLIB_UTIL_EDNSINNAMEPTR, "Invalid DNS name pointer"), + PJ_BUILD_ERR( PJLIB_UTIL_EDNSINNSADDR, "Invalid DNS nameserver address"), + PJ_BUILD_ERR( PJLIB_UTIL_EDNSNONS, "No nameserver is in DNS resolver"), + PJ_BUILD_ERR( PJLIB_UTIL_EDNSNOWORKINGNS, "No working DNS nameserver"), + PJ_BUILD_ERR( PJLIB_UTIL_EDNSNOANSWERREC, "No answer record in the DNS response"), + PJ_BUILD_ERR( PJLIB_UTIL_EDNSINANSWER, "Invalid DNS answer"), + + PJ_BUILD_ERR( PJLIB_UTIL_EDNS_FORMERR, "DNS \"Format error\""), + PJ_BUILD_ERR( PJLIB_UTIL_EDNS_SERVFAIL, "DNS \"Server failure\""), + PJ_BUILD_ERR( PJLIB_UTIL_EDNS_NXDOMAIN, "DNS \"Name Error\""), + PJ_BUILD_ERR( PJLIB_UTIL_EDNS_NOTIMPL, "DNS \"Not Implemented\""), + PJ_BUILD_ERR( PJLIB_UTIL_EDNS_REFUSED, "DNS \"Refused\""), + PJ_BUILD_ERR( PJLIB_UTIL_EDNS_YXDOMAIN, "DNS \"The name exists\""), + PJ_BUILD_ERR( PJLIB_UTIL_EDNS_YXRRSET, "DNS \"The RRset (name, type) exists\""), + PJ_BUILD_ERR( PJLIB_UTIL_EDNS_NXRRSET, "DNS \"The RRset (name, type) does not exist\""), + PJ_BUILD_ERR( PJLIB_UTIL_EDNS_NOTAUTH, "DNS \"Not authorized\""), + PJ_BUILD_ERR( PJLIB_UTIL_EDNS_NOTZONE, "DNS \"The zone specified is not a zone\""), + + /* STUN */ + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNTOOMANYATTR, "Too many STUN attributes"), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNUNKNOWNATTR, "Unknown STUN attribute"), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNINADDRLEN, "Invalid STUN socket address length"), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNIPV6NOTSUPP, "STUN IPv6 attribute not supported"), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNNOTRESPONSE, "Expecting STUN response message"), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNINVALIDID, "STUN transaction ID mismatch"), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNNOHANDLER, "Unable to find STUN handler for the request"), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNMSGINTPOS, "Found non-FINGERPRINT attr. after MESSAGE-INTEGRITY"), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNFINGERPOS, "Found STUN attribute after FINGERPRINT"), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNNOUSERNAME, "Missing STUN USERNAME attribute"), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNMSGINT, "Missing/invalid STUN MESSAGE-INTEGRITY attribute"), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNDUPATTR, "Found duplicate STUN attribute"), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNNOREALM, "Missing STUN REALM attribute"), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNNONCE, "Missing/stale STUN NONCE attribute value"), + PJ_BUILD_ERR( PJLIB_UTIL_ESTUNTSXFAILED, "STUN transaction terminates with failure"), + + /* HTTP Client */ + PJ_BUILD_ERR( PJLIB_UTIL_EHTTPINURL, "Invalid URL format"), + PJ_BUILD_ERR( PJLIB_UTIL_EHTTPINPORT, "Invalid URL port number"), + PJ_BUILD_ERR( PJLIB_UTIL_EHTTPINCHDR, "Incomplete response header received"), + PJ_BUILD_ERR( PJLIB_UTIL_EHTTPINSBUF, "Insufficient buffer"), + PJ_BUILD_ERR( PJLIB_UTIL_EHTTPLOST, "Connection lost"), + + /* CLI */ + PJ_BUILD_ERR( PJ_CLI_EEXIT, "Exit current session"), + PJ_BUILD_ERR( PJ_CLI_EMISSINGARG, "Missing argument"), + PJ_BUILD_ERR( PJ_CLI_ETOOMANYARGS, "Too many arguments"), + PJ_BUILD_ERR( PJ_CLI_EINVARG, "Invalid argument"), + PJ_BUILD_ERR( PJ_CLI_EBADNAME, "Command name already exists"), + PJ_BUILD_ERR( PJ_CLI_EBADID, "Command id already exists"), + PJ_BUILD_ERR( PJ_CLI_EBADXML, "Invalid XML format"), + PJ_BUILD_ERR( PJ_CLI_ETELNETLOST, "Connection lost"), +}; +#endif /* PJ_HAS_ERROR_STRING */ + + +/* + * pjlib_util_strerror() + */ +pj_str_t pjlib_util_strerror(pj_status_t statcode, + char *buf, pj_size_t bufsize ) +{ + pj_str_t errstr; + +#if defined(PJ_HAS_ERROR_STRING) && (PJ_HAS_ERROR_STRING != 0) + + if (statcode >= PJLIB_UTIL_ERRNO_START && + statcode < PJLIB_UTIL_ERRNO_START + PJ_ERRNO_SPACE_SIZE) + { + /* Find the error in the table. + * Use binary search! + */ + int first = 0; + int n = PJ_ARRAY_SIZE(err_str); + + while (n > 0) { + int half = n/2; + int mid = first + half; + + if (err_str[mid].code < statcode) { + first = mid+1; + n -= (half+1); + } else if (err_str[mid].code > statcode) { + n = half; + } else { + first = mid; + break; + } + } + + + if (PJ_ARRAY_SIZE(err_str) && err_str[first].code == statcode) { + pj_str_t msg; + + msg.ptr = (char*)err_str[first].msg; + msg.slen = pj_ansi_strlen(err_str[first].msg); + + errstr.ptr = buf; + pj_strncpy_with_null(&errstr, &msg, bufsize); + return errstr; + + } + } + +#endif /* PJ_HAS_ERROR_STRING */ + + + /* Error not found. */ + errstr.ptr = buf; + errstr.slen = pj_ansi_snprintf(buf, bufsize, + "Unknown pjlib-util error %d", + statcode); + if (errstr.slen < 1 || errstr.slen >= (pj_ssize_t)bufsize) + errstr.slen = bufsize - 1; + return errstr; +} + + +PJ_DEF(pj_status_t) pjlib_util_init(void) +{ + pj_status_t status; + + status = pj_register_strerror(PJLIB_UTIL_ERRNO_START, + PJ_ERRNO_SPACE_SIZE, + &pjlib_util_strerror); + pj_assert(status == PJ_SUCCESS); + + return PJ_SUCCESS; +} diff --git a/pjlib-util/src/pjlib-util/getopt.c b/pjlib-util/src/pjlib-util/getopt.c new file mode 100644 index 0000000..426fd27 --- /dev/null +++ b/pjlib-util/src/pjlib-util/getopt.c @@ -0,0 +1,731 @@ +/* $Id: getopt.c 4713 2014-01-23 08:13:11Z nanang $ */ +/* + * pj_getopt entry points + * + * modified by Mike Borella + */ + +#include +#include + +/* Internal only. Users should not call this directly. */ +static +int _getopt_internal (int argc, char *const *argv, + const char *shortopts, + const struct pj_getopt_option *longopts, int *longind, + int long_only); + +/* pj_getopt_long and pj_getopt_long_only entry points for GNU pj_getopt. + Copyright (C) 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + + +/* Comment out all this code if we are using the GNU C Library, and are not + actually compiling the library itself. This code is part of the GNU C + Library, but also included in many other GNU distributions. Compiling + and linking in this code is a waste when using the GNU C library + (especially if it is a shared library). Rather than having every GNU + program understand `configure --with-gnu-libc' and omit the object files, + it is simpler to just do this in the source for each such file. */ + +# define GETOPT_INTERFACE_VERSION 2 + + +int +pj_getopt_long (int argc, char *const *argv, const char *options, + const struct pj_getopt_option *long_options, int *opt_index) +{ + return _getopt_internal (argc, argv, options, long_options, opt_index, 0); +} + +/* Like pj_getopt_long, but '-' as well as '--' can indicate a long option. + If an option that starts with '-' (not '--') doesn't match a long option, + but does match a short option, it is parsed as a short option + instead. */ + +int +pj_getopt (int argc, char * const * argv, const char * optstring) +{ + return _getopt_internal (argc, argv, optstring, + (const struct pj_getopt_option *) 0, + (int *) 0, + 0); +} + + +#define _(msgid) (msgid) + +/* This version of `pj_getopt' appears to the caller like standard Unix `pj_getopt' + but it behaves differently for the user, since it allows the user + to intersperse the options with the other arguments. + + As `pj_getopt' works, it permutes the elements of ARGV so that, + when it is done, all the options precede everything else. Thus + all application programs are extended to handle flexible argument order. + + Setting the environment variable POSIXLY_CORRECT disables permutation. + Then the behavior is completely standard. + + GNU application programs can use a third alternative mode in which + they can distinguish the relative order of options and other arguments. */ + +/* For communication from `pj_getopt' to the caller. + When `pj_getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when `ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + +char *pj_optarg = NULL; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to `pj_getopt'. + + On entry to `pj_getopt', zero means this is the first call; initialize. + + When `pj_getopt' returns -1, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, `pj_optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + +/* 1003.2 says this must be 1 before any call. */ +int pj_optind = 1; + +/* Formerly, initialization of pj_getopt depended on pj_optind==0, which + causes problems with re-calling pj_getopt as programs generally don't + know that. */ + +static int __getopt_initialized = 0; + +/* The next char to be scanned in the option-element + in which the last option character we returned was found. + This allows us to pick up the scan where we left off. + + If this is zero, or a null string, it means resume the scan + by advancing to the next ARGV-element. */ + +static char *nextchar; + +/* Set to an option character which was unrecognized. + This must be initialized on some systems to avoid linking in the + system's own pj_getopt implementation. */ + +int pj_optopt = '?'; + +/* Describe how to deal with options that follow non-option ARGV-elements. + + If the caller did not specify anything, + the default is REQUIRE_ORDER if the environment variable + POSIXLY_CORRECT is defined, PERMUTE otherwise. + + REQUIRE_ORDER means don't recognize them as options; + stop option processing when the first non-option is seen. + This is what Unix does. + This mode of operation is selected by either setting the environment + variable POSIXLY_CORRECT, or using `+' as the first character + of the list of option characters. + + PERMUTE is the default. We permute the contents of ARGV as we scan, + so that eventually all the non-options are at the end. This allows options + to be given in any order, even with programs that were not written to + expect this. + + RETURN_IN_ORDER is an option available to programs that were written + to expect options and other ARGV-elements in any order and that care about + the ordering of the two. We describe each non-option ARGV-element + as if it were the argument of an option with character code 1. + Using `-' as the first character of the list of option characters + selects this mode of operation. + + The special argument `--' forces an end of option-scanning regardless + of the value of `ordering'. In the case of RETURN_IN_ORDER, only + `--' can cause `pj_getopt' to return -1 with `pj_optind' != ARGC. */ + +static enum +{ + REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER +} ordering; + +/* Value of POSIXLY_CORRECT environment variable. */ +static char *posixly_correct; + +static char * +my_index (const char *str, int chr) +{ + while (*str) + { + if (*str == chr) + return (char *) str; + str++; + } + return 0; +} + + +/* Handle permutation of arguments. */ + +/* Describe the part of ARGV that contains non-options that have + been skipped. `first_nonopt' is the index in ARGV of the first of them; + `last_nonopt' is the index after the last of them. */ + +static int first_nonopt; +static int last_nonopt; + +# define SWAP_FLAGS(ch1, ch2) + +/* Exchange two adjacent subsequences of ARGV. + One subsequence is elements [first_nonopt,last_nonopt) + which contains all the non-options that have been skipped so far. + The other is elements [last_nonopt,pj_optind), which contains all + the options processed since those non-options were skipped. + + `first_nonopt' and `last_nonopt' are relocated so that they describe + the new indices of the non-options in ARGV after they are moved. */ + +static void +exchange (char **argv) +{ + int bottom = first_nonopt; + int middle = last_nonopt; + int top = pj_optind; + char *tem; + + /* Exchange the shorter segment with the far end of the longer segment. + That puts the shorter segment into the right place. + It leaves the longer segment in the right place overall, + but it consists of two parts that need to be swapped next. */ + + while (top > middle && middle > bottom) + { + if (top - middle > middle - bottom) + { + /* Bottom segment is the short one. */ + int len = middle - bottom; + register int i; + + /* Swap it with the top part of the top segment. */ + for (i = 0; i < len; i++) + { + tem = argv[bottom + i]; + argv[bottom + i] = argv[top - (middle - bottom) + i]; + argv[top - (middle - bottom) + i] = tem; + SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); + } + /* Exclude the moved bottom segment from further swapping. */ + top -= len; + } + else + { + /* Top segment is the short one. */ + int len = top - middle; + register int i; + + /* Swap it with the bottom part of the bottom segment. */ + for (i = 0; i < len; i++) + { + tem = argv[bottom + i]; + argv[bottom + i] = argv[middle + i]; + argv[middle + i] = tem; + SWAP_FLAGS (bottom + i, middle + i); + } + /* Exclude the moved top segment from further swapping. */ + bottom += len; + } + } + + /* Update records for the slots the non-options now occupy. */ + + first_nonopt += (pj_optind - last_nonopt); + last_nonopt = pj_optind; +} + +/* Initialize the internal data when the first call is made. */ + +static const char *_getopt_initialize (int argc, char *const *argv, + const char *optstring) +{ + PJ_UNUSED_ARG(argc); + PJ_UNUSED_ARG(argv); + + /* Start processing options with ARGV-element 1 (since ARGV-element 0 + is the program name); the sequence of previously skipped + non-option ARGV-elements is empty. */ + + first_nonopt = last_nonopt = pj_optind; + + nextchar = NULL; + + //posixly_correct = getenv ("POSIXLY_CORRECT"); + posixly_correct = NULL; + + /* Determine how to handle the ordering of options and nonoptions. */ + + if (optstring[0] == '-') + { + ordering = RETURN_IN_ORDER; + ++optstring; + } + else if (optstring[0] == '+') + { + ordering = REQUIRE_ORDER; + ++optstring; + } + else if (posixly_correct != NULL) + ordering = REQUIRE_ORDER; + else + ordering = PERMUTE; + + return optstring; +} + +/* Scan elements of ARGV (whose length is ARGC) for option characters + given in OPTSTRING. + + If an element of ARGV starts with '-', and is not exactly "-" or "--", + then it is an option element. The characters of this element + (aside from the initial '-') are option characters. If `pj_getopt' + is called repeatedly, it returns successively each of the option characters + from each of the option elements. + + If `pj_getopt' finds another option character, it returns that character, + updating `pj_optind' and `nextchar' so that the next call to `pj_getopt' can + resume the scan with the following option character or ARGV-element. + + If there are no more option characters, `pj_getopt' returns -1. + Then `pj_optind' is the index in ARGV of the first ARGV-element + that is not an option. (The ARGV-elements have been permuted + so that those that are not options now come last.) + + OPTSTRING is a string containing the legitimate option characters. + If an option character is seen that is not listed in OPTSTRING, + return '?' after printing an error message. If you set `pj_opterr' to + zero, the error message is suppressed but we still return '?'. + + If a char in OPTSTRING is followed by a colon, that means it wants an arg, + so the following text in the same ARGV-element, or the text of the following + ARGV-element, is returned in `pj_optarg'. Two colons mean an option that + wants an optional arg; if there is text in the current ARGV-element, + it is returned in `pj_optarg', otherwise `pj_optarg' is set to zero. + + If OPTSTRING starts with `-' or `+', it requests different methods of + handling the non-option ARGV-elements. + See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. + + Long-named options begin with `--' instead of `-'. + Their names may be abbreviated as long as the abbreviation is unique + or is an exact match for some defined option. If they have an + argument, it follows the option name in the same ARGV-element, separated + from the option name by a `=', or else the in next ARGV-element. + When `pj_getopt' finds a long-named option, it returns 0 if that option's + `flag' field is nonzero, the value of the option's `val' field + if the `flag' field is zero. + + The elements of ARGV aren't really const, because we permute them. + But we pretend they're const in the prototype to be compatible + with other systems. + + LONGOPTS is a vector of `struct pj_getopt_option' terminated by an + element containing a name which is zero. + + LONGIND returns the index in LONGOPT of the long-named option found. + It is only valid when a long-named option has been found by the most + recent call. + + If LONG_ONLY is nonzero, '-' as well as '--' can introduce + long-named options. */ + +static int +_getopt_internal (int argc, char *const *argv, const char *optstring, + const struct pj_getopt_option *longopts, int *longind, + int long_only) +{ + pj_optarg = NULL; + + if (pj_optind == 0 || !__getopt_initialized) + { + if (pj_optind == 0) + pj_optind = 1; /* Don't scan ARGV[0], the program name. */ + optstring = _getopt_initialize (argc, argv, optstring); + __getopt_initialized = 1; + } + + /* Test whether ARGV[pj_optind] points to a non-option argument. + Either it does not have option syntax, or there is an environment flag + from the shell indicating it is not an option. The later information + is only used when the used in the GNU libc. */ +#define NONOPTION_P (argv[pj_optind][0] != '-' || argv[pj_optind][1] == '\0') + + if (nextchar == NULL || *nextchar == '\0') + { + /* Advance to the next ARGV-element. */ + + /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been + moved back by the user (who may also have changed the arguments). */ + if (last_nonopt > pj_optind) + last_nonopt = pj_optind; + if (first_nonopt > pj_optind) + first_nonopt = pj_optind; + + if (ordering == PERMUTE) + { + /* If we have just processed some options following some non-options, + exchange them so that the options come first. */ + + if (first_nonopt != last_nonopt && last_nonopt != pj_optind) + exchange ((char **) argv); + else if (last_nonopt != pj_optind) + first_nonopt = pj_optind; + + /* Skip any additional non-options + and extend the range of non-options previously skipped. */ + + while (pj_optind < argc && NONOPTION_P) + pj_optind++; + last_nonopt = pj_optind; + } + + /* The special ARGV-element `--' means premature end of options. + Skip it like a null option, + then exchange with previous non-options as if it were an option, + then skip everything else like a non-option. */ + + if (pj_optind != argc && !pj_ansi_strcmp(argv[pj_optind], "--")) + { + pj_optind++; + + if (first_nonopt != last_nonopt && last_nonopt != pj_optind) + exchange ((char **) argv); + else if (first_nonopt == last_nonopt) + first_nonopt = pj_optind; + last_nonopt = argc; + + pj_optind = argc; + } + + /* If we have done all the ARGV-elements, stop the scan + and back over any non-options that we skipped and permuted. */ + + if (pj_optind == argc) + { + /* Set the next-arg-index to point at the non-options + that we previously skipped, so the caller will digest them. */ + if (first_nonopt != last_nonopt) + pj_optind = first_nonopt; + return -1; + } + + /* If we have come to a non-option and did not permute it, + either stop the scan or describe it to the caller and pass it by. */ + + if (NONOPTION_P) + { + if (ordering == REQUIRE_ORDER) + return -1; + pj_optarg = argv[pj_optind++]; + return 1; + } + + /* We have found another option-ARGV-element. + Skip the initial punctuation. */ + + nextchar = (argv[pj_optind] + 1 + + (longopts != NULL && argv[pj_optind][1] == '-')); + } + + /* Decode the current option-ARGV-element. */ + + /* Check whether the ARGV-element is a long option. + + If long_only and the ARGV-element has the form "-f", where f is + a valid short option, don't consider it an abbreviated form of + a long option that starts with f. Otherwise there would be no + way to give the -f short option. + + On the other hand, if there's a long option "fubar" and + the ARGV-element is "-fu", do consider that an abbreviation of + the long option, just like "--fu", and not "-f" with arg "u". + + This distinction seems to be the most useful approach. */ + + if (longopts != NULL + && (argv[pj_optind][1] == '-' + || (long_only && (argv[pj_optind][2] || !my_index (optstring, argv[pj_optind][1]))))) + { + char *nameend; + const struct pj_getopt_option *p; + const struct pj_getopt_option *pfound = NULL; + int exact = 0; + int ambig = 0; + int indfound = -1; + int option_index; + + for (nameend = nextchar; *nameend && *nameend != '='; nameend++) + /* Do nothing. */ ; + + /* Test all long options for either exact match + or abbreviated matches. */ + for (p = longopts, option_index = 0; p->name; p++, option_index++) + if (!strncmp (p->name, nextchar, nameend - nextchar)) + { + if ((unsigned int) (nameend - nextchar) + == (unsigned int) strlen (p->name)) + { + /* Exact match found. */ + pfound = p; + indfound = option_index; + exact = 1; + break; + } + else if (pfound == NULL) + { + /* First nonexact match found. */ + pfound = p; + indfound = option_index; + } + else + /* Second or later nonexact match found. */ + ambig = 1; + } + + if (ambig && !exact) + { + nextchar += strlen (nextchar); + pj_optind++; + pj_optopt = 0; + return '?'; + } + + if (pfound != NULL) + { + option_index = indfound; + pj_optind++; + if (*nameend) + { + /* Don't test has_arg with >, because some C compilers don't + allow it to be used on enums. */ + if (pfound->has_arg) + pj_optarg = nameend + 1; + else + { + nextchar += strlen (nextchar); + + pj_optopt = pfound->val; + return '?'; + } + } + else if (pfound->has_arg == 1) + { + if (pj_optind < argc) + pj_optarg = argv[pj_optind++]; + else + { + nextchar += strlen (nextchar); + pj_optopt = pfound->val; + return optstring[0] == ':' ? ':' : '?'; + } + } + nextchar += strlen (nextchar); + if (longind != NULL) + *longind = option_index; + if (pfound->flag) + { + *(pfound->flag) = pfound->val; + return 0; + } + return pfound->val; + } + + /* Can't find it as a long option. If this is not pj_getopt_long_only, + or the option starts with '--' or is not a valid short + option, then it's an error. + Otherwise interpret it as a short option. */ + if (!long_only || argv[pj_optind][1] == '-' + || my_index (optstring, *nextchar) == NULL) + { + nextchar = (char *) ""; + pj_optind++; + pj_optopt = 0; + return '?'; + } + } + + /* Look at and handle the next short option-character. */ + + { + char c = *nextchar++; + char *temp = my_index (optstring, c); + + /* Increment `pj_optind' when we start to process its last character. */ + if (*nextchar == '\0') + ++pj_optind; + + if (temp == NULL || c == ':') + { + pj_optopt = c; + return '?'; + } + /* Convenience. Treat POSIX -W foo same as long option --foo */ + if (temp[0] == 'W' && temp[1] == ';') + { + char *nameend; + const struct pj_getopt_option *p; + const struct pj_getopt_option *pfound = NULL; + int exact = 0; + int ambig = 0; + int indfound = 0; + int option_index; + + /* This is an option that requires an argument. */ + if (*nextchar != '\0') + { + pj_optarg = nextchar; + /* If we end this ARGV-element by taking the rest as an arg, + we must advance to the next element now. */ + pj_optind++; + } + else if (pj_optind == argc) + { + pj_optopt = c; + if (optstring[0] == ':') + c = ':'; + else + c = '?'; + return c; + } + else + /* We already incremented `pj_optind' once; + increment it again when taking next ARGV-elt as argument. */ + pj_optarg = argv[pj_optind++]; + + /* pj_optarg is now the argument, see if it's in the + table of longopts. */ + + for (nextchar = nameend = pj_optarg; *nameend && *nameend != '='; nameend++) + /* Do nothing. */ ; + + /* Test all long options for either exact match + or abbreviated matches. */ + for (p = longopts, option_index = 0; p->name; p++, option_index++) + if (!strncmp (p->name, nextchar, nameend - nextchar)) + { + if ((unsigned int) (nameend - nextchar) == strlen (p->name)) + { + /* Exact match found. */ + pfound = p; + indfound = option_index; + exact = 1; + break; + } + else if (pfound == NULL) + { + /* First nonexact match found. */ + pfound = p; + indfound = option_index; + } + else + /* Second or later nonexact match found. */ + ambig = 1; + } + if (ambig && !exact) + { + nextchar += strlen (nextchar); + pj_optind++; + return '?'; + } + if (pfound != NULL) + { + option_index = indfound; + if (*nameend) + { + /* Don't test has_arg with >, because some C compilers don't + allow it to be used on enums. */ + if (pfound->has_arg) + pj_optarg = nameend + 1; + else + { + nextchar += strlen (nextchar); + return '?'; + } + } + else if (pfound->has_arg == 1) + { + if (pj_optind < argc) + pj_optarg = argv[pj_optind++]; + else + { + nextchar += strlen (nextchar); + return optstring[0] == ':' ? ':' : '?'; + } + } + nextchar += strlen (nextchar); + if (longind != NULL) + *longind = option_index; + if (pfound->flag) + { + *(pfound->flag) = pfound->val; + return 0; + } + return pfound->val; + } + nextchar = NULL; + return 'W'; /* Let the application handle it. */ + } + if (temp[1] == ':') + { + if (temp[2] == ':') + { + /* This is an option that accepts an argument optionally. */ + if (*nextchar != '\0') + { + pj_optarg = nextchar; + pj_optind++; + } + else + pj_optarg = NULL; + nextchar = NULL; + } + else + { + /* This is an option that requires an argument. */ + if (*nextchar != '\0') + { + pj_optarg = nextchar; + /* If we end this ARGV-element by taking the rest as an arg, + we must advance to the next element now. */ + pj_optind++; + } + else if (pj_optind == argc) + { + pj_optopt = c; + if (optstring[0] == ':') + c = ':'; + else + c = '?'; + } + else + /* We already incremented `pj_optind' once; + increment it again when taking next ARGV-elt as argument. */ + pj_optarg = argv[pj_optind++]; + nextchar = NULL; + } + } + return c; + } +} + diff --git a/pjlib-util/src/pjlib-util/hmac_md5.c b/pjlib-util/src/pjlib-util/hmac_md5.c new file mode 100644 index 0000000..9d61e39 --- /dev/null +++ b/pjlib-util/src/pjlib-util/hmac_md5.c @@ -0,0 +1,97 @@ +/* $Id: hmac_md5.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include + + +PJ_DEF(void) pj_hmac_md5_init(pj_hmac_md5_context *hctx, + const pj_uint8_t *key, unsigned key_len) +{ + pj_uint8_t k_ipad[64]; + pj_uint8_t tk[16]; + int i; + + /* if key is longer than 64 bytes reset it to key=MD5(key) */ + if (key_len > 64) { + pj_md5_context tctx; + + pj_md5_init(&tctx); + pj_md5_update(&tctx, key, key_len); + pj_md5_final(&tctx, tk); + + key = tk; + key_len = 16; + } + + /* + * HMAC = H(K XOR opad, H(K XOR ipad, text)) + */ + + /* start out by storing key in pads */ + pj_bzero( k_ipad, sizeof(k_ipad)); + pj_bzero( hctx->k_opad, sizeof(hctx->k_opad)); + pj_memcpy( k_ipad, key, key_len); + pj_memcpy( hctx->k_opad, key, key_len); + + /* XOR key with ipad and opad values */ + for (i=0; i<64; i++) { + k_ipad[i] ^= 0x36; + hctx->k_opad[i] ^= 0x5c; + } + /* + * perform inner MD5 + */ + pj_md5_init(&hctx->context); + pj_md5_update(&hctx->context, k_ipad, 64); + +} + +PJ_DEF(void) pj_hmac_md5_update(pj_hmac_md5_context *hctx, + const pj_uint8_t *input, + unsigned input_len) +{ + pj_md5_update(&hctx->context, input, input_len); +} + +PJ_DEF(void) pj_hmac_md5_final(pj_hmac_md5_context *hctx, + pj_uint8_t digest[16]) +{ + pj_md5_final(&hctx->context, digest); + + /* + * perform outer MD5 + */ + pj_md5_init(&hctx->context); + pj_md5_update(&hctx->context, hctx->k_opad, 64); + pj_md5_update(&hctx->context, digest, 16); + pj_md5_final(&hctx->context, digest); +} + +PJ_DEF(void) pj_hmac_md5( const pj_uint8_t *input, unsigned input_len, + const pj_uint8_t *key, unsigned key_len, + pj_uint8_t digest[16] ) +{ + pj_hmac_md5_context ctx; + + pj_hmac_md5_init(&ctx, key, key_len); + pj_hmac_md5_update(&ctx, input, input_len); + pj_hmac_md5_final(&ctx, digest); +} + diff --git a/pjlib-util/src/pjlib-util/hmac_sha1.c b/pjlib-util/src/pjlib-util/hmac_sha1.c new file mode 100644 index 0000000..394a01a --- /dev/null +++ b/pjlib-util/src/pjlib-util/hmac_sha1.c @@ -0,0 +1,95 @@ +/* $Id: hmac_sha1.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include + + +PJ_DEF(void) pj_hmac_sha1_init(pj_hmac_sha1_context *hctx, + const pj_uint8_t *key, unsigned key_len) +{ + pj_uint8_t k_ipad[64]; + pj_uint8_t tk[20]; + unsigned i; + + /* if key is longer than 64 bytes reset it to key=SHA1(key) */ + if (key_len > 64) { + pj_sha1_context tctx; + + pj_sha1_init(&tctx); + pj_sha1_update(&tctx, key, key_len); + pj_sha1_final(&tctx, tk); + + key = tk; + key_len = 20; + } + + /* + * HMAC = H(K XOR opad, H(K XOR ipad, text)) + */ + + /* start out by storing key in pads */ + pj_bzero( k_ipad, sizeof(k_ipad)); + pj_bzero( hctx->k_opad, sizeof(hctx->k_opad)); + pj_memcpy( k_ipad, key, key_len); + pj_memcpy( hctx->k_opad, key, key_len); + + /* XOR key with ipad and opad values */ + for (i=0; i<64; i++) { + k_ipad[i] ^= 0x36; + hctx->k_opad[i] ^= 0x5c; + } + /* + * perform inner SHA1 + */ + pj_sha1_init(&hctx->context); + pj_sha1_update(&hctx->context, k_ipad, 64); +} + +PJ_DEF(void) pj_hmac_sha1_update(pj_hmac_sha1_context *hctx, + const pj_uint8_t *input, unsigned input_len) +{ + pj_sha1_update(&hctx->context, input, input_len); +} + +PJ_DEF(void) pj_hmac_sha1_final(pj_hmac_sha1_context *hctx, + pj_uint8_t digest[20]) +{ + pj_sha1_final(&hctx->context, digest); + + /* + * perform outer SHA1 + */ + pj_sha1_init(&hctx->context); + pj_sha1_update(&hctx->context, hctx->k_opad, 64); + pj_sha1_update(&hctx->context, digest, 20); + pj_sha1_final(&hctx->context, digest); +} + +PJ_DEF(void) pj_hmac_sha1(const pj_uint8_t *input, unsigned input_len, + const pj_uint8_t *key, unsigned key_len, + pj_uint8_t digest[20] ) +{ + pj_hmac_sha1_context ctx; + + pj_hmac_sha1_init(&ctx, key, key_len); + pj_hmac_sha1_update(&ctx, input, input_len); + pj_hmac_sha1_final(&ctx, digest); +} + diff --git a/pjlib-util/src/pjlib-util/http_client.c b/pjlib-util/src/pjlib-util/http_client.c new file mode 100644 index 0000000..30a715e --- /dev/null +++ b/pjlib-util/src/pjlib-util/http_client.c @@ -0,0 +1,1659 @@ +/* $Id: http_client.c 4713 2014-01-23 08:13:11Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define THIS_FILE "http_client.c" + +#if 0 + /* Enable some tracing */ + #define TRACE_(arg) PJ_LOG(3,arg) +#else + #define TRACE_(arg) +#endif + +#define NUM_PROTOCOL 2 +#define HTTP_1_0 "1.0" +#define HTTP_1_1 "1.1" +#define CONTENT_LENGTH "Content-Length" +/* Buffer size for sending/receiving messages. */ +#define BUF_SIZE 2048 +/* Initial data buffer size to store the data in case content- + * length is not specified in the server's response. + */ +#define INITIAL_DATA_BUF_SIZE 2048 +#define INITIAL_POOL_SIZE 1024 +#define POOL_INCREMENT_SIZE 512 + +enum http_protocol +{ + PROTOCOL_HTTP, + PROTOCOL_HTTPS +}; + +static const char *http_protocol_names[NUM_PROTOCOL] = +{ + "HTTP", + "HTTPS" +}; + +static const unsigned int http_default_port[NUM_PROTOCOL] = +{ + 80, + 443 +}; + +enum http_method +{ + HTTP_GET, + HTTP_PUT, + HTTP_DELETE +}; + +static const char *http_method_names[3] = +{ + "GET", + "PUT", + "DELETE" +}; + +enum http_state +{ + IDLE, + CONNECTING, + SENDING_REQUEST, + SENDING_REQUEST_BODY, + REQUEST_SENT, + READING_RESPONSE, + READING_DATA, + READING_COMPLETE, + ABORTING, +}; + +enum auth_state +{ + AUTH_NONE, /* Not authenticating */ + AUTH_RETRYING, /* New request with auth has been submitted */ + AUTH_DONE /* Done retrying the request with auth. */ +}; + +struct pj_http_req +{ + pj_str_t url; /* Request URL */ + pj_http_url hurl; /* Parsed request URL */ + pj_sockaddr addr; /* The host's socket address */ + pj_http_req_param param; /* HTTP request parameters */ + pj_pool_t *pool; /* Pool to allocate memory from */ + pj_timer_heap_t *timer; /* Timer for timeout management */ + pj_ioqueue_t *ioqueue; /* Ioqueue to use */ + pj_http_req_callback cb; /* Callbacks */ + pj_activesock_t *asock; /* Active socket */ + pj_status_t error; /* Error status */ + pj_str_t buffer; /* Buffer to send/receive msgs */ + enum http_state state; /* State of the HTTP request */ + enum auth_state auth_state; /* Authentication state */ + pj_timer_entry timer_entry;/* Timer entry */ + pj_bool_t resolved; /* Whether URL's host is resolved */ + pj_http_resp response; /* HTTP response */ + pj_ioqueue_op_key_t op_key; + struct tcp_state + { + /* Total data sent so far if the data is sent in segments (i.e. + * if on_send_data() is not NULL and if param.reqdata.total_size > 0) + */ + pj_size_t tot_chunk_size; + /* Size of data to be sent (in a single activesock operation).*/ + pj_size_t send_size; + /* Data size sent so far. */ + pj_size_t current_send_size; + /* Total data received so far. */ + pj_size_t current_read_size; + } tcp_state; +}; + +/* Start sending the request */ +static pj_status_t http_req_start_sending(pj_http_req *hreq); +/* Start reading the response */ +static pj_status_t http_req_start_reading(pj_http_req *hreq); +/* End the request */ +static pj_status_t http_req_end_request(pj_http_req *hreq); +/* Parse the header data and populate the header fields with the result. */ +static pj_status_t http_headers_parse(char *hdata, pj_size_t size, + pj_http_headers *headers); +/* Parse the response */ +static pj_status_t http_response_parse(pj_pool_t *pool, + pj_http_resp *response, + void *data, pj_size_t size, + pj_size_t *remainder); +/* Restart the request with authentication */ +static void restart_req_with_auth(pj_http_req *hreq); +/* Parse authentication challenge */ +static pj_status_t parse_auth_chal(pj_pool_t *pool, pj_str_t *input, + pj_http_auth_chal *chal); + +static pj_uint16_t get_http_default_port(const pj_str_t *protocol) +{ + int i; + + for (i = 0; i < NUM_PROTOCOL; i++) { + if (!pj_stricmp2(protocol, http_protocol_names[i])) { + return (pj_uint16_t)http_default_port[i]; + } + } + return 0; +} + +static const char * get_protocol(const pj_str_t *protocol) +{ + int i; + + for (i = 0; i < NUM_PROTOCOL; i++) { + if (!pj_stricmp2(protocol, http_protocol_names[i])) { + return http_protocol_names[i]; + } + } + + /* Should not happen */ + pj_assert(0); + return NULL; +} + + +/* Syntax error handler for parser. */ +static void on_syntax_error(pj_scanner *scanner) +{ + PJ_UNUSED_ARG(scanner); + PJ_THROW(PJ_EINVAL); // syntax error +} + +/* Callback when connection is established to the server */ +static pj_bool_t http_on_connect(pj_activesock_t *asock, + pj_status_t status) +{ + pj_http_req *hreq = (pj_http_req*) pj_activesock_get_user_data(asock); + + if (hreq->state == ABORTING || hreq->state == IDLE) + return PJ_FALSE; + + if (status != PJ_SUCCESS) { + hreq->error = status; + pj_http_req_cancel(hreq, PJ_TRUE); + return PJ_FALSE; + } + + /* OK, we are connected. Start sending the request */ + hreq->state = SENDING_REQUEST; + http_req_start_sending(hreq); + return PJ_TRUE; +} + +static pj_bool_t http_on_data_sent(pj_activesock_t *asock, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t sent) +{ + pj_http_req *hreq = (pj_http_req*) pj_activesock_get_user_data(asock); + + PJ_UNUSED_ARG(op_key); + + if (hreq->state == ABORTING || hreq->state == IDLE) + return PJ_FALSE; + + if (sent <= 0) { + hreq->error = (sent < 0 ? (pj_status_t)-sent : PJLIB_UTIL_EHTTPLOST); + pj_http_req_cancel(hreq, PJ_TRUE); + return PJ_FALSE; + } + + hreq->tcp_state.current_send_size += sent; + TRACE_((THIS_FILE, "\nData sent: %d out of %d bytes", + hreq->tcp_state.current_send_size, hreq->tcp_state.send_size)); + if (hreq->tcp_state.current_send_size == hreq->tcp_state.send_size) { + /* Find out whether there is a request body to send. */ + if (hreq->param.reqdata.total_size > 0 || + hreq->param.reqdata.size > 0) + { + if (hreq->state == SENDING_REQUEST) { + /* Start sending the request body */ + hreq->state = SENDING_REQUEST_BODY; + hreq->tcp_state.tot_chunk_size = 0; + pj_assert(hreq->param.reqdata.total_size == 0 || + (hreq->param.reqdata.total_size > 0 && + hreq->param.reqdata.size == 0)); + } else { + /* Continue sending the next chunk of the request body */ + hreq->tcp_state.tot_chunk_size += hreq->tcp_state.send_size; + if (hreq->tcp_state.tot_chunk_size == + hreq->param.reqdata.total_size || + hreq->param.reqdata.total_size == 0) + { + /* Finish sending all the chunks, start reading + * the response. + */ + hreq->state = REQUEST_SENT; + http_req_start_reading(hreq); + return PJ_TRUE; + } + } + if (hreq->param.reqdata.total_size > 0 && + hreq->cb.on_send_data) + { + /* Call the callback for the application to provide + * the next chunk of data to be sent. + */ + (*hreq->cb.on_send_data)(hreq, &hreq->param.reqdata.data, + &hreq->param.reqdata.size); + /* Make sure the total data size given by the user does not + * exceed what the user originally said. + */ + pj_assert(hreq->tcp_state.tot_chunk_size + + hreq->param.reqdata.size <= + hreq->param.reqdata.total_size); + } + http_req_start_sending(hreq); + } else { + /* No request body, proceed to reading the server's response. */ + hreq->state = REQUEST_SENT; + http_req_start_reading(hreq); + } + } + return PJ_TRUE; +} + +static pj_bool_t http_on_data_read(pj_activesock_t *asock, + void *data, + pj_size_t size, + pj_status_t status, + pj_size_t *remainder) +{ + pj_http_req *hreq = (pj_http_req*) pj_activesock_get_user_data(asock); + + TRACE_((THIS_FILE, "\nData received: %d bytes", size)); + + if (hreq->state == ABORTING || hreq->state == IDLE) + return PJ_FALSE; + + if (hreq->state == READING_RESPONSE) { + pj_status_t st; + pj_size_t rem; + + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + hreq->error = status; + pj_http_req_cancel(hreq, PJ_TRUE); + return PJ_FALSE; + } + + /* Parse the response. */ + st = http_response_parse(hreq->pool, &hreq->response, + data, size, &rem); + if (st == PJLIB_UTIL_EHTTPINCHDR) { + /* If we already use up all our buffer and still + * hasn't received the whole header, return error + */ + if (size == BUF_SIZE) { + hreq->error = PJ_ETOOBIG; // response header size is too big + pj_http_req_cancel(hreq, PJ_TRUE); + return PJ_FALSE; + } + /* Keep the data if we do not get the whole response header */ + *remainder = size; + } else { + hreq->state = READING_DATA; + if (st != PJ_SUCCESS) { + /* Server replied with an invalid (or unknown) response + * format. We'll just pass the whole (unparsed) response + * to the user. + */ + hreq->response.data = data; + hreq->response.size = size - rem; + } + + /* If code is 401 or 407, find and parse WWW-Authenticate or + * Proxy-Authenticate header + */ + if (hreq->response.status_code == 401 || + hreq->response.status_code == 407) + { + const pj_str_t STR_WWW_AUTH = { "WWW-Authenticate", 16 }; + const pj_str_t STR_PROXY_AUTH = { "Proxy-Authenticate", 18 }; + pj_http_resp *response = &hreq->response; + pj_http_headers *hdrs = &response->headers; + unsigned i; + + status = PJ_ENOTFOUND; + for (i = 0; i < hdrs->count; i++) { + if (!pj_stricmp(&hdrs->header[i].name, &STR_WWW_AUTH) || + !pj_stricmp(&hdrs->header[i].name, &STR_PROXY_AUTH)) + { + status = parse_auth_chal(hreq->pool, + &hdrs->header[i].value, + &response->auth_chal); + break; + } + } + + /* Check if we should perform authentication */ + if (status == PJ_SUCCESS && + hreq->auth_state == AUTH_NONE && + hreq->response.auth_chal.scheme.slen && + hreq->param.auth_cred.username.slen && + (hreq->param.auth_cred.scheme.slen == 0 || + !pj_stricmp(&hreq->response.auth_chal.scheme, + &hreq->param.auth_cred.scheme)) && + (hreq->param.auth_cred.realm.slen == 0 || + !pj_stricmp(&hreq->response.auth_chal.realm, + &hreq->param.auth_cred.realm)) + ) + { + /* Yes, authentication is required and we have been + * configured with credential. + */ + restart_req_with_auth(hreq); + if (hreq->auth_state == AUTH_RETRYING) { + /* We'll be resending the request with auth. This + * connection has been closed. + */ + return PJ_FALSE; + } + } + } + + /* We already received the response header, call the + * appropriate callback. + */ + if (hreq->cb.on_response) + (*hreq->cb.on_response)(hreq, &hreq->response); + hreq->response.data = NULL; + hreq->response.size = 0; + + if (rem > 0 || hreq->response.content_length == 0) + return http_on_data_read(asock, (rem == 0 ? NULL: + (char *)data + size - rem), + rem, PJ_SUCCESS, NULL); + } + + return PJ_TRUE; + } + + if (hreq->state != READING_DATA) + return PJ_FALSE; + if (hreq->cb.on_data_read) { + /* If application wishes to receive the data once available, call + * its callback. + */ + if (size > 0) + (*hreq->cb.on_data_read)(hreq, data, size); + } else { + if (hreq->response.size == 0) { + /* If we know the content length, allocate the data based + * on that, otherwise we'll use initial buffer size and grow + * it later if necessary. + */ + hreq->response.size = (hreq->response.content_length == -1 ? + INITIAL_DATA_BUF_SIZE : + hreq->response.content_length); + hreq->response.data = pj_pool_alloc(hreq->pool, + hreq->response.size); + } + + /* If the size of data received exceeds its current size, + * grow the buffer by a factor of 2. + */ + if (hreq->tcp_state.current_read_size + size > + hreq->response.size) + { + void *olddata = hreq->response.data; + + hreq->response.data = pj_pool_alloc(hreq->pool, + hreq->response.size << 1); + pj_memcpy(hreq->response.data, olddata, hreq->response.size); + hreq->response.size <<= 1; + } + + /* Append the response data. */ + pj_memcpy((char *)hreq->response.data + + hreq->tcp_state.current_read_size, data, size); + } + hreq->tcp_state.current_read_size += size; + + /* If the total data received so far is equal to the content length + * or if it's already EOF. + */ + if ((hreq->response.content_length >=0 && + (pj_ssize_t)hreq->tcp_state.current_read_size >= + hreq->response.content_length) || + (status == PJ_EEOF && hreq->response.content_length == -1)) + { + /* Finish reading */ + http_req_end_request(hreq); + hreq->response.size = hreq->tcp_state.current_read_size; + + /* HTTP request is completed, call the callback. */ + if (hreq->cb.on_complete) { + (*hreq->cb.on_complete)(hreq, PJ_SUCCESS, &hreq->response); + } + + return PJ_FALSE; + } + + /* Error status or premature EOF. */ + if ((status != PJ_SUCCESS && status != PJ_EPENDING && status != PJ_EEOF) + || (status == PJ_EEOF && hreq->response.content_length > -1)) + { + hreq->error = status; + pj_http_req_cancel(hreq, PJ_TRUE); + return PJ_FALSE; + } + + return PJ_TRUE; +} + +/* Callback to be called when query has timed out */ +static void on_timeout( pj_timer_heap_t *timer_heap, + struct pj_timer_entry *entry) +{ + pj_http_req *hreq = (pj_http_req *) entry->user_data; + + PJ_UNUSED_ARG(timer_heap); + + /* Recheck that the request is still not completed, since there is a + * slight possibility of race condition (timer elapsed while at the + * same time response arrives). + */ + if (hreq->state == READING_COMPLETE) { + /* Yeah, we finish on time */ + return; + } + + /* Invalidate id. */ + hreq->timer_entry.id = 0; + + /* Request timed out. */ + hreq->error = PJ_ETIMEDOUT; + pj_http_req_cancel(hreq, PJ_TRUE); +} + +/* Parse authentication challenge */ +static pj_status_t parse_auth_chal(pj_pool_t *pool, pj_str_t *input, + pj_http_auth_chal *chal) +{ + pj_scanner scanner; + const pj_str_t REALM_STR = { "realm", 5}, + NONCE_STR = { "nonce", 5}, + ALGORITHM_STR = { "algorithm", 9 }, + STALE_STR = { "stale", 5}, + QOP_STR = { "qop", 3}, + OPAQUE_STR = { "opaque", 6}; + pj_status_t status = PJ_SUCCESS; + PJ_USE_EXCEPTION ; + + pj_scan_init(&scanner, input->ptr, input->slen, PJ_SCAN_AUTOSKIP_WS, + &on_syntax_error); + PJ_TRY { + /* Get auth scheme */ + if (*scanner.curptr == '"') { + pj_scan_get_quote(&scanner, '"', '"', &chal->scheme); + chal->scheme.ptr++; + chal->scheme.slen -= 2; + } else { + pj_scan_get_until_chr(&scanner, " \t\r\n", &chal->scheme); + } + + /* Loop parsing all parameters */ + for (;;) { + const char *end_param = ", \t\r\n;"; + pj_str_t name, value; + + /* Get pair of parameter name and value */ + value.ptr = NULL; + value.slen = 0; + pj_scan_get_until_chr(&scanner, "=, \t\r\n", &name); + if (*scanner.curptr == '=') { + pj_scan_get_char(&scanner); + if (!pj_scan_is_eof(&scanner)) { + if (*scanner.curptr == '"' || *scanner.curptr == '\'') { + int quote_char = *scanner.curptr; + pj_scan_get_quote(&scanner, quote_char, quote_char, + &value); + value.ptr++; + value.slen -= 2; + } else if (!strchr(end_param, *scanner.curptr)) { + pj_scan_get_until_chr(&scanner, end_param, &value); + } + } + value = pj_str_unescape(pool, &value); + } + + if (!pj_stricmp(&name, &REALM_STR)) { + chal->realm = value; + + } else if (!pj_stricmp(&name, &NONCE_STR)) { + chal->nonce = value; + + } else if (!pj_stricmp(&name, &ALGORITHM_STR)) { + chal->algorithm = value; + + } else if (!pj_stricmp(&name, &OPAQUE_STR)) { + chal->opaque = value; + + } else if (!pj_stricmp(&name, &QOP_STR)) { + chal->qop = value; + + } else if (!pj_stricmp(&name, &STALE_STR)) { + chal->stale = value.slen && + (*value.ptr != '0') && + (*value.ptr != 'f') && + (*value.ptr != 'F'); + + } + + /* Eat comma */ + if (!pj_scan_is_eof(&scanner) && *scanner.curptr == ',') + pj_scan_get_char(&scanner); + else + break; + } + + } + PJ_CATCH_ANY { + status = PJ_GET_EXCEPTION(); + pj_bzero(chal, sizeof(*chal)); + TRACE_((THIS_FILE, "Error: parsing of auth header failed")); + } + PJ_END; + pj_scan_fini(&scanner); + return status; +} + +/* The same as #pj_http_headers_add_elmt() with char * as + * its parameters. + */ +PJ_DEF(pj_status_t) pj_http_headers_add_elmt2(pj_http_headers *headers, + char *name, char *val) +{ + pj_str_t f, v; + pj_cstr(&f, name); + pj_cstr(&v, val); + return pj_http_headers_add_elmt(headers, &f, &v); +} + +PJ_DEF(pj_status_t) pj_http_headers_add_elmt(pj_http_headers *headers, + pj_str_t *name, + pj_str_t *val) +{ + PJ_ASSERT_RETURN(headers && name && val, PJ_FALSE); + if (headers->count >= PJ_HTTP_HEADER_SIZE) + return PJ_ETOOMANY; + pj_strassign(&headers->header[headers->count].name, name); + pj_strassign(&headers->header[headers->count++].value, val); + return PJ_SUCCESS; +} + +static pj_status_t http_response_parse(pj_pool_t *pool, + pj_http_resp *response, + void *data, pj_size_t size, + pj_size_t *remainder) +{ + pj_size_t i; + char *cptr; + char *end_status, *newdata; + pj_scanner scanner; + pj_str_t s; + const pj_str_t STR_CONTENT_LENGTH = { CONTENT_LENGTH, 14 }; + pj_status_t status; + + PJ_USE_EXCEPTION; + + PJ_ASSERT_RETURN(response, PJ_EINVAL); + if (size < 2) + return PJLIB_UTIL_EHTTPINCHDR; + /* Detect whether we already receive the response's status-line + * and its headers. We're looking for a pair of CRLFs. A pair of + * LFs is also supported although it is not RFC standard. + */ + cptr = (char *)data; + for (i = 1, cptr++; i < size; i++, cptr++) { + if (*cptr == '\n') { + if (*(cptr - 1) == '\n') + break; + if (*(cptr - 1) == '\r') { + if (i >= 3 && *(cptr - 2) == '\n' && *(cptr - 3) == '\r') + break; + } + } + } + if (i == size) + return PJLIB_UTIL_EHTTPINCHDR; + *remainder = size - 1 - i; + + pj_bzero(response, sizeof(*response)); + response->content_length = -1; + + newdata = (char*) pj_pool_alloc(pool, i); + pj_memcpy(newdata, data, i); + + /* Parse the status-line. */ + pj_scan_init(&scanner, newdata, i, 0, &on_syntax_error); + PJ_TRY { + pj_scan_get_until_ch(&scanner, ' ', &response->version); + pj_scan_advance_n(&scanner, 1, PJ_FALSE); + pj_scan_get_until_ch(&scanner, ' ', &s); + response->status_code = (pj_uint16_t)pj_strtoul(&s); + pj_scan_advance_n(&scanner, 1, PJ_FALSE); + pj_scan_get_until_ch(&scanner, '\n', &response->reason); + if (response->reason.ptr[response->reason.slen-1] == '\r') + response->reason.slen--; + } + PJ_CATCH_ANY { + pj_scan_fini(&scanner); + return PJ_GET_EXCEPTION(); + } + PJ_END; + + end_status = scanner.curptr; + pj_scan_fini(&scanner); + + /* Parse the response headers. */ + size = i - 2 - (end_status - newdata); + if (size > 0) { + status = http_headers_parse(end_status + 1, size, + &response->headers); + } else { + status = PJ_SUCCESS; + } + + /* Find content-length header field. */ + for (i = 0; i < response->headers.count; i++) { + if (!pj_stricmp(&response->headers.header[i].name, + &STR_CONTENT_LENGTH)) + { + response->content_length = + pj_strtoul(&response->headers.header[i].value); + /* If content length is zero, make sure that it is because the + * header value is really zero and not due to parsing error. + */ + if (response->content_length == 0) { + if (pj_strcmp2(&response->headers.header[i].value, "0")) { + response->content_length = -1; + } + } + break; + } + } + + return status; +} + +static pj_status_t http_headers_parse(char *hdata, pj_size_t size, + pj_http_headers *headers) +{ + pj_scanner scanner; + pj_str_t s, s2; + pj_status_t status; + PJ_USE_EXCEPTION; + + PJ_ASSERT_RETURN(headers, PJ_EINVAL); + + pj_scan_init(&scanner, hdata, size, 0, &on_syntax_error); + + /* Parse each line of header field consisting of header field name and + * value, separated by ":" and any number of white spaces. + */ + PJ_TRY { + do { + pj_scan_get_until_chr(&scanner, ":\n", &s); + if (*scanner.curptr == ':') { + pj_scan_advance_n(&scanner, 1, PJ_TRUE); + pj_scan_get_until_ch(&scanner, '\n', &s2); + if (s2.ptr[s2.slen-1] == '\r') + s2.slen--; + status = pj_http_headers_add_elmt(headers, &s, &s2); + if (status != PJ_SUCCESS) + PJ_THROW(status); + } + pj_scan_advance_n(&scanner, 1, PJ_TRUE); + /* Finish parsing */ + if (pj_scan_is_eof(&scanner)) + break; + } while (1); + } + PJ_CATCH_ANY { + pj_scan_fini(&scanner); + return PJ_GET_EXCEPTION(); + } + PJ_END; + + pj_scan_fini(&scanner); + + return PJ_SUCCESS; +} + +PJ_DEF(void) pj_http_req_param_default(pj_http_req_param *param) +{ + pj_assert(param); + pj_bzero(param, sizeof(*param)); + param->addr_family = pj_AF_INET(); + pj_strset2(¶m->method, (char*)http_method_names[HTTP_GET]); + pj_strset2(¶m->version, (char*)HTTP_1_0); + param->timeout.msec = PJ_HTTP_DEFAULT_TIMEOUT; + pj_time_val_normalize(¶m->timeout); + param->max_retries = 3; +} + +/* Get the location of '@' character to indicate the end of + * user:passwd part of an URI. If user:passwd part is not + * present, NULL will be returned. + */ +static char *get_url_at_pos(const char *str, pj_size_t len) +{ + const char *end = str + len; + const char *p = str; + + /* skip scheme: */ + while (p!=end && *p!='/') ++p; + if (p!=end && *p=='/') ++p; + if (p!=end && *p=='/') ++p; + if (p==end) return NULL; + + for (; p!=end; ++p) { + switch (*p) { + case '/': + return NULL; + case '@': + return (char*)p; + } + } + + return NULL; +} + + +PJ_DEF(pj_status_t) pj_http_req_parse_url(const pj_str_t *url, + pj_http_url *hurl) +{ + pj_scanner scanner; + pj_size_t len = url->slen; + PJ_USE_EXCEPTION; + + if (!len) return -1; + + pj_bzero(hurl, sizeof(*hurl)); + pj_scan_init(&scanner, url->ptr, url->slen, 0, &on_syntax_error); + + PJ_TRY { + pj_str_t s; + + /* Exhaust any whitespaces. */ + pj_scan_skip_whitespace(&scanner); + + /* Parse the protocol */ + pj_scan_get_until_ch(&scanner, ':', &s); + if (!pj_stricmp2(&s, http_protocol_names[PROTOCOL_HTTP])) { + pj_strset2(&hurl->protocol, + (char*)http_protocol_names[PROTOCOL_HTTP]); + } else if (!pj_stricmp2(&s, http_protocol_names[PROTOCOL_HTTPS])) { + pj_strset2(&hurl->protocol, + (char*)http_protocol_names[PROTOCOL_HTTPS]); + } else { + PJ_THROW(PJ_ENOTSUP); // unsupported protocol + } + + if (pj_scan_strcmp(&scanner, "://", 3)) { + PJ_THROW(PJLIB_UTIL_EHTTPINURL); // no "://" after protocol name + } + pj_scan_advance_n(&scanner, 3, PJ_FALSE); + + if (get_url_at_pos(url->ptr, url->slen)) { + /* Parse username and password */ + pj_scan_get_until_chr(&scanner, ":@", &hurl->username); + if (*scanner.curptr == ':') { + pj_scan_get_char(&scanner); + pj_scan_get_until_chr(&scanner, "@", &hurl->passwd); + } else { + hurl->passwd.slen = 0; + } + pj_scan_get_char(&scanner); + } + + /* Parse the host and port number (if any) */ + pj_scan_get_until_chr(&scanner, ":/", &s); + pj_strassign(&hurl->host, &s); + if (hurl->host.slen==0) + PJ_THROW(PJ_EINVAL); + if (pj_scan_is_eof(&scanner) || *scanner.curptr == '/') { + /* No port number specified */ + /* Assume default http/https port number */ + hurl->port = get_http_default_port(&hurl->protocol); + pj_assert(hurl->port > 0); + } else { + pj_scan_advance_n(&scanner, 1, PJ_FALSE); + pj_scan_get_until_ch(&scanner, '/', &s); + /* Parse the port number */ + hurl->port = (pj_uint16_t)pj_strtoul(&s); + if (!hurl->port) + PJ_THROW(PJLIB_UTIL_EHTTPINPORT); // invalid port number + } + + if (!pj_scan_is_eof(&scanner)) { + hurl->path.ptr = scanner.curptr; + hurl->path.slen = scanner.end - scanner.curptr; + } else { + /* no path, append '/' */ + pj_cstr(&hurl->path, "/"); + } + } + PJ_CATCH_ANY { + pj_scan_fini(&scanner); + return PJ_GET_EXCEPTION(); + } + PJ_END; + + pj_scan_fini(&scanner); + return PJ_SUCCESS; +} + +PJ_DEF(void) pj_http_req_set_timeout(pj_http_req *http_req, + const pj_time_val* timeout) +{ + pj_memcpy(&http_req->param.timeout, timeout, sizeof(*timeout)); +} + +PJ_DEF(pj_status_t) pj_http_req_create(pj_pool_t *pool, + const pj_str_t *url, + pj_timer_heap_t *timer, + pj_ioqueue_t *ioqueue, + const pj_http_req_param *param, + const pj_http_req_callback *hcb, + pj_http_req **http_req) +{ + pj_pool_t *own_pool; + pj_http_req *hreq; + char *at_pos; + pj_status_t status; + + PJ_ASSERT_RETURN(pool && url && timer && ioqueue && + hcb && http_req, PJ_EINVAL); + + *http_req = NULL; + own_pool = pj_pool_create(pool->factory, NULL, INITIAL_POOL_SIZE, + POOL_INCREMENT_SIZE, NULL); + hreq = PJ_POOL_ZALLOC_T(own_pool, struct pj_http_req); + if (!hreq) + return PJ_ENOMEM; + + /* Initialization */ + hreq->pool = own_pool; + hreq->ioqueue = ioqueue; + hreq->timer = timer; + hreq->asock = NULL; + pj_memcpy(&hreq->cb, hcb, sizeof(*hcb)); + hreq->state = IDLE; + hreq->resolved = PJ_FALSE; + hreq->buffer.ptr = NULL; + pj_timer_entry_init(&hreq->timer_entry, 0, hreq, &on_timeout); + + /* Initialize parameter */ + if (param) { + pj_memcpy(&hreq->param, param, sizeof(*param)); + /* TODO: validate the param here + * Should we validate the method as well? If yes, based on all HTTP + * methods or based on supported methods only? For the later, one + * drawback would be that you can't use this if the method is not + * officially supported + */ + PJ_ASSERT_RETURN(hreq->param.addr_family==PJ_AF_UNSPEC || + hreq->param.addr_family==PJ_AF_INET || + hreq->param.addr_family==PJ_AF_INET6, PJ_EAFNOTSUP); + PJ_ASSERT_RETURN(!pj_strcmp2(&hreq->param.version, HTTP_1_0) || + !pj_strcmp2(&hreq->param.version, HTTP_1_1), + PJ_ENOTSUP); + pj_time_val_normalize(&hreq->param.timeout); + } else { + pj_http_req_param_default(&hreq->param); + } + + /* Parse the URL */ + if (!pj_strdup_with_null(hreq->pool, &hreq->url, url)) { + pj_pool_release(hreq->pool); + return PJ_ENOMEM; + } + status = pj_http_req_parse_url(&hreq->url, &hreq->hurl); + if (status != PJ_SUCCESS) { + pj_pool_release(hreq->pool); + return status; // Invalid URL supplied + } + + /* If URL contains username/password, move them to credential and + * remove them from the URL. + */ + if ((at_pos=get_url_at_pos(hreq->url.ptr, hreq->url.slen)) != NULL) { + pj_str_t tmp; + char *user_pos = pj_strchr(&hreq->url, '/'); + int removed_len; + + /* Save credential first, unescape the string */ + tmp = pj_str_unescape(hreq->pool, &hreq->hurl.username);; + pj_strdup(hreq->pool, &hreq->param.auth_cred.username, &tmp); + + tmp = pj_str_unescape(hreq->pool, &hreq->hurl.passwd); + pj_strdup(hreq->pool, &hreq->param.auth_cred.data, &tmp); + + hreq->hurl.username.ptr = hreq->hurl.passwd.ptr = NULL; + hreq->hurl.username.slen = hreq->hurl.passwd.slen = 0; + + /* Remove "username:password@" from the URL */ + pj_assert(user_pos != 0 && user_pos < at_pos); + user_pos += 2; + removed_len = (int)(at_pos + 1 - user_pos); + pj_memmove(user_pos, at_pos+1, hreq->url.ptr+hreq->url.slen-at_pos-1); + hreq->url.slen -= removed_len; + + /* Need to adjust hostname and path pointers due to memmove*/ + if (hreq->hurl.host.ptr > user_pos && + hreq->hurl.host.ptr < user_pos + hreq->url.slen) + { + hreq->hurl.host.ptr -= removed_len; + } + /* path may come from a string constant, don't shift it if so */ + if (hreq->hurl.path.ptr > user_pos && + hreq->hurl.path.ptr < user_pos + hreq->url.slen) + { + hreq->hurl.path.ptr -= removed_len; + } + } + + *http_req = hreq; + return PJ_SUCCESS; +} + +PJ_DEF(pj_bool_t) pj_http_req_is_running(const pj_http_req *http_req) +{ + PJ_ASSERT_RETURN(http_req, PJ_FALSE); + return (http_req->state != IDLE); +} + +PJ_DEF(void*) pj_http_req_get_user_data(pj_http_req *http_req) +{ + PJ_ASSERT_RETURN(http_req, NULL); + return http_req->param.user_data; +} + +static pj_status_t start_http_req(pj_http_req *http_req, + pj_bool_t notify_on_fail) +{ + pj_sock_t sock = PJ_INVALID_SOCKET; + pj_status_t status; + pj_activesock_cb asock_cb; + int retry = 0; + + PJ_ASSERT_RETURN(http_req, PJ_EINVAL); + /* Http request is not idle, a request was initiated before and + * is still in progress + */ + PJ_ASSERT_RETURN(http_req->state == IDLE, PJ_EBUSY); + + /* Reset few things to make sure restarting works */ + http_req->error = 0; + http_req->response.headers.count = 0; + pj_bzero(&http_req->tcp_state, sizeof(http_req->tcp_state)); + + if (!http_req->resolved) { + /* Resolve the Internet address of the host */ + status = pj_sockaddr_init(http_req->param.addr_family, + &http_req->addr, &http_req->hurl.host, + http_req->hurl.port); + if (status != PJ_SUCCESS || + !pj_sockaddr_has_addr(&http_req->addr) || + (http_req->param.addr_family==pj_AF_INET() && + http_req->addr.ipv4.sin_addr.s_addr==PJ_INADDR_NONE)) + { + goto on_return; + } + http_req->resolved = PJ_TRUE; + } + + status = pj_sock_socket(http_req->param.addr_family, pj_SOCK_STREAM(), + 0, &sock); + if (status != PJ_SUCCESS) + goto on_return; // error creating socket + + pj_bzero(&asock_cb, sizeof(asock_cb)); + asock_cb.on_data_read = &http_on_data_read; + asock_cb.on_data_sent = &http_on_data_sent; + asock_cb.on_connect_complete = &http_on_connect; + + do + { + pj_sockaddr_in bound_addr; + pj_uint16_t port = 0; + + /* If we are using port restriction. + * Get a random port within the range + */ + if (http_req->param.source_port_range_start != 0) { + port = (pj_uint16_t) + (http_req->param.source_port_range_start + + (pj_rand() % http_req->param.source_port_range_size)); + } + + pj_sockaddr_in_init(&bound_addr, NULL, port); + status = pj_sock_bind(sock, &bound_addr, sizeof(bound_addr)); + + } while (status != PJ_SUCCESS && (retry++ < http_req->param.max_retries)); + + if (status != PJ_SUCCESS) { + PJ_PERROR(1,(THIS_FILE, status, + "Unable to bind to the requested port")); + pj_sock_close(sock); + goto on_return; + } + + // TODO: should we set whole data to 0 by default? + // or add it in the param? + status = pj_activesock_create(http_req->pool, sock, pj_SOCK_STREAM(), + NULL, http_req->ioqueue, + &asock_cb, http_req, &http_req->asock); + if (status != PJ_SUCCESS) { + pj_sock_close(sock); + goto on_return; // error creating activesock + } + + /* Schedule timeout timer for the request */ + pj_assert(http_req->timer_entry.id == 0); + http_req->timer_entry.id = 1; + status = pj_timer_heap_schedule(http_req->timer, &http_req->timer_entry, + &http_req->param.timeout); + if (status != PJ_SUCCESS) { + http_req->timer_entry.id = 0; + goto on_return; // error scheduling timer + } + + /* Connect to host */ + http_req->state = CONNECTING; + status = pj_activesock_start_connect(http_req->asock, http_req->pool, + (pj_sock_t *)&(http_req->addr), + pj_sockaddr_get_len(&http_req->addr)); + if (status == PJ_SUCCESS) { + http_req->state = SENDING_REQUEST; + status = http_req_start_sending(http_req); + if (status != PJ_SUCCESS) + goto on_return; + } else if (status != PJ_EPENDING) { + goto on_return; // error connecting + } + + return PJ_SUCCESS; + +on_return: + http_req->error = status; + if (notify_on_fail) + pj_http_req_cancel(http_req, PJ_TRUE); + else + http_req_end_request(http_req); + + return status; +} + +/* Starts an asynchronous HTTP request to the URL specified. */ +PJ_DEF(pj_status_t) pj_http_req_start(pj_http_req *http_req) +{ + return start_http_req(http_req, PJ_FALSE); +} + +/* Respond to basic authentication challenge */ +static pj_status_t auth_respond_basic(pj_http_req *hreq) +{ + /* Basic authentication: + * credentials = "Basic" basic-credentials + * basic-credentials = base64-user-pass + * base64-user-pass = + * user-pass = userid ":" password + * + * Sample: + * Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== + */ + pj_str_t user_pass; + pj_http_header_elmt *phdr; + int len; + + /* Use send buffer to store userid ":" password */ + user_pass.ptr = hreq->buffer.ptr; + pj_strcpy(&user_pass, &hreq->param.auth_cred.username); + pj_strcat2(&user_pass, ":"); + pj_strcat(&user_pass, &hreq->param.auth_cred.data); + + /* Create Authorization header */ + phdr = &hreq->param.headers.header[hreq->param.headers.count++]; + pj_bzero(phdr, sizeof(*phdr)); + if (hreq->response.status_code == 401) + phdr->name = pj_str("Authorization"); + else + phdr->name = pj_str("Proxy-Authorization"); + + len = (int)(PJ_BASE256_TO_BASE64_LEN(user_pass.slen) + 10); + phdr->value.ptr = (char*)pj_pool_alloc(hreq->pool, len); + phdr->value.slen = 0; + + pj_strcpy2(&phdr->value, "Basic "); + len -= (int)phdr->value.slen; + pj_base64_encode((pj_uint8_t*)user_pass.ptr, (int)user_pass.slen, + phdr->value.ptr + phdr->value.slen, &len); + phdr->value.slen += len; + + return PJ_SUCCESS; +} + +/** Length of digest string. */ +#define MD5_STRLEN 32 +/* A macro just to get rid of type mismatch between char and unsigned char */ +#define MD5_APPEND(pms,buf,len) pj_md5_update(pms, (const pj_uint8_t*)buf, \ + (unsigned)len) + +/* Transform digest to string. + * output must be at least PJSIP_MD5STRLEN+1 bytes. + * + * NOTE: THE OUTPUT STRING IS NOT NULL TERMINATED! + */ +static void digest2str(const unsigned char digest[], char *output) +{ + int i; + for (i = 0; i<16; ++i) { + pj_val_to_hex_digit(digest[i], output); + output += 2; + } +} + +static void auth_create_digest_response(pj_str_t *result, + const pj_http_auth_cred *cred, + const pj_str_t *nonce, + const pj_str_t *nc, + const pj_str_t *cnonce, + const pj_str_t *qop, + const pj_str_t *uri, + const pj_str_t *realm, + const pj_str_t *method) +{ + char ha1[MD5_STRLEN]; + char ha2[MD5_STRLEN]; + unsigned char digest[16]; + pj_md5_context pms; + + pj_assert(result->slen >= MD5_STRLEN); + + TRACE_((THIS_FILE, "Begin creating digest")); + + if (cred->data_type == 0) { + /*** + *** ha1 = MD5(username ":" realm ":" password) + ***/ + pj_md5_init(&pms); + MD5_APPEND( &pms, cred->username.ptr, cred->username.slen); + MD5_APPEND( &pms, ":", 1); + MD5_APPEND( &pms, realm->ptr, realm->slen); + MD5_APPEND( &pms, ":", 1); + MD5_APPEND( &pms, cred->data.ptr, cred->data.slen); + pj_md5_final(&pms, digest); + + digest2str(digest, ha1); + + } else if (cred->data_type == 1) { + pj_assert(cred->data.slen == 32); + pj_memcpy( ha1, cred->data.ptr, cred->data.slen ); + } else { + pj_assert(!"Invalid data_type"); + } + + TRACE_((THIS_FILE, " ha1=%.32s", ha1)); + + /*** + *** ha2 = MD5(method ":" req_uri) + ***/ + pj_md5_init(&pms); + MD5_APPEND( &pms, method->ptr, method->slen); + MD5_APPEND( &pms, ":", 1); + MD5_APPEND( &pms, uri->ptr, uri->slen); + pj_md5_final(&pms, digest); + digest2str(digest, ha2); + + TRACE_((THIS_FILE, " ha2=%.32s", ha2)); + + /*** + *** When qop is not used: + *** response = MD5(ha1 ":" nonce ":" ha2) + *** + *** When qop=auth is used: + *** response = MD5(ha1 ":" nonce ":" nc ":" cnonce ":" qop ":" ha2) + ***/ + pj_md5_init(&pms); + MD5_APPEND( &pms, ha1, MD5_STRLEN); + MD5_APPEND( &pms, ":", 1); + MD5_APPEND( &pms, nonce->ptr, nonce->slen); + if (qop && qop->slen != 0) { + MD5_APPEND( &pms, ":", 1); + MD5_APPEND( &pms, nc->ptr, nc->slen); + MD5_APPEND( &pms, ":", 1); + MD5_APPEND( &pms, cnonce->ptr, cnonce->slen); + MD5_APPEND( &pms, ":", 1); + MD5_APPEND( &pms, qop->ptr, qop->slen); + } + MD5_APPEND( &pms, ":", 1); + MD5_APPEND( &pms, ha2, MD5_STRLEN); + + /* This is the final response digest. */ + pj_md5_final(&pms, digest); + + /* Convert digest to string and store in chal->response. */ + result->slen = MD5_STRLEN; + digest2str(digest, result->ptr); + + TRACE_((THIS_FILE, " digest=%.32s", result->ptr)); + TRACE_((THIS_FILE, "Digest created")); +} + +/* Find out if qop offer contains "auth" token */ +static pj_bool_t auth_has_qop( pj_pool_t *pool, const pj_str_t *qop_offer) +{ + pj_str_t qop; + char *p; + + pj_strdup_with_null( pool, &qop, qop_offer); + p = qop.ptr; + while (*p) { + *p = (char)pj_tolower(*p); + ++p; + } + + p = qop.ptr; + while (*p) { + if (*p=='a' && *(p+1)=='u' && *(p+2)=='t' && *(p+3)=='h') { + int e = *(p+4); + if (e=='"' || e==',' || e==0) + return PJ_TRUE; + else + p += 4; + } else { + ++p; + } + } + + return PJ_FALSE; +} + +#define STR_PREC(s) (int)(s).slen, (s).ptr + +/* Respond to digest authentication */ +static pj_status_t auth_respond_digest(pj_http_req *hreq) +{ + const pj_http_auth_chal *chal = &hreq->response.auth_chal; + const pj_http_auth_cred *cred = &hreq->param.auth_cred; + pj_http_header_elmt *phdr; + char digest_response_buf[MD5_STRLEN]; + int len; + pj_str_t digest_response; + + /* Check algorithm is supported. We only support MD5 */ + if (chal->algorithm.slen!=0 && + pj_stricmp2(&chal->algorithm, "MD5")) + { + TRACE_((THIS_FILE, "Error: Unsupported digest algorithm \"%.*s\"", + chal->algorithm.slen, chal->algorithm.ptr)); + return PJ_ENOTSUP; + } + + /* Add Authorization header */ + phdr = &hreq->param.headers.header[hreq->param.headers.count++]; + pj_bzero(phdr, sizeof(*phdr)); + if (hreq->response.status_code == 401) + phdr->name = pj_str("Authorization"); + else + phdr->name = pj_str("Proxy-Authorization"); + + /* Allocate space for the header */ + len = (int)(8 + /* Digest */ + 16 + hreq->param.auth_cred.username.slen + /* username= */ + 12 + chal->realm.slen + /* realm= */ + 12 + chal->nonce.slen + /* nonce= */ + 8 + hreq->hurl.path.slen + /* uri= */ + 16 + /* algorithm=MD5 */ + 16 + MD5_STRLEN + /* response= */ + 12 + /* qop=auth */ + 8 + /* nc=.. */ + 30 + /* cnonce= */ + 12 + chal->opaque.slen + /* opaque=".." */ + 0); + phdr->value.ptr = (char*)pj_pool_alloc(hreq->pool, len); + + /* Configure buffer to temporarily store the digest */ + digest_response.ptr = digest_response_buf; + digest_response.slen = MD5_STRLEN; + + if (chal->qop.slen == 0) { + const pj_str_t STR_MD5 = { "MD5", 3 }; + int max_len; + + /* Server doesn't require quality of protection. */ + auth_create_digest_response(&digest_response, cred, + &chal->nonce, NULL, NULL, NULL, + &hreq->hurl.path, &chal->realm, + &hreq->param.method); + + max_len = len; + len = pj_ansi_snprintf( + phdr->value.ptr, max_len, + "Digest username=\"%.*s\", " + "realm=\"%.*s\", " + "nonce=\"%.*s\", " + "uri=\"%.*s\", " + "algorithm=%.*s, " + "response=\"%.*s\"", + STR_PREC(cred->username), + STR_PREC(chal->realm), + STR_PREC(chal->nonce), + STR_PREC(hreq->hurl.path), + STR_PREC(STR_MD5), + STR_PREC(digest_response)); + if (len < 0 || len >= max_len) + return PJ_ETOOSMALL; + phdr->value.slen = len; + + } else if (auth_has_qop(hreq->pool, &chal->qop)) { + /* Server requires quality of protection. + * We respond with selecting "qop=auth" protection. + */ + const pj_str_t STR_MD5 = { "MD5", 3 }; + const pj_str_t qop = pj_str("auth"); + const pj_str_t nc = pj_str("00000001"); + const pj_str_t cnonce = pj_str("b39971"); + int max_len; + + auth_create_digest_response(&digest_response, cred, + &chal->nonce, &nc, &cnonce, &qop, + &hreq->hurl.path, &chal->realm, + &hreq->param.method); + max_len = len; + len = pj_ansi_snprintf( + phdr->value.ptr, max_len, + "Digest username=\"%.*s\", " + "realm=\"%.*s\", " + "nonce=\"%.*s\", " + "uri=\"%.*s\", " + "algorithm=%.*s, " + "response=\"%.*s\", " + "qop=%.*s, " + "nc=%.*s, " + "cnonce=\"%.*s\"", + STR_PREC(cred->username), + STR_PREC(chal->realm), + STR_PREC(chal->nonce), + STR_PREC(hreq->hurl.path), + STR_PREC(STR_MD5), + STR_PREC(digest_response), + STR_PREC(qop), + STR_PREC(nc), + STR_PREC(cnonce)); + if (len < 0 || len >= max_len) + return PJ_ETOOSMALL; + phdr->value.slen = len; + + if (chal->opaque.slen) { + pj_strcat2(&phdr->value, ", opaque=\""); + pj_strcat(&phdr->value, &chal->opaque); + pj_strcat2(&phdr->value, "\""); + } + + } else { + /* Server requires quality protection that we don't support. */ + TRACE_((THIS_FILE, "Error: Unsupported qop offer %.*s", + chal->qop.slen, chal->qop.ptr)); + return PJ_ENOTSUP; + } + + return PJ_SUCCESS; +} + + +static void restart_req_with_auth(pj_http_req *hreq) +{ + pj_http_auth_chal *chal = &hreq->response.auth_chal; + pj_http_auth_cred *cred = &hreq->param.auth_cred; + pj_status_t status; + + if (hreq->param.headers.count >= PJ_HTTP_HEADER_SIZE) { + TRACE_((THIS_FILE, "Error: no place to put Authorization header")); + hreq->auth_state = AUTH_DONE; + return; + } + + /* If credential specifies specific scheme, make sure they match */ + if (cred->scheme.slen && pj_stricmp(&chal->scheme, &cred->scheme)) { + status = PJ_ENOTSUP; + TRACE_((THIS_FILE, "Error: auth schemes mismatch")); + goto on_error; + } + + /* If credential specifies specific realm, make sure they match */ + if (cred->realm.slen && pj_stricmp(&chal->realm, &cred->realm)) { + status = PJ_ENOTSUP; + TRACE_((THIS_FILE, "Error: auth realms mismatch")); + goto on_error; + } + + if (!pj_stricmp2(&chal->scheme, "basic")) { + status = auth_respond_basic(hreq); + } else if (!pj_stricmp2(&chal->scheme, "digest")) { + status = auth_respond_digest(hreq); + } else { + TRACE_((THIS_FILE, "Error: unsupported HTTP auth scheme")); + status = PJ_ENOTSUP; + } + + if (status != PJ_SUCCESS) + goto on_error; + + http_req_end_request(hreq); + + status = start_http_req(hreq, PJ_TRUE); + if (status != PJ_SUCCESS) + goto on_error; + + hreq->auth_state = AUTH_RETRYING; + return; + +on_error: + hreq->auth_state = AUTH_DONE; +} + + +/* snprintf() to a pj_str_t struct with an option to append the + * result at the back of the string. + */ +static void str_snprintf(pj_str_t *s, size_t size, + pj_bool_t append, const char *format, ...) +{ + va_list arg; + int retval; + + va_start(arg, format); + if (!append) + s->slen = 0; + size -= s->slen; + retval = pj_ansi_vsnprintf(s->ptr + s->slen, + size, format, arg); + s->slen += ((retval < (int)size) ? retval : size - 1); + va_end(arg); +} + +static pj_status_t http_req_start_sending(pj_http_req *hreq) +{ + pj_status_t status; + pj_str_t pkt; + pj_ssize_t len; + pj_size_t i; + + PJ_ASSERT_RETURN(hreq->state == SENDING_REQUEST || + hreq->state == SENDING_REQUEST_BODY, PJ_EBUG); + + if (hreq->state == SENDING_REQUEST) { + /* Prepare the request data */ + if (!hreq->buffer.ptr) + hreq->buffer.ptr = (char*)pj_pool_alloc(hreq->pool, BUF_SIZE); + pj_strassign(&pkt, &hreq->buffer); + pkt.slen = 0; + /* Start-line */ + str_snprintf(&pkt, BUF_SIZE, PJ_TRUE, "%.*s %.*s %s/%.*s\r\n", + STR_PREC(hreq->param.method), + STR_PREC(hreq->hurl.path), + get_protocol(&hreq->hurl.protocol), + STR_PREC(hreq->param.version)); + /* Header field "Host" */ + str_snprintf(&pkt, BUF_SIZE, PJ_TRUE, "Host: %.*s:%d\r\n", + STR_PREC(hreq->hurl.host), hreq->hurl.port); + if (!pj_strcmp2(&hreq->param.method, http_method_names[HTTP_PUT])) { + char buf[16]; + + /* Header field "Content-Length" */ + pj_utoa(hreq->param.reqdata.total_size ? + (unsigned long)hreq->param.reqdata.total_size: + (unsigned long)hreq->param.reqdata.size, buf); + str_snprintf(&pkt, BUF_SIZE, PJ_TRUE, "%s: %s\r\n", + CONTENT_LENGTH, buf); + } + + /* Append user-specified headers */ + for (i = 0; i < hreq->param.headers.count; i++) { + str_snprintf(&pkt, BUF_SIZE, PJ_TRUE, "%.*s: %.*s\r\n", + STR_PREC(hreq->param.headers.header[i].name), + STR_PREC(hreq->param.headers.header[i].value)); + } + if (pkt.slen >= BUF_SIZE - 1) { + status = PJLIB_UTIL_EHTTPINSBUF; + goto on_return; + } + + pj_strcat2(&pkt, "\r\n"); + pkt.ptr[pkt.slen] = 0; + TRACE_((THIS_FILE, "%s", pkt.ptr)); + } else { + pkt.ptr = (char*)hreq->param.reqdata.data; + pkt.slen = hreq->param.reqdata.size; + } + + /* Send the request */ + len = pj_strlen(&pkt); + pj_ioqueue_op_key_init(&hreq->op_key, sizeof(hreq->op_key)); + hreq->tcp_state.send_size = len; + hreq->tcp_state.current_send_size = 0; + status = pj_activesock_send(hreq->asock, &hreq->op_key, + pkt.ptr, &len, 0); + + if (status == PJ_SUCCESS) { + http_on_data_sent(hreq->asock, &hreq->op_key, len); + } else if (status != PJ_EPENDING) { + goto on_return; // error sending data + } + + return PJ_SUCCESS; + +on_return: + http_req_end_request(hreq); + return status; +} + +static pj_status_t http_req_start_reading(pj_http_req *hreq) +{ + pj_status_t status; + + PJ_ASSERT_RETURN(hreq->state == REQUEST_SENT, PJ_EBUG); + + /* Receive the response */ + hreq->state = READING_RESPONSE; + hreq->tcp_state.current_read_size = 0; + pj_assert(hreq->buffer.ptr); + status = pj_activesock_start_read2(hreq->asock, hreq->pool, BUF_SIZE, + (void**)&hreq->buffer.ptr, 0); + if (status != PJ_SUCCESS) { + /* Error reading */ + http_req_end_request(hreq); + return status; + } + + return PJ_SUCCESS; +} + +static pj_status_t http_req_end_request(pj_http_req *hreq) +{ + if (hreq->asock) { + pj_activesock_close(hreq->asock); + hreq->asock = NULL; + } + + /* Cancel query timeout timer. */ + if (hreq->timer_entry.id != 0) { + pj_timer_heap_cancel(hreq->timer, &hreq->timer_entry); + /* Invalidate id. */ + hreq->timer_entry.id = 0; + } + + hreq->state = IDLE; + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_http_req_cancel(pj_http_req *http_req, + pj_bool_t notify) +{ + http_req->state = ABORTING; + + http_req_end_request(http_req); + + if (notify && http_req->cb.on_complete) { + (*http_req->cb.on_complete)(http_req, (!http_req->error? + PJ_ECANCELLED: http_req->error), NULL); + } + + return PJ_SUCCESS; +} + + +PJ_DEF(pj_status_t) pj_http_req_destroy(pj_http_req *http_req) +{ + PJ_ASSERT_RETURN(http_req, PJ_EINVAL); + + /* If there is any pending request, cancel it */ + if (http_req->state != IDLE) { + pj_http_req_cancel(http_req, PJ_FALSE); + } + + pj_pool_release(http_req->pool); + + return PJ_SUCCESS; +} diff --git a/pjlib-util/src/pjlib-util/json.c b/pjlib-util/src/pjlib-util/json.c new file mode 100644 index 0000000..192547a --- /dev/null +++ b/pjlib-util/src/pjlib-util/json.c @@ -0,0 +1,622 @@ +/* $Id: json.c 4761 2014-02-24 09:02:44Z nanang $ */ +/* + * Copyright (C) 2013 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include + +#define EL_INIT(p_el, nm, typ) do { \ + if (nm) { \ + p_el->name = *nm; \ + } else { \ + p_el->name.ptr = (char*)""; \ + p_el->name.slen = 0; \ + } \ + p_el->type = typ; \ + } while (0) + +struct write_state; +struct parse_state; + +#define NO_NAME 1 + +static pj_status_t elem_write(const pj_json_elem *elem, + struct write_state *st, + unsigned flags); +static pj_json_elem* parse_elem_throw(struct parse_state *st, + pj_json_elem *elem); + + +PJ_DEF(void) pj_json_elem_null(pj_json_elem *el, pj_str_t *name) +{ + EL_INIT(el, name, PJ_JSON_VAL_NULL); +} + +PJ_DEF(void) pj_json_elem_bool(pj_json_elem *el, pj_str_t *name, + pj_bool_t val) +{ + EL_INIT(el, name, PJ_JSON_VAL_BOOL); + el->value.is_true = val; +} + +PJ_DEF(void) pj_json_elem_number(pj_json_elem *el, pj_str_t *name, + float val) +{ + EL_INIT(el, name, PJ_JSON_VAL_NUMBER); + el->value.num = val; +} + +PJ_DEF(void) pj_json_elem_string( pj_json_elem *el, pj_str_t *name, + pj_str_t *value) +{ + EL_INIT(el, name, PJ_JSON_VAL_STRING); + el->value.str = *value; +} + +PJ_DEF(void) pj_json_elem_array(pj_json_elem *el, pj_str_t *name) +{ + EL_INIT(el, name, PJ_JSON_VAL_ARRAY); + pj_list_init(&el->value.children); +} + +PJ_DEF(void) pj_json_elem_obj(pj_json_elem *el, pj_str_t *name) +{ + EL_INIT(el, name, PJ_JSON_VAL_OBJ); + pj_list_init(&el->value.children); +} + +PJ_DEF(void) pj_json_elem_add(pj_json_elem *el, pj_json_elem *child) +{ + pj_assert(el->type == PJ_JSON_VAL_OBJ || el->type == PJ_JSON_VAL_ARRAY); + pj_list_push_back(&el->value.children, child); +} + +struct parse_state +{ + pj_pool_t *pool; + pj_scanner scanner; + pj_json_err_info *err_info; + pj_cis_t float_spec; /* numbers with dot! */ +}; + +static pj_status_t parse_children(struct parse_state *st, + pj_json_elem *parent) +{ + char end_quote = (parent->type == PJ_JSON_VAL_ARRAY)? ']' : '}'; + + pj_scan_get_char(&st->scanner); + + while (*st->scanner.curptr != end_quote) { + pj_json_elem *child; + + while (*st->scanner.curptr == ',') + pj_scan_get_char(&st->scanner); + + if (*st->scanner.curptr == end_quote) + break; + + child = parse_elem_throw(st, NULL); + if (!child) + return PJLIB_UTIL_EINJSON; + + pj_json_elem_add(parent, child); + } + + pj_scan_get_char(&st->scanner); + return PJ_SUCCESS; +} + +/* Return 0 if success or the index of the invalid char in the string */ +static unsigned parse_quoted_string(struct parse_state *st, + pj_str_t *output) +{ + pj_str_t token; + char *op, *ip, *iend; + + pj_scan_get_quote(&st->scanner, '"', '"', &token); + + /* Remove the quote characters */ + token.ptr++; + token.slen-=2; + + if (pj_strchr(&token, '\\') == NULL) { + *output = token; + return 0; + } + + output->ptr = op = pj_pool_alloc(st->pool, token.slen); + + ip = token.ptr; + iend = token.ptr + token.slen; + + while (ip != iend) { + if (*ip == '\\') { + ++ip; + if (ip==iend) { + goto on_error; + } + if (*ip == 'u') { + ip++; + if (iend - ip < 4) { + ip = iend -1; + goto on_error; + } + /* Only use the last two hext digits because we're on + * ASCII */ + *op++ = (char)(pj_hex_digit_to_val(ip[2]) * 16 + + pj_hex_digit_to_val(ip[3])); + ip += 4; + } else if (*ip=='"' || *ip=='\\' || *ip=='/') { + *op++ = *ip++; + } else if (*ip=='b') { + *op++ = '\b'; + ip++; + } else if (*ip=='f') { + *op++ = '\f'; + ip++; + } else if (*ip=='n') { + *op++ = '\n'; + ip++; + } else if (*ip=='r') { + *op++ = '\r'; + ip++; + } else if (*ip=='t') { + *op++ = '\t'; + ip++; + } else { + goto on_error; + } + } else { + *op++ = *ip++; + } + } + + output->slen = op - output->ptr; + return 0; + +on_error: + output->slen = op - output->ptr; + return (unsigned)(ip - token.ptr); +} + +static pj_json_elem* parse_elem_throw(struct parse_state *st, + pj_json_elem *elem) +{ + pj_str_t name = {NULL, 0}, value = {NULL, 0}; + pj_str_t token; + + if (!elem) + elem = pj_pool_alloc(st->pool, sizeof(*elem)); + + /* Parse name */ + if (*st->scanner.curptr == '"') { + pj_scan_get_char(&st->scanner); + pj_scan_get_until_ch(&st->scanner, '"', &token); + pj_scan_get_char(&st->scanner); + + if (*st->scanner.curptr == ':') { + pj_scan_get_char(&st->scanner); + name = token; + } else { + value = token; + } + } + + if (value.slen) { + /* Element with string value and no name */ + pj_json_elem_string(elem, &name, &value); + return elem; + } + + /* Parse value */ + if (pj_cis_match(&st->float_spec, *st->scanner.curptr) || + *st->scanner.curptr == '-') + { + float val; + pj_bool_t neg = PJ_FALSE; + + if (*st->scanner.curptr == '-') { + pj_scan_get_char(&st->scanner); + neg = PJ_TRUE; + } + + pj_scan_get(&st->scanner, &st->float_spec, &token); + val = pj_strtof(&token); + if (neg) val = -val; + + pj_json_elem_number(elem, &name, val); + + } else if (*st->scanner.curptr == '"') { + unsigned err; + char *start = st->scanner.curptr; + + err = parse_quoted_string(st, &token); + if (err) { + st->scanner.curptr = start + err; + return NULL; + } + + pj_json_elem_string(elem, &name, &token); + + } else if (pj_isalpha(*st->scanner.curptr)) { + + if (pj_scan_strcmp(&st->scanner, "false", 5)==0) { + pj_json_elem_bool(elem, &name, PJ_FALSE); + pj_scan_advance_n(&st->scanner, 5, PJ_TRUE); + } else if (pj_scan_strcmp(&st->scanner, "true", 4)==0) { + pj_json_elem_bool(elem, &name, PJ_TRUE); + pj_scan_advance_n(&st->scanner, 4, PJ_TRUE); + } else if (pj_scan_strcmp(&st->scanner, "null", 4)==0) { + pj_json_elem_null(elem, &name); + pj_scan_advance_n(&st->scanner, 4, PJ_TRUE); + } else { + return NULL; + } + + } else if (*st->scanner.curptr == '[') { + pj_json_elem_array(elem, &name); + if (parse_children(st, elem) != PJ_SUCCESS) + return NULL; + + } else if (*st->scanner.curptr == '{') { + pj_json_elem_obj(elem, &name); + if (parse_children(st, elem) != PJ_SUCCESS) + return NULL; + + } else { + return NULL; + } + + return elem; +} + +static void on_syntax_error(pj_scanner *scanner) +{ + PJ_UNUSED_ARG(scanner); + PJ_THROW(11); +} + +PJ_DEF(pj_json_elem*) pj_json_parse(pj_pool_t *pool, + char *buffer, + unsigned *size, + pj_json_err_info *err_info) +{ + pj_cis_buf_t cis_buf; + struct parse_state st; + pj_json_elem *root; + PJ_USE_EXCEPTION; + + PJ_ASSERT_RETURN(pool && buffer && size, NULL); + + if (!*size) + return NULL; + + pj_bzero(&st, sizeof(st)); + st.pool = pool; + st.err_info = err_info; + pj_scan_init(&st.scanner, buffer, *size, + PJ_SCAN_AUTOSKIP_WS | PJ_SCAN_AUTOSKIP_NEWLINE, + &on_syntax_error); + pj_cis_buf_init(&cis_buf); + pj_cis_init(&cis_buf, &st.float_spec); + pj_cis_add_str(&st.float_spec, ".0123456789"); + + PJ_TRY { + root = parse_elem_throw(&st, NULL); + } + PJ_CATCH_ANY { + root = NULL; + } + PJ_END + + if (!root && err_info) { + err_info->line = st.scanner.line; + err_info->col = pj_scan_get_col(&st.scanner) + 1; + err_info->err_char = *st.scanner.curptr; + } + + *size = (unsigned)((buffer + *size) - st.scanner.curptr); + + pj_scan_fini(&st.scanner); + + return root; +} + +struct buf_writer_data +{ + char *pos; + unsigned size; +}; + +static pj_status_t buf_writer(const char *s, + unsigned size, + void *user_data) +{ + struct buf_writer_data *buf_data = (struct buf_writer_data*)user_data; + if (size+1 >= buf_data->size) + return PJ_ETOOBIG; + + pj_memcpy(buf_data->pos, s, size); + buf_data->pos += size; + buf_data->size -= size; + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_json_write(const pj_json_elem *elem, + char *buffer, unsigned *size) +{ + struct buf_writer_data buf_data; + pj_status_t status; + + PJ_ASSERT_RETURN(elem && buffer && size, PJ_EINVAL); + + buf_data.pos = buffer; + buf_data.size = *size; + + status = pj_json_writef(elem, &buf_writer, &buf_data); + if (status != PJ_SUCCESS) + return status; + + *buf_data.pos = '\0'; + *size = (unsigned)(buf_data.pos - buffer); + return PJ_SUCCESS; +} + +#define MAX_INDENT 100 +#ifndef PJ_JSON_NAME_MIN_LEN +# define PJ_JSON_NAME_MIN_LEN 20 +#endif +#define ESC_BUF_LEN 64 +#ifndef PJ_JSON_INDENT_SIZE +# define PJ_JSON_INDENT_SIZE 3 +#endif + +struct write_state +{ + pj_json_writer writer; + void *user_data; + char indent_buf[MAX_INDENT]; + int indent; + char space[PJ_JSON_NAME_MIN_LEN]; +}; + +#define CHECK(expr) do { \ + status=expr; if (status!=PJ_SUCCESS) return status; } \ + while (0) + +static pj_status_t write_string_escaped(const pj_str_t *value, + struct write_state *st) +{ + const char *ip = value->ptr; + const char *iend = value->ptr + value->slen; + char buf[ESC_BUF_LEN]; + char *op = buf; + char *oend = buf + ESC_BUF_LEN; + pj_status_t status; + + while (ip != iend) { + /* Write to buffer to speedup writing instead of calling + * the callback one by one for each character. + */ + while (ip != iend && op != oend) { + if (oend - op < 2) + break; + + if (*ip == '"') { + *op++ = '\\'; + *op++ = '"'; + ip++; + } else if (*ip == '\\') { + *op++ = '\\'; + *op++ = '\\'; + ip++; + } else if (*ip == '/') { + *op++ = '\\'; + *op++ = '/'; + ip++; + } else if (*ip == '\b') { + *op++ = '\\'; + *op++ = 'b'; + ip++; + } else if (*ip == '\f') { + *op++ = '\\'; + *op++ = 'f'; + ip++; + } else if (*ip == '\n') { + *op++ = '\\'; + *op++ = 'n'; + ip++; + } else if (*ip == '\r') { + *op++ = '\\'; + *op++ = 'r'; + ip++; + } else if (*ip == '\t') { + *op++ = '\\'; + *op++ = 't'; + ip++; + } else if ((*ip >= 32 && *ip < 127)) { + /* unescaped */ + *op++ = *ip++; + } else { + /* escaped */ + if (oend - op < 6) + break; + *op++ = '\\'; + *op++ = 'u'; + *op++ = '0'; + *op++ = '0'; + pj_val_to_hex_digit(*ip, op); + op+=2; + ip++; + } + } + + CHECK( st->writer( buf, (unsigned)(op-buf), st->user_data) ); + op = buf; + } + + return PJ_SUCCESS; +} + +static pj_status_t write_children(const pj_json_list *list, + const char quotes[2], + struct write_state *st) +{ + unsigned flags = (quotes[0]=='[') ? NO_NAME : 0; + pj_status_t status; + + //CHECK( st->writer( st->indent_buf, st->indent, st->user_data) ); + CHECK( st->writer( "es[0], 1, st->user_data) ); + CHECK( st->writer( " ", 1, st->user_data) ); + + if (!pj_list_empty(list)) { + pj_bool_t indent_added = PJ_FALSE; + pj_json_elem *child = list->next; + + if (child->name.slen == 0) { + /* Simple list */ + while (child != (pj_json_elem*)list) { + status = elem_write(child, st, flags); + if (status != PJ_SUCCESS) + return status; + + if (child->next != (pj_json_elem*)list) + CHECK( st->writer( ", ", 2, st->user_data) ); + child = child->next; + } + } else { + if (st->indent < sizeof(st->indent_buf)) { + st->indent += PJ_JSON_INDENT_SIZE; + indent_added = PJ_TRUE; + } + CHECK( st->writer( "\n", 1, st->user_data) ); + while (child != (pj_json_elem*)list) { + status = elem_write(child, st, flags); + if (status != PJ_SUCCESS) + return status; + + if (child->next != (pj_json_elem*)list) + CHECK( st->writer( ",\n", 2, st->user_data) ); + else + CHECK( st->writer( "\n", 1, st->user_data) ); + child = child->next; + } + if (indent_added) { + st->indent -= PJ_JSON_INDENT_SIZE; + } + CHECK( st->writer( st->indent_buf, st->indent, st->user_data) ); + } + } + CHECK( st->writer( "es[1], 1, st->user_data) ); + + return PJ_SUCCESS; +} + +static pj_status_t elem_write(const pj_json_elem *elem, + struct write_state *st, + unsigned flags) +{ + pj_status_t status; + + if (elem->name.slen) { + CHECK( st->writer( st->indent_buf, st->indent, st->user_data) ); + if ((flags & NO_NAME)==0) { + CHECK( st->writer( "\"", 1, st->user_data) ); + CHECK( write_string_escaped(&elem->name, st) ); + CHECK( st->writer( "\": ", 3, st->user_data) ); + if (elem->name.slen < PJ_JSON_NAME_MIN_LEN /*&& + elem->type != PJ_JSON_VAL_OBJ && + elem->type != PJ_JSON_VAL_ARRAY*/) + { + CHECK( st->writer( st->space, + (unsigned)(PJ_JSON_NAME_MIN_LEN - + elem->name.slen), + st->user_data) ); + } + } + } + + switch (elem->type) { + case PJ_JSON_VAL_NULL: + CHECK( st->writer( "null", 4, st->user_data) ); + break; + case PJ_JSON_VAL_BOOL: + if (elem->value.is_true) + CHECK( st->writer( "true", 4, st->user_data) ); + else + CHECK( st->writer( "false", 5, st->user_data) ); + break; + case PJ_JSON_VAL_NUMBER: + { + char num_buf[65]; + int len; + + if (elem->value.num == (int)elem->value.num) + len = pj_ansi_snprintf(num_buf, sizeof(num_buf), "%d", + (int)elem->value.num); + else + len = pj_ansi_snprintf(num_buf, sizeof(num_buf), "%f", + elem->value.num); + + if (len < 0 || len >= sizeof(num_buf)) + return PJ_ETOOBIG; + CHECK( st->writer( num_buf, len, st->user_data) ); + } + break; + case PJ_JSON_VAL_STRING: + CHECK( st->writer( "\"", 1, st->user_data) ); + CHECK( write_string_escaped( &elem->value.str, st) ); + CHECK( st->writer( "\"", 1, st->user_data) ); + break; + case PJ_JSON_VAL_ARRAY: + CHECK( write_children(&elem->value.children, "[]", st) ); + break; + case PJ_JSON_VAL_OBJ: + CHECK( write_children(&elem->value.children, "{}", st) ); + break; + default: + pj_assert(!"Unhandled value type"); + } + + return PJ_SUCCESS; +} + +#undef CHECK + +PJ_DEF(pj_status_t) pj_json_writef( const pj_json_elem *elem, + pj_json_writer writer, + void *user_data) +{ + struct write_state st; + + PJ_ASSERT_RETURN(elem && writer, PJ_EINVAL); + + st.writer = writer; + st.user_data = user_data, + st.indent = 0; + pj_memset(st.indent_buf, ' ', MAX_INDENT); + pj_memset(st.space, ' ', PJ_JSON_NAME_MIN_LEN); + + return elem_write(elem, &st, 0); +} + diff --git a/pjlib-util/src/pjlib-util/md5.c b/pjlib-util/src/pjlib-util/md5.c new file mode 100644 index 0000000..1168a54 --- /dev/null +++ b/pjlib-util/src/pjlib-util/md5.c @@ -0,0 +1,266 @@ +/* $Id: md5.c 4614 2013-10-08 11:13:11Z bennylp $ */ +/* + * This is the implementation of MD5 algorithm, based on the code + * written by Colin Plumb. This file is put in public domain. + */ +#include +#include /* pj_memcpy */ +/* + * This code implements the MD5 message-digest algorithm. + * The algorithm is due to Ron Rivest. This code was + * written by Colin Plumb in 1993, no copyright is claimed. + * This code is in the public domain; do with it what you wish. + * + * Equivalent code is available from RSA Data Security, Inc. + * This code has been tested against that, and is equivalent, + * except that you don't need to include two pages of legalese + * with every copy. + * + * To compute the message digest of a chunk of bytes, declare an + * MD5Context structure, pass it to MD5Init, call MD5Update as + * needed on buffers full of bytes, and then call MD5Final, which + * will fill a supplied 16-byte array with the digest. + */ + +#if defined(PJ_IS_BIG_ENDIAN) && PJ_IS_BIG_ENDIAN != 0 +#define HIGHFIRST 1 +#endif + +#ifndef HIGHFIRST +#define byteReverse(buf, len) /* Nothing */ +#else +void byteReverse(unsigned char *buf, unsigned longs); + +#ifndef ASM_MD5 +/* + * Note: this code is harmless on little-endian machines. + */ +void byteReverse(unsigned char *buf, unsigned longs) +{ + pj_uint32_t t; + do { + t = (pj_uint32_t) ((unsigned) buf[3] << 8 | buf[2]) << 16 | + ((unsigned) buf[1] << 8 | buf[0]); + *(pj_uint32_t *) buf = t; + buf += 4; + } while (--longs); +} +#endif +#endif + +static void MD5Transform(pj_uint32_t buf[4], pj_uint32_t const in[16]); + + +/* + * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious + * initialization constants. + */ +PJ_DEF(void) pj_md5_init(pj_md5_context *ctx) +{ + ctx->buf[0] = 0x67452301; + ctx->buf[1] = 0xefcdab89; + ctx->buf[2] = 0x98badcfe; + ctx->buf[3] = 0x10325476; + + ctx->bits[0] = 0; + ctx->bits[1] = 0; +} + +/* + * Update context to reflect the concatenation of another buffer full + * of bytes. + */ +PJ_DEF(void) pj_md5_update( pj_md5_context *ctx, + unsigned char const *buf, unsigned len) +{ + pj_uint32_t t; + + /* Update bitcount */ + + t = ctx->bits[0]; + if ((ctx->bits[0] = t + ((pj_uint32_t) len << 3)) < t) + ctx->bits[1]++; /* Carry from low to high */ + ctx->bits[1] += len >> 29; + + t = (t >> 3) & 0x3f; /* Bytes already in shsInfo->data */ + + /* Handle any leading odd-sized chunks */ + + if (t) { + unsigned char *p = (unsigned char *) ctx->in + t; + + t = 64 - t; + if (len < t) { + pj_memcpy(p, buf, len); + return; + } + pj_memcpy(p, buf, t); + byteReverse(ctx->in, 16); + MD5Transform(ctx->buf, (pj_uint32_t *) ctx->in); + buf += t; + len -= t; + } + /* Process data in 64-byte chunks */ + + while (len >= 64) { + pj_memcpy(ctx->in, buf, 64); + byteReverse(ctx->in, 16); + MD5Transform(ctx->buf, (pj_uint32_t *) ctx->in); + buf += 64; + len -= 64; + } + + /* Handle any remaining bytes of data. */ + + pj_memcpy(ctx->in, buf, len); +} + +/* + * Final wrapup - pad to 64-byte boundary with the bit pattern + * 1 0* (64-bit count of bits processed, MSB-first) + */ +PJ_DEF(void) pj_md5_final(pj_md5_context *ctx, unsigned char digest[16]) +{ + unsigned count; + unsigned char *p; + + /* Compute number of bytes mod 64 */ + count = (ctx->bits[0] >> 3) & 0x3F; + + /* Set the first char of padding to 0x80. This is safe since there is + always at least one byte free */ + p = ctx->in + count; + *p++ = 0x80; + + /* Bytes of padding needed to make 64 bytes */ + count = 64 - 1 - count; + + /* Pad out to 56 mod 64 */ + if (count < 8) { + /* Two lots of padding: Pad the first block to 64 bytes */ + pj_bzero(p, count); + byteReverse(ctx->in, 16); + MD5Transform(ctx->buf, (pj_uint32_t *) ctx->in); + + /* Now fill the next block with 56 bytes */ + pj_bzero(ctx->in, 56); + } else { + /* Pad block to 56 bytes */ + pj_bzero(p, count - 8); + } + byteReverse(ctx->in, 14); + + /* Append length in bits and transform */ + ((pj_uint32_t *) ctx->in)[14] = ctx->bits[0]; + ((pj_uint32_t *) ctx->in)[15] = ctx->bits[1]; + + MD5Transform(ctx->buf, (pj_uint32_t *) ctx->in); + byteReverse((unsigned char *) ctx->buf, 4); + pj_memcpy(digest, ctx->buf, 16); + pj_bzero(ctx, sizeof(*ctx)); /* In case it's sensitive */ +} + +#ifndef ASM_MD5 + +/* The four core functions - F1 is optimized somewhat */ + +/* #define F1(x, y, z) (x & y | ~x & z) */ +#define F1(x, y, z) (z ^ (x & (y ^ z))) +#define F2(x, y, z) F1(z, x, y) +#define F3(x, y, z) (x ^ y ^ z) +#define F4(x, y, z) (y ^ (x | ~z)) + +/* This is the central step in the MD5 algorithm. */ +#define MD5STEP(f, w, x, y, z, data, s) \ + ( w += f(x, y, z) + data, w = w<>(32-s), w += x ) + +/* + * The core of the MD5 algorithm, this alters an existing MD5 hash to + * reflect the addition of 16 longwords of new data. MD5Update blocks + * the data and converts bytes into longwords for this routine. + */ +static void MD5Transform(pj_uint32_t buf[4], pj_uint32_t const in[16]) +{ + register pj_uint32_t a, b, c, d; + + a = buf[0]; + b = buf[1]; + c = buf[2]; + d = buf[3]; + + MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7); + MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12); + MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17); + MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22); + MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7); + MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12); + MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17); + MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22); + MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7); + MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12); + MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17); + MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22); + MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7); + MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12); + MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17); + MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22); + + MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5); + MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9); + MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14); + MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20); + MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5); + MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9); + MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14); + MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20); + MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5); + MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9); + MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14); + MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20); + MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5); + MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9); + MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14); + MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20); + + MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4); + MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11); + MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16); + MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23); + MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4); + MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11); + MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16); + MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23); + MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4); + MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11); + MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16); + MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23); + MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4); + MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11); + MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16); + MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23); + + MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6); + MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10); + MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15); + MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21); + MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6); + MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10); + MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15); + MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21); + MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6); + MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10); + MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15); + MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21); + MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6); + MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10); + MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15); + MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21); + + buf[0] += a; + buf[1] += b; + buf[2] += c; + buf[3] += d; +} + +#endif + diff --git a/pjlib-util/src/pjlib-util/pcap.c b/pjlib-util/src/pjlib-util/pcap.c new file mode 100644 index 0000000..a43f2fa --- /dev/null +++ b/pjlib-util/src/pjlib-util/pcap.c @@ -0,0 +1,392 @@ +/* $Id: pcap.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include + +#if 0 +# define TRACE_(x) PJ_LOG(5,x) +#else +# define TRACE_(x) +#endif + + +#pragma pack(1) + +typedef struct pj_pcap_hdr +{ + pj_uint32_t magic_number; /* magic number */ + pj_uint16_t version_major; /* major version number */ + pj_uint16_t version_minor; /* minor version number */ + pj_int32_t thiszone; /* GMT to local correction */ + pj_uint32_t sigfigs; /* accuracy of timestamps */ + pj_uint32_t snaplen; /* max length of captured packets, in octets */ + pj_uint32_t network; /* data link type */ +} pj_pcap_hdr; + +typedef struct pj_pcap_rec_hdr +{ + pj_uint32_t ts_sec; /* timestamp seconds */ + pj_uint32_t ts_usec; /* timestamp microseconds */ + pj_uint32_t incl_len; /* number of octets of packet saved in file */ + pj_uint32_t orig_len; /* actual length of packet */ +} pj_pcap_rec_hdr; + +#if 0 +/* gcc insisted on aligning this struct to 32bit on ARM */ +typedef struct pj_pcap_eth_hdr +{ + pj_uint8_t dest[6]; + pj_uint8_t src[6]; + pj_uint8_t len[2]; +} pj_pcap_eth_hdr; +#else +typedef pj_uint8_t pj_pcap_eth_hdr[14]; +#endif + +typedef struct pj_pcap_ip_hdr +{ + pj_uint8_t v_ihl; + pj_uint8_t tos; + pj_uint16_t len; + pj_uint16_t id; + pj_uint16_t flags_fragment; + pj_uint8_t ttl; + pj_uint8_t proto; + pj_uint16_t csum; + pj_uint32_t ip_src; + pj_uint32_t ip_dst; +} pj_pcap_ip_hdr; + +/* Implementation of pcap file */ +struct pj_pcap_file +{ + char obj_name[PJ_MAX_OBJ_NAME]; + pj_oshandle_t fd; + pj_bool_t swap; + pj_pcap_hdr hdr; + pj_pcap_filter filter; +}; + +/* Init default filter */ +PJ_DEF(void) pj_pcap_filter_default(pj_pcap_filter *filter) +{ + pj_bzero(filter, sizeof(*filter)); +} + +/* Open pcap file */ +PJ_DEF(pj_status_t) pj_pcap_open(pj_pool_t *pool, + const char *path, + pj_pcap_file **p_file) +{ + pj_pcap_file *file; + pj_ssize_t sz; + pj_status_t status; + + PJ_ASSERT_RETURN(pool && path && p_file, PJ_EINVAL); + + /* More sanity checks */ + TRACE_(("pcap", "sizeof(pj_pcap_eth_hdr)=%d", + sizeof(pj_pcap_eth_hdr))); + PJ_ASSERT_RETURN(sizeof(pj_pcap_eth_hdr)==14, PJ_EBUG); + TRACE_(("pcap", "sizeof(pj_pcap_ip_hdr)=%d", + sizeof(pj_pcap_ip_hdr))); + PJ_ASSERT_RETURN(sizeof(pj_pcap_ip_hdr)==20, PJ_EBUG); + TRACE_(("pcap", "sizeof(pj_pcap_udp_hdr)=%d", + sizeof(pj_pcap_udp_hdr))); + PJ_ASSERT_RETURN(sizeof(pj_pcap_udp_hdr)==8, PJ_EBUG); + + file = PJ_POOL_ZALLOC_T(pool, pj_pcap_file); + + pj_ansi_strcpy(file->obj_name, "pcap"); + + status = pj_file_open(pool, path, PJ_O_RDONLY, &file->fd); + if (status != PJ_SUCCESS) + return status; + + /* Read file pcap header */ + sz = sizeof(file->hdr); + status = pj_file_read(file->fd, &file->hdr, &sz); + if (status != PJ_SUCCESS) { + pj_file_close(file->fd); + return status; + } + + /* Check magic number */ + if (file->hdr.magic_number == 0xa1b2c3d4) { + file->swap = PJ_FALSE; + } else if (file->hdr.magic_number == 0xd4c3b2a1) { + file->swap = PJ_TRUE; + file->hdr.network = pj_ntohl(file->hdr.network); + } else { + /* Not PCAP file */ + pj_file_close(file->fd); + return PJ_EINVALIDOP; + } + + TRACE_((file->obj_name, "PCAP file %s opened", path)); + + *p_file = file; + return PJ_SUCCESS; +} + +/* Close pcap file */ +PJ_DEF(pj_status_t) pj_pcap_close(pj_pcap_file *file) +{ + PJ_ASSERT_RETURN(file, PJ_EINVAL); + TRACE_((file->obj_name, "PCAP file closed")); + return pj_file_close(file->fd); +} + +/* Setup filter */ +PJ_DEF(pj_status_t) pj_pcap_set_filter(pj_pcap_file *file, + const pj_pcap_filter *fil) +{ + PJ_ASSERT_RETURN(file && fil, PJ_EINVAL); + pj_memcpy(&file->filter, fil, sizeof(pj_pcap_filter)); + return PJ_SUCCESS; +} + +/* Read file */ +static pj_status_t read_file(pj_pcap_file *file, + void *buf, + pj_ssize_t *sz) +{ + pj_status_t status; + status = pj_file_read(file->fd, buf, sz); + if (status != PJ_SUCCESS) + return status; + if (*sz == 0) + return PJ_EEOF; + return PJ_SUCCESS; +} + +static pj_status_t skip(pj_oshandle_t fd, pj_off_t bytes) +{ + pj_status_t status; + status = pj_file_setpos(fd, bytes, PJ_SEEK_CUR); + if (status != PJ_SUCCESS) + return status; + return PJ_SUCCESS; +} + + +#define SKIP_PKT() \ + if (rec_incl > sz_read) { \ + status = skip(file->fd, rec_incl-sz_read);\ + if (status != PJ_SUCCESS) \ + return status; \ + } + +/* Read UDP packet */ +PJ_DEF(pj_status_t) pj_pcap_read_udp(pj_pcap_file *file, + pj_pcap_udp_hdr *udp_hdr, + pj_uint8_t *udp_payload, + pj_size_t *udp_payload_size) +{ + PJ_ASSERT_RETURN(file && udp_payload && udp_payload_size, PJ_EINVAL); + PJ_ASSERT_RETURN(*udp_payload_size, PJ_EINVAL); + + /* Check data link type in PCAP file header */ + if ((file->filter.link && + file->hdr.network != (pj_uint32_t)file->filter.link) || + file->hdr.network != PJ_PCAP_LINK_TYPE_ETH) + { + /* Link header other than Ethernet is not supported for now */ + return PJ_ENOTSUP; + } + + /* Loop until we have the packet */ + for (;;) { + union { + pj_pcap_rec_hdr rec; + pj_pcap_eth_hdr eth; + pj_pcap_ip_hdr ip; + pj_pcap_udp_hdr udp; + } tmp; + unsigned rec_incl; + pj_ssize_t sz; + pj_size_t sz_read = 0; + pj_status_t status; + + TRACE_((file->obj_name, "Reading packet..")); + + /* Read PCAP packet header */ + sz = sizeof(tmp.rec); + status = read_file(file, &tmp.rec, &sz); + if (status != PJ_SUCCESS) { + TRACE_((file->obj_name, "read_file() error: %d", status)); + return status; + } + + rec_incl = tmp.rec.incl_len; + + /* Swap byte ordering */ + if (file->swap) { + tmp.rec.incl_len = pj_ntohl(tmp.rec.incl_len); + tmp.rec.orig_len = pj_ntohl(tmp.rec.orig_len); + tmp.rec.ts_sec = pj_ntohl(tmp.rec.ts_sec); + tmp.rec.ts_usec = pj_ntohl(tmp.rec.ts_usec); + } + + /* Read link layer header */ + switch (file->hdr.network) { + case PJ_PCAP_LINK_TYPE_ETH: + sz = sizeof(tmp.eth); + status = read_file(file, &tmp.eth, &sz); + break; + default: + TRACE_((file->obj_name, "Error: link layer not Ethernet")); + return PJ_ENOTSUP; + } + + if (status != PJ_SUCCESS) { + TRACE_((file->obj_name, "Error reading Eth header: %d", status)); + return status; + } + + sz_read += sz; + + /* Read IP header */ + sz = sizeof(tmp.ip); + status = read_file(file, &tmp.ip, &sz); + if (status != PJ_SUCCESS) { + TRACE_((file->obj_name, "Error reading IP header: %d", status)); + return status; + } + + sz_read += sz; + + /* Skip if IP source mismatch */ + if (file->filter.ip_src && tmp.ip.ip_src != file->filter.ip_src) { + TRACE_((file->obj_name, "IP source %s mismatch, skipping", + pj_inet_ntoa(*(pj_in_addr*)&tmp.ip.ip_src))); + SKIP_PKT(); + continue; + } + + /* Skip if IP destination mismatch */ + if (file->filter.ip_dst && tmp.ip.ip_dst != file->filter.ip_dst) { + TRACE_((file->obj_name, "IP detination %s mismatch, skipping", + pj_inet_ntoa(*(pj_in_addr*)&tmp.ip.ip_dst))); + SKIP_PKT(); + continue; + } + + /* Skip if proto mismatch */ + if (file->filter.proto && tmp.ip.proto != file->filter.proto) { + TRACE_((file->obj_name, "IP proto %d mismatch, skipping", + tmp.ip.proto)); + SKIP_PKT(); + continue; + } + + /* Read transport layer header */ + switch (tmp.ip.proto) { + case PJ_PCAP_PROTO_TYPE_UDP: + sz = sizeof(tmp.udp); + status = read_file(file, &tmp.udp, &sz); + if (status != PJ_SUCCESS) { + TRACE_((file->obj_name, "Error reading UDP header: %d",status)); + return status; + } + + sz_read += sz; + + /* Skip if source port mismatch */ + if (file->filter.src_port && + tmp.udp.src_port != file->filter.src_port) + { + TRACE_((file->obj_name, "UDP src port %d mismatch, skipping", + pj_ntohs(tmp.udp.src_port))); + SKIP_PKT(); + continue; + } + + /* Skip if destination port mismatch */ + if (file->filter.dst_port && + tmp.udp.dst_port != file->filter.dst_port) + { + TRACE_((file->obj_name, "UDP dst port %d mismatch, skipping", + pj_ntohs(tmp.udp.dst_port))); + SKIP_PKT(); + continue; + } + + /* Copy UDP header if caller wants it */ + if (udp_hdr) { + pj_memcpy(udp_hdr, &tmp.udp, sizeof(*udp_hdr)); + } + + /* Calculate payload size */ + sz = pj_ntohs(tmp.udp.len) - sizeof(tmp.udp); + break; + default: + TRACE_((file->obj_name, "Not UDP, skipping")); + SKIP_PKT(); + continue; + } + + /* Check if payload fits the buffer */ + if (sz > (pj_ssize_t)*udp_payload_size) { + TRACE_((file->obj_name, + "Error: packet too large (%d bytes required)", sz)); + SKIP_PKT(); + return PJ_ETOOSMALL; + } + + /* Read the payload */ + status = read_file(file, udp_payload, &sz); + if (status != PJ_SUCCESS) { + TRACE_((file->obj_name, "Error reading payload: %d", status)); + return status; + } + + sz_read += sz; + + *udp_payload_size = sz; + + // Some layers may have trailer, e.g: link eth2. + /* Check that we've read all the packets */ + //PJ_ASSERT_RETURN(sz_read == rec_incl, PJ_EBUG); + + /* Skip trailer */ + while (sz_read < rec_incl) { + sz = rec_incl - sz_read; + status = read_file(file, &tmp.eth, &sz); + if (status != PJ_SUCCESS) { + TRACE_((file->obj_name, "Error reading trailer: %d", status)); + return status; + } + sz_read += sz; + } + + return PJ_SUCCESS; + } + + /* Does not reach here */ +} + + diff --git a/pjlib-util/src/pjlib-util/resolver.c b/pjlib-util/src/pjlib-util/resolver.c new file mode 100644 index 0000000..320229b --- /dev/null +++ b/pjlib-util/src/pjlib-util/resolver.c @@ -0,0 +1,1690 @@ +/* $Id: resolver.c 4649 2013-11-07 08:20:30Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define THIS_FILE "resolver.c" + + +/* Check that maximum DNS nameservers is not too large. + * This has got todo with the datatype to index the nameserver in the query. + */ +#if PJ_DNS_RESOLVER_MAX_NS > 256 +# error "PJ_DNS_RESOLVER_MAX_NS is too large (max=256)" +#endif + + +#define RES_HASH_TABLE_SIZE 127 /**< Hash table size (must be 2^n-1 */ +#define PORT 53 /**< Default NS port. */ +#define Q_HASH_TABLE_SIZE 127 /**< Query hash table size */ +#define TIMER_SIZE 127 /**< Initial number of timers. */ +#define MAX_FD 3 /**< Maximum internal sockets. */ + +#define RES_BUF_SZ PJ_DNS_RESOLVER_RES_BUF_SIZE +#define UDPSZ PJ_DNS_RESOLVER_MAX_UDP_SIZE +#define TMP_SZ PJ_DNS_RESOLVER_TMP_BUF_SIZE + + +/* Nameserver state */ +enum ns_state +{ + STATE_PROBING, + STATE_ACTIVE, + STATE_BAD, +}; + +static const char *state_names[3] = +{ + "Probing", + "Active", + "Bad" +}; + + +/* + * Each nameserver entry. + * A name server is identified by its socket address (IP and port). + * Each NS will have a flag to indicate whether it's properly functioning. + */ +struct nameserver +{ + pj_sockaddr_in addr; /**< Server address. */ + + enum ns_state state; /**< Nameserver state. */ + pj_time_val state_expiry; /**< Time set next state. */ + pj_time_val rt_delay; /**< Response time. */ + + + /* For calculating rt_delay: */ + pj_uint16_t q_id; /**< Query ID. */ + pj_time_val sent_time; /**< Time this query is sent. */ +}; + + +/* Child query list head + * See comments on pj_dns_async_query below. + */ +struct query_head +{ + PJ_DECL_LIST_MEMBER(pj_dns_async_query); +}; + + +/* Key to look for outstanding query and/or cached response */ +struct res_key +{ + pj_uint16_t qtype; /**< Query type. */ + char name[PJ_MAX_HOSTNAME]; /**< Name being queried */ +}; + + +/* + * This represents each asynchronous query entry. + * This entry will be put in two hash tables, the first one keyed on the DNS + * transaction ID to match response with the query, and the second one keyed + * on "res_key" structure above to match a new request against outstanding + * requests. + * + * An asynchronous entry may have child entries; child entries are subsequent + * queries to the same resource while there is pending query on the same + * DNS resource name and type. When a query has child entries, once the + * response is received (or error occurs), the response will trigger callback + * invocations for all childs entries. + * + * Note: when application cancels the query, the callback member will be + * set to NULL, but for simplicity, the query will be let running. + */ +struct pj_dns_async_query +{ + PJ_DECL_LIST_MEMBER(pj_dns_async_query); /**< List member. */ + + pj_dns_resolver *resolver; /**< The resolver instance. */ + pj_uint16_t id; /**< Transaction ID. */ + + unsigned transmit_cnt; /**< Number of transmissions. */ + + struct res_key key; /**< Key to index this query. */ + pj_hash_entry_buf hbufid; /**< Hash buffer 1 */ + pj_hash_entry_buf hbufkey; /**< Hash buffer 2 */ + pj_timer_entry timer_entry; /**< Timer to manage timeouts */ + unsigned options; /**< Query options. */ + void *user_data; /**< Application data. */ + pj_dns_callback *cb; /**< Callback to be called. */ + struct query_head child_head; /**< Child queries list head. */ +}; + + +/* This structure is used to keep cached response entry. + * The cache is a hash table keyed on "res_key" structure above. + */ +struct cached_res +{ + PJ_DECL_LIST_MEMBER(struct cached_res); + + pj_pool_t *pool; /**< Cache's pool. */ + struct res_key key; /**< Resource key. */ + pj_hash_entry_buf hbuf; /**< Hash buffer */ + pj_time_val expiry_time; /**< Expiration time. */ + pj_dns_parsed_packet *pkt; /**< The response packet. */ + unsigned ref_cnt; /**< Reference counter. */ +}; + + +/* Resolver entry */ +struct pj_dns_resolver +{ + pj_str_t name; /**< Resolver instance name for id. */ + + /* Internals */ + pj_pool_t *pool; /**< Internal pool. */ + pj_mutex_t *mutex; /**< Mutex protection. */ + pj_bool_t own_timer; /**< Do we own timer? */ + pj_timer_heap_t *timer; /**< Timer instance. */ + pj_bool_t own_ioqueue; /**< Do we own ioqueue? */ + pj_ioqueue_t *ioqueue; /**< Ioqueue instance. */ + char tmp_pool[TMP_SZ];/**< Temporary pool buffer. */ + + /* Socket */ + pj_sock_t udp_sock; /**< UDP socket. */ + pj_ioqueue_key_t *udp_key; /**< UDP socket ioqueue key. */ + unsigned char udp_rx_pkt[UDPSZ];/**< UDP receive buffer. */ + unsigned char udp_tx_pkt[UDPSZ];/**< UDP receive buffer. */ + pj_ssize_t udp_len; /**< Length of received packet. */ + pj_ioqueue_op_key_t udp_op_rx_key; /**< UDP read operation key. */ + pj_ioqueue_op_key_t udp_op_tx_key; /**< UDP write operation key. */ + pj_sockaddr_in udp_src_addr; /**< Source address of packet */ + int udp_addr_len; /**< Source address length. */ + + /* Settings */ + pj_dns_settings settings; /**< Resolver settings. */ + + /* Nameservers */ + unsigned ns_count; /**< Number of name servers. */ + struct nameserver ns[PJ_DNS_RESOLVER_MAX_NS]; /**< Array of NS. */ + + /* Last DNS transaction ID used. */ + pj_uint16_t last_id; + + /* Hash table for cached response */ + pj_hash_table_t *hrescache; /**< Cached response in hash table */ + + /* Pending asynchronous query, hashed by transaction ID. */ + pj_hash_table_t *hquerybyid; + + /* Pending asynchronous query, hashed by "res_key" */ + pj_hash_table_t *hquerybyres; + + /* Query entries free list */ + struct query_head query_free_nodes; +}; + + +/* Callback from ioqueue when packet is received */ +static void on_read_complete(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_read); + +/* Callback to be called when query has timed out */ +static void on_timeout( pj_timer_heap_t *timer_heap, + struct pj_timer_entry *entry); + +/* Select which nameserver to use */ +static pj_status_t select_nameservers(pj_dns_resolver *resolver, + unsigned *count, + unsigned servers[]); + + +/* Close UDP socket */ +static void close_sock(pj_dns_resolver *resv) +{ + /* Close existing socket */ + if (resv->udp_key != NULL) { + pj_ioqueue_unregister(resv->udp_key); + resv->udp_key = NULL; + resv->udp_sock = PJ_INVALID_SOCKET; + } else if (resv->udp_sock != PJ_INVALID_SOCKET) { + pj_sock_close(resv->udp_sock); + resv->udp_sock = PJ_INVALID_SOCKET; + } +} + + +/* Initialize UDP socket */ +static pj_status_t init_sock(pj_dns_resolver *resv) +{ + pj_ioqueue_callback socket_cb; + pj_status_t status; + + /* Create the UDP socket */ + status = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &resv->udp_sock); + if (status != PJ_SUCCESS) + return status; + + /* Bind to any address/port */ + status = pj_sock_bind_in(resv->udp_sock, 0, 0); + if (status != PJ_SUCCESS) + return status; + + /* Register to ioqueue */ + pj_bzero(&socket_cb, sizeof(socket_cb)); + socket_cb.on_read_complete = &on_read_complete; + status = pj_ioqueue_register_sock(resv->pool, resv->ioqueue, + resv->udp_sock, resv, &socket_cb, + &resv->udp_key); + if (status != PJ_SUCCESS) + return status; + + pj_ioqueue_op_key_init(&resv->udp_op_rx_key, sizeof(resv->udp_op_rx_key)); + pj_ioqueue_op_key_init(&resv->udp_op_tx_key, sizeof(resv->udp_op_tx_key)); + + /* Start asynchronous read to the UDP socket */ + resv->udp_len = sizeof(resv->udp_rx_pkt); + resv->udp_addr_len = sizeof(resv->udp_src_addr); + status = pj_ioqueue_recvfrom(resv->udp_key, &resv->udp_op_rx_key, + resv->udp_rx_pkt, &resv->udp_len, + PJ_IOQUEUE_ALWAYS_ASYNC, + &resv->udp_src_addr, &resv->udp_addr_len); + if (status != PJ_EPENDING) + return status; + + return PJ_SUCCESS; +} + + +/* Initialize DNS settings with default values */ +PJ_DEF(void) pj_dns_settings_default(pj_dns_settings *s) +{ + pj_bzero(s, sizeof(pj_dns_settings)); + s->qretr_delay = PJ_DNS_RESOLVER_QUERY_RETRANSMIT_DELAY; + s->qretr_count = PJ_DNS_RESOLVER_QUERY_RETRANSMIT_COUNT; + s->cache_max_ttl = PJ_DNS_RESOLVER_MAX_TTL; + s->good_ns_ttl = PJ_DNS_RESOLVER_GOOD_NS_TTL; + s->bad_ns_ttl = PJ_DNS_RESOLVER_BAD_NS_TTL; +} + + +/* + * Create the resolver. + */ +PJ_DEF(pj_status_t) pj_dns_resolver_create( pj_pool_factory *pf, + const char *name, + unsigned options, + pj_timer_heap_t *timer, + pj_ioqueue_t *ioqueue, + pj_dns_resolver **p_resolver) +{ + pj_pool_t *pool; + pj_dns_resolver *resv; + pj_status_t status; + + /* Sanity check */ + PJ_ASSERT_RETURN(pf && p_resolver, PJ_EINVAL); + + if (name == NULL) + name = THIS_FILE; + + /* Create and initialize resolver instance */ + pool = pj_pool_create(pf, name, 4000, 4000, NULL); + if (!pool) + return PJ_ENOMEM; + + /* Create pool and name */ + resv = PJ_POOL_ZALLOC_T(pool, struct pj_dns_resolver); + resv->pool = pool; + resv->udp_sock = PJ_INVALID_SOCKET; + pj_strdup2_with_null(pool, &resv->name, name); + + /* Create the mutex */ + status = pj_mutex_create_recursive(pool, name, &resv->mutex); + if (status != PJ_SUCCESS) + goto on_error; + + /* Timer, ioqueue, and settings */ + resv->timer = timer; + resv->ioqueue = ioqueue; + resv->last_id = 1; + + pj_dns_settings_default(&resv->settings); + resv->settings.options = options; + + /* Create the timer heap if one is not specified */ + if (resv->timer == NULL) { + status = pj_timer_heap_create(pool, TIMER_SIZE, &resv->timer); + if (status != PJ_SUCCESS) + goto on_error; + } + + /* Create the ioqueue if one is not specified */ + if (resv->ioqueue == NULL) { + status = pj_ioqueue_create(pool, MAX_FD, &resv->ioqueue); + if (status != PJ_SUCCESS) + goto on_error; + } + + /* Response cache hash table */ + resv->hrescache = pj_hash_create(pool, RES_HASH_TABLE_SIZE); + + /* Query hash table and free list. */ + resv->hquerybyid = pj_hash_create(pool, Q_HASH_TABLE_SIZE); + resv->hquerybyres = pj_hash_create(pool, Q_HASH_TABLE_SIZE); + pj_list_init(&resv->query_free_nodes); + + /* Initialize the UDP socket */ + status = init_sock(resv); + if (status != PJ_SUCCESS) + goto on_error; + + /* Looks like everything is okay */ + *p_resolver = resv; + return PJ_SUCCESS; + +on_error: + pj_dns_resolver_destroy(resv, PJ_FALSE); + return status; +} + + +/* + * Destroy DNS resolver instance. + */ +PJ_DEF(pj_status_t) pj_dns_resolver_destroy( pj_dns_resolver *resolver, + pj_bool_t notify) +{ + pj_hash_iterator_t it_buf, *it; + PJ_ASSERT_RETURN(resolver, PJ_EINVAL); + + if (notify) { + /* + * Notify pending queries if requested. + */ + it = pj_hash_first(resolver->hquerybyid, &it_buf); + while (it) { + pj_dns_async_query *q = (pj_dns_async_query *) + pj_hash_this(resolver->hquerybyid, it); + pj_dns_async_query *cq; + if (q->cb) + (*q->cb)(q->user_data, PJ_ECANCELLED, NULL); + + cq = q->child_head.next; + while (cq != (pj_dns_async_query*)&q->child_head) { + if (cq->cb) + (*cq->cb)(cq->user_data, PJ_ECANCELLED, NULL); + cq = cq->next; + } + it = pj_hash_next(resolver->hquerybyid, it); + } + } + + /* Destroy cached entries */ + it = pj_hash_first(resolver->hrescache, &it_buf); + while (it) { + struct cached_res *cache; + + cache = (struct cached_res*) pj_hash_this(resolver->hrescache, it); + pj_hash_set(NULL, resolver->hrescache, &cache->key, + sizeof(cache->key), 0, NULL); + pj_pool_release(cache->pool); + + it = pj_hash_first(resolver->hrescache, &it_buf); + } + + if (resolver->own_timer && resolver->timer) { + pj_timer_heap_destroy(resolver->timer); + resolver->timer = NULL; + } + + close_sock(resolver); + + if (resolver->own_ioqueue && resolver->ioqueue) { + pj_ioqueue_destroy(resolver->ioqueue); + resolver->ioqueue = NULL; + } + + if (resolver->mutex) { + pj_mutex_destroy(resolver->mutex); + resolver->mutex = NULL; + } + + if (resolver->pool) { + pj_pool_t *pool = resolver->pool; + resolver->pool = NULL; + pj_pool_release(pool); + } + return PJ_SUCCESS; +} + + + +/* + * Configure name servers for the DNS resolver. + */ +PJ_DEF(pj_status_t) pj_dns_resolver_set_ns( pj_dns_resolver *resolver, + unsigned count, + const pj_str_t servers[], + const pj_uint16_t ports[]) +{ + unsigned i; + pj_time_val now; + pj_status_t status; + + PJ_ASSERT_RETURN(resolver && count && servers, PJ_EINVAL); + PJ_ASSERT_RETURN(count < PJ_DNS_RESOLVER_MAX_NS, PJ_EINVAL); + + pj_mutex_lock(resolver->mutex); + + if (count > PJ_DNS_RESOLVER_MAX_NS) + count = PJ_DNS_RESOLVER_MAX_NS; + + resolver->ns_count = 0; + pj_bzero(resolver->ns, sizeof(resolver->ns)); + + pj_gettimeofday(&now); + + for (i=0; ins[i]; + + status = pj_sockaddr_in_init(&ns->addr, &servers[i], + (pj_uint16_t)(ports ? ports[i] : PORT)); + if (status != PJ_SUCCESS) { + pj_mutex_unlock(resolver->mutex); + return PJLIB_UTIL_EDNSINNSADDR; + } + + ns->state = STATE_ACTIVE; + ns->state_expiry = now; + ns->rt_delay.sec = 10; + } + + resolver->ns_count = count; + + pj_mutex_unlock(resolver->mutex); + return PJ_SUCCESS; +} + + + +/* + * Modify the resolver settings. + */ +PJ_DEF(pj_status_t) pj_dns_resolver_set_settings(pj_dns_resolver *resolver, + const pj_dns_settings *st) +{ + PJ_ASSERT_RETURN(resolver && st, PJ_EINVAL); + + pj_mutex_lock(resolver->mutex); + pj_memcpy(&resolver->settings, st, sizeof(*st)); + pj_mutex_unlock(resolver->mutex); + return PJ_SUCCESS; +} + + +/* + * Get the resolver current settings. + */ +PJ_DEF(pj_status_t) pj_dns_resolver_get_settings( pj_dns_resolver *resolver, + pj_dns_settings *st) +{ + PJ_ASSERT_RETURN(resolver && st, PJ_EINVAL); + + pj_mutex_lock(resolver->mutex); + pj_memcpy(st, &resolver->settings, sizeof(*st)); + pj_mutex_unlock(resolver->mutex); + return PJ_SUCCESS; +} + + +/* + * Poll for events from the resolver. + */ +PJ_DEF(void) pj_dns_resolver_handle_events(pj_dns_resolver *resolver, + const pj_time_val *timeout) +{ + PJ_ASSERT_ON_FAIL(resolver, return); + + pj_mutex_lock(resolver->mutex); + pj_timer_heap_poll(resolver->timer, NULL); + pj_mutex_unlock(resolver->mutex); + + pj_ioqueue_poll(resolver->ioqueue, timeout); +} + + +/* Get one query node from the free node, if any, or allocate + * a new one. + */ +static pj_dns_async_query *alloc_qnode(pj_dns_resolver *resolver, + unsigned options, + void *user_data, + pj_dns_callback *cb) +{ + pj_dns_async_query *q; + + /* Merge query options with resolver options */ + options |= resolver->settings.options; + + if (!pj_list_empty(&resolver->query_free_nodes)) { + q = resolver->query_free_nodes.next; + pj_list_erase(q); + pj_bzero(q, sizeof(*q)); + } else { + q = PJ_POOL_ZALLOC_T(resolver->pool, pj_dns_async_query); + } + + /* Init query */ + q->resolver = resolver; + q->options = options; + q->user_data = user_data; + q->cb = cb; + pj_list_init(&q->child_head); + + return q; +} + + +/* + * Transmit query. + */ +static pj_status_t transmit_query(pj_dns_resolver *resolver, + pj_dns_async_query *q) +{ + unsigned pkt_size; + unsigned i, server_cnt; + unsigned servers[PJ_DNS_RESOLVER_MAX_NS]; + pj_time_val now; + pj_str_t name; + pj_time_val delay; + pj_status_t status; + + /* Select which nameserver(s) to send requests to. */ + server_cnt = PJ_ARRAY_SIZE(servers); + status = select_nameservers(resolver, &server_cnt, servers); + if (status != PJ_SUCCESS) { + return status; + } + + if (server_cnt == 0) { + return PJLIB_UTIL_EDNSNOWORKINGNS; + } + + /* Start retransmit/timeout timer for the query */ + pj_assert(q->timer_entry.id == 0); + q->timer_entry.id = 1; + q->timer_entry.user_data = q; + q->timer_entry.cb = &on_timeout; + + delay.sec = 0; + delay.msec = resolver->settings.qretr_delay; + pj_time_val_normalize(&delay); + status = pj_timer_heap_schedule(resolver->timer, &q->timer_entry, &delay); + if (status != PJ_SUCCESS) { + return status; + } + + /* Check if the socket is available for sending */ + if (pj_ioqueue_is_pending(resolver->udp_key, &resolver->udp_op_tx_key)) { + ++q->transmit_cnt; + PJ_LOG(4,(resolver->name.ptr, + "Socket busy in transmitting DNS %s query for %s%s", + pj_dns_get_type_name(q->key.qtype), + q->key.name, + (q->transmit_cnt < resolver->settings.qretr_count? + ", will try again later":""))); + return PJ_SUCCESS; + } + + /* Create DNS query packet */ + pkt_size = sizeof(resolver->udp_tx_pkt); + name = pj_str(q->key.name); + status = pj_dns_make_query(resolver->udp_tx_pkt, &pkt_size, + q->id, q->key.qtype, &name); + if (status != PJ_SUCCESS) { + pj_timer_heap_cancel(resolver->timer, &q->timer_entry); + return status; + } + + /* Get current time. */ + pj_gettimeofday(&now); + + /* Send the packet to name servers */ + for (i=0; ins[servers[i]]; + + status = pj_ioqueue_sendto(resolver->udp_key, + &resolver->udp_op_tx_key, + resolver->udp_tx_pkt, &sent, 0, + &resolver->ns[servers[i]].addr, + sizeof(pj_sockaddr_in)); + + PJ_PERROR(4,(resolver->name.ptr, status, + "%s %d bytes to NS %d (%s:%d): DNS %s query for %s", + (q->transmit_cnt==0? "Transmitting":"Re-transmitting"), + (int)pkt_size, servers[i], + pj_inet_ntoa(ns->addr.sin_addr), + (int)pj_ntohs(ns->addr.sin_port), + pj_dns_get_type_name(q->key.qtype), + q->key.name)); + + if (ns->q_id == 0) { + ns->q_id = q->id; + ns->sent_time = now; + } + } + + ++q->transmit_cnt; + + return PJ_SUCCESS; +} + + +/* + * Initialize resource key for hash table lookup. + */ +static void init_res_key(struct res_key *key, int type, const pj_str_t *name) +{ + unsigned i; + pj_size_t len; + char *dst = key->name; + const char *src = name->ptr; + + pj_bzero(key, sizeof(struct res_key)); + key->qtype = (pj_uint16_t)type; + + len = name->slen; + if (len > PJ_MAX_HOSTNAME) len = PJ_MAX_HOSTNAME; + + /* Copy key, in lowercase */ + for (i=0; ipool->factory, "dnscache", + RES_BUF_SZ, 256, NULL); + cache = PJ_POOL_ZALLOC_T(pool, struct cached_res); + cache->pool = pool; + cache->ref_cnt = 1; + + return cache; +} + +/* Re-allocate cache entry, to free cached packet */ +static void reset_entry(struct cached_res **p_cached) +{ + pj_pool_t *pool; + struct cached_res *cache = *p_cached; + unsigned ref_cnt; + + pool = cache->pool; + ref_cnt = cache->ref_cnt; + + pj_pool_reset(pool); + + cache = PJ_POOL_ZALLOC_T(pool, struct cached_res); + cache->pool = pool; + cache->ref_cnt = ref_cnt; + *p_cached = cache; +} + +/* Put unused/expired cached entry to the free list */ +static void free_entry(pj_dns_resolver *resolver, struct cached_res *cache) +{ + PJ_UNUSED_ARG(resolver); + pj_pool_release(cache->pool); +} + + +/* + * Create and start asynchronous DNS query for a single resource. + */ +PJ_DEF(pj_status_t) pj_dns_resolver_start_query( pj_dns_resolver *resolver, + const pj_str_t *name, + int type, + unsigned options, + pj_dns_callback *cb, + void *user_data, + pj_dns_async_query **p_query) +{ + pj_time_val now; + struct res_key key; + struct cached_res *cache; + pj_dns_async_query *q; + pj_uint32_t hval; + pj_status_t status = PJ_SUCCESS; + + /* Validate arguments */ + PJ_ASSERT_RETURN(resolver && name && type, PJ_EINVAL); + + /* Check name is not too long. */ + PJ_ASSERT_RETURN(name->slen>0 && name->slen < PJ_MAX_HOSTNAME, + PJ_ENAMETOOLONG); + + /* Check type */ + PJ_ASSERT_RETURN(type > 0 && type < 0xFFFF, PJ_EINVAL); + + if (p_query) + *p_query = NULL; + + /* Build resource key for looking up hash tables */ + init_res_key(&key, type, name); + + /* Start working with the resolver */ + pj_mutex_lock(resolver->mutex); + + /* Get current time. */ + pj_gettimeofday(&now); + + /* First, check if we have cached response for the specified name/type, + * and the cached entry has not expired. + */ + hval = 0; + cache = (struct cached_res *) pj_hash_get(resolver->hrescache, &key, + sizeof(key), &hval); + if (cache) { + /* We've found a cached entry. */ + + /* Check for expiration */ + if (PJ_TIME_VAL_GT(cache->expiry_time, now)) { + + /* Log */ + PJ_LOG(5,(resolver->name.ptr, + "Picked up DNS %s record for %.*s from cache, ttl=%d", + pj_dns_get_type_name(type), + (int)name->slen, name->ptr, + (int)(cache->expiry_time.sec - now.sec))); + + /* Map DNS Rcode in the response into PJLIB status name space */ + status = PJ_DNS_GET_RCODE(cache->pkt->hdr.flags); + status = PJ_STATUS_FROM_DNS_RCODE(status); + + /* Workaround for deadlock problem. Need to increment the cache's + * ref counter first before releasing mutex, so the cache won't be + * destroyed by other thread while in callback. + */ + cache->ref_cnt++; + pj_mutex_unlock(resolver->mutex); + + /* This cached response is still valid. Just return this + * response to caller. + */ + if (cb) { + (*cb)(user_data, status, cache->pkt); + } + + /* Done. No host resolution is necessary */ + pj_mutex_lock(resolver->mutex); + + /* Decrement the ref counter. Also check if it is time to free + * the cache (as it has been expired). + */ + cache->ref_cnt--; + if (cache->ref_cnt <= 0) + free_entry(resolver, cache); + + /* Must return PJ_SUCCESS */ + status = PJ_SUCCESS; + + goto on_return; + } + + /* At this point, we have a cached entry, but this entry has expired. + * Remove this entry from the cached list. + */ + pj_hash_set(NULL, resolver->hrescache, &key, sizeof(key), 0, NULL); + + /* Also free the cache, if it is not being used (by callback). */ + cache->ref_cnt--; + if (cache->ref_cnt <= 0) + free_entry(resolver, cache); + + /* Must continue with creating a query now */ + } + + /* Next, check if we have pending query on the same resource */ + q = (pj_dns_async_query *) pj_hash_get(resolver->hquerybyres, &key, + sizeof(key), NULL); + if (q) { + /* Yes, there's another pending query to the same key. + * Just create a new child query and add this query to + * pending query's child queries. + */ + pj_dns_async_query *nq; + + nq = alloc_qnode(resolver, options, user_data, cb); + pj_list_push_back(&q->child_head, nq); + + /* Done. This child query will be notified once the "parent" + * query completes. + */ + status = PJ_SUCCESS; + goto on_return; + } + + /* There's no pending query to the same key, initiate a new one. */ + q = alloc_qnode(resolver, options, user_data, cb); + + /* Save the ID and key */ + /* TODO: dnsext-forgery-resilient: randomize id for security */ + q->id = resolver->last_id++; + if (resolver->last_id == 0) + resolver->last_id = 1; + pj_memcpy(&q->key, &key, sizeof(struct res_key)); + + /* Send the query */ + status = transmit_query(resolver, q); + if (status != PJ_SUCCESS) { + pj_list_push_back(&resolver->query_free_nodes, q); + goto on_return; + } + + /* Add query entry to the hash tables */ + pj_hash_set_np(resolver->hquerybyid, &q->id, sizeof(q->id), + 0, q->hbufid, q); + pj_hash_set_np(resolver->hquerybyres, &q->key, sizeof(q->key), + 0, q->hbufkey, q); + + if (p_query) + *p_query = q; + +on_return: + pj_mutex_unlock(resolver->mutex); + return status; +} + + +/* + * Cancel a pending query. + */ +PJ_DEF(pj_status_t) pj_dns_resolver_cancel_query(pj_dns_async_query *query, + pj_bool_t notify) +{ + pj_dns_callback *cb; + + PJ_ASSERT_RETURN(query, PJ_EINVAL); + + pj_mutex_lock(query->resolver->mutex); + + cb = query->cb; + query->cb = NULL; + + if (notify) + (*cb)(query->user_data, PJ_ECANCELLED, NULL); + + pj_mutex_unlock(query->resolver->mutex); + return PJ_SUCCESS; +} + + +/* + * DNS response containing A packet. + */ +PJ_DEF(pj_status_t) pj_dns_parse_a_response(const pj_dns_parsed_packet *pkt, + pj_dns_a_record *rec) +{ + enum { MAX_SEARCH = 20 }; + pj_str_t hostname, alias = {NULL, 0}, *resname; + pj_size_t bufstart = 0; + pj_size_t bufleft = sizeof(rec->buf_); + unsigned i, ansidx, search_cnt=0; + + PJ_ASSERT_RETURN(pkt && rec, PJ_EINVAL); + + /* Init the record */ + pj_bzero(rec, sizeof(pj_dns_a_record)); + + /* Return error if there's error in the packet. */ + if (PJ_DNS_GET_RCODE(pkt->hdr.flags)) + return PJ_STATUS_FROM_DNS_RCODE(PJ_DNS_GET_RCODE(pkt->hdr.flags)); + + /* Return error if there's no query section */ + if (pkt->hdr.qdcount == 0) + return PJLIB_UTIL_EDNSINANSWER; + + /* Return error if there's no answer */ + if (pkt->hdr.anscount == 0) + return PJLIB_UTIL_EDNSNOANSWERREC; + + /* Get the hostname from the query. */ + hostname = pkt->q[0].name; + + /* Copy hostname to the record */ + if (hostname.slen > (int)bufleft) { + return PJ_ENAMETOOLONG; + } + + pj_memcpy(&rec->buf_[bufstart], hostname.ptr, hostname.slen); + rec->name.ptr = &rec->buf_[bufstart]; + rec->name.slen = hostname.slen; + + bufstart += hostname.slen; + bufleft -= hostname.slen; + + /* Find the first RR which name matches the hostname */ + for (ansidx=0; ansidx < pkt->hdr.anscount; ++ansidx) { + if (pj_stricmp(&pkt->ans[ansidx].name, &hostname)==0) + break; + } + + if (ansidx == pkt->hdr.anscount) + return PJLIB_UTIL_EDNSNOANSWERREC; + + resname = &hostname; + + /* Keep following CNAME records. */ + while (pkt->ans[ansidx].type == PJ_DNS_TYPE_CNAME && + search_cnt++ < MAX_SEARCH) + { + resname = &pkt->ans[ansidx].rdata.cname.name; + + if (!alias.slen) + alias = *resname; + + for (i=0; i < pkt->hdr.anscount; ++i) { + if (pj_stricmp(resname, &pkt->ans[i].name)==0) { + break; + } + } + + if (i==pkt->hdr.anscount) + return PJLIB_UTIL_EDNSNOANSWERREC; + + ansidx = i; + } + + if (search_cnt >= MAX_SEARCH) + return PJLIB_UTIL_EDNSINANSWER; + + if (pkt->ans[ansidx].type != PJ_DNS_TYPE_A) + return PJLIB_UTIL_EDNSINANSWER; + + /* Copy alias to the record, if present. */ + if (alias.slen) { + if (alias.slen > (int)bufleft) + return PJ_ENAMETOOLONG; + + pj_memcpy(&rec->buf_[bufstart], alias.ptr, alias.slen); + rec->alias.ptr = &rec->buf_[bufstart]; + rec->alias.slen = alias.slen; + + bufstart += alias.slen; + bufleft -= alias.slen; + } + + /* Get the IP addresses. */ + for (i=0; i < pkt->hdr.anscount; ++i) { + if (pkt->ans[i].type == PJ_DNS_TYPE_A && + pj_stricmp(&pkt->ans[i].name, resname)==0 && + rec->addr_count < PJ_DNS_MAX_IP_IN_A_REC) + { + rec->addr[rec->addr_count++].s_addr = + pkt->ans[i].rdata.a.ip_addr.s_addr; + } + } + + if (rec->addr_count == 0) + return PJLIB_UTIL_EDNSNOANSWERREC; + + return PJ_SUCCESS; +} + + +/* Set nameserver state */ +static void set_nameserver_state(pj_dns_resolver *resolver, + unsigned index, + enum ns_state state, + const pj_time_val *now) +{ + struct nameserver *ns = &resolver->ns[index]; + enum ns_state old_state = ns->state; + + ns->state = state; + ns->state_expiry = *now; + + if (state == STATE_PROBING) + ns->state_expiry.sec += ((resolver->settings.qretr_count + 2) * + resolver->settings.qretr_delay) / 1000; + else if (state == STATE_ACTIVE) + ns->state_expiry.sec += resolver->settings.good_ns_ttl; + else + ns->state_expiry.sec += resolver->settings.bad_ns_ttl; + + PJ_LOG(5, (resolver->name.ptr, "Nameserver %s:%d state changed %s --> %s", + pj_inet_ntoa(ns->addr.sin_addr), + (int)pj_ntohs(ns->addr.sin_port), + state_names[old_state], state_names[state])); +} + + +/* Select which nameserver(s) to use. Note this may return multiple + * name servers. The algorithm to select which nameservers to be + * sent the request to is as follows: + * - select the first nameserver that is known to be good for the + * last PJ_DNS_RESOLVER_GOOD_NS_TTL interval. + * - for all NSes, if last_known_good >= PJ_DNS_RESOLVER_GOOD_NS_TTL, + * include the NS to re-check again that the server is still good, + * unless the NS is known to be bad in the last PJ_DNS_RESOLVER_BAD_NS_TTL + * interval. + * - for all NSes, if last_known_bad >= PJ_DNS_RESOLVER_BAD_NS_TTL, + * also include the NS to re-check again that the server is still bad. + */ +static pj_status_t select_nameservers(pj_dns_resolver *resolver, + unsigned *count, + unsigned servers[]) +{ + unsigned i, max_count=*count; + int min; + pj_time_val now; + + pj_assert(max_count > 0); + + *count = 0; + servers[0] = 0xFFFF; + + /* Check that nameservers are configured. */ + if (resolver->ns_count == 0) + return PJLIB_UTIL_EDNSNONS; + + pj_gettimeofday(&now); + + /* Select one Active nameserver with best response time. */ + for (min=-1, i=0; ins_count; ++i) { + struct nameserver *ns = &resolver->ns[i]; + + if (ns->state != STATE_ACTIVE) + continue; + + if (min == -1) + min = i; + else if (PJ_TIME_VAL_LT(ns->rt_delay, resolver->ns[min].rt_delay)) + min = i; + } + if (min != -1) { + servers[0] = min; + ++(*count); + } + + /* Scan nameservers. */ + for (i=0; ins_count && *count < max_count; ++i) { + struct nameserver *ns = &resolver->ns[i]; + + if (PJ_TIME_VAL_LTE(ns->state_expiry, now)) { + if (ns->state == STATE_PROBING) { + set_nameserver_state(resolver, i, STATE_BAD, &now); + } else { + set_nameserver_state(resolver, i, STATE_PROBING, &now); + if ((int)i != min) { + servers[*count] = i; + ++(*count); + } + } + } else if (ns->state == STATE_PROBING && (int)i != min) { + servers[*count] = i; + ++(*count); + } + } + + return PJ_SUCCESS; +} + + +/* Update name server status */ +static void report_nameserver_status(pj_dns_resolver *resolver, + const pj_sockaddr_in *ns_addr, + const pj_dns_parsed_packet *pkt) +{ + unsigned i; + int rcode; + pj_uint32_t q_id; + pj_time_val now; + pj_bool_t is_good; + + /* Only mark nameserver as "bad" if it returned non-parseable response or + * it returned the following status codes + */ + if (pkt) { + rcode = PJ_DNS_GET_RCODE(pkt->hdr.flags); + q_id = pkt->hdr.id; + } else { + rcode = 0; + q_id = (pj_uint32_t)-1; + } + + if (!pkt || rcode == PJ_DNS_RCODE_SERVFAIL || + rcode == PJ_DNS_RCODE_REFUSED || + rcode == PJ_DNS_RCODE_NOTAUTH) + { + is_good = PJ_FALSE; + } else { + is_good = PJ_TRUE; + } + + + /* Mark time */ + pj_gettimeofday(&now); + + /* Recheck all nameservers. */ + for (i=0; ins_count; ++i) { + struct nameserver *ns = &resolver->ns[i]; + + if (ns->addr.sin_addr.s_addr == ns_addr->sin_addr.s_addr && + ns->addr.sin_port == ns_addr->sin_port && + ns->addr.sin_family == ns_addr->sin_family) + { + if (q_id == ns->q_id) { + /* Calculate response time */ + pj_time_val rt = now; + PJ_TIME_VAL_SUB(rt, ns->sent_time); + ns->rt_delay = rt; + ns->q_id = 0; + } + set_nameserver_state(resolver, i, + (is_good ? STATE_ACTIVE : STATE_BAD), &now); + break; + } + } +} + + +/* Update response cache */ +static void update_res_cache(pj_dns_resolver *resolver, + const struct res_key *key, + pj_status_t status, + pj_bool_t set_expiry, + const pj_dns_parsed_packet *pkt) +{ + struct cached_res *cache; + pj_uint32_t hval=0, ttl; + + /* If status is unsuccessful, clear the same entry from the cache */ + if (status != PJ_SUCCESS) { + cache = (struct cached_res *) pj_hash_get(resolver->hrescache, key, + sizeof(*key), &hval); + /* Remove the entry before releasing its pool (see ticket #1710) */ + pj_hash_set(NULL, resolver->hrescache, key, sizeof(*key), hval, NULL); + + /* Free the entry */ + if (cache && --cache->ref_cnt <= 0) + free_entry(resolver, cache); + } + + + /* Calculate expiration time. */ + if (set_expiry) { + if (pkt->hdr.anscount == 0 || status != PJ_SUCCESS) { + /* If we don't have answers for the name, then give a different + * ttl value (note: PJ_DNS_RESOLVER_INVALID_TTL may be zero, + * which means that invalid names won't be kept in the cache) + */ + ttl = PJ_DNS_RESOLVER_INVALID_TTL; + + } else { + /* Otherwise get the minimum TTL from the answers */ + unsigned i; + ttl = 0xFFFFFFFF; + for (i=0; ihdr.anscount; ++i) { + if (pkt->ans[i].ttl < ttl) + ttl = pkt->ans[i].ttl; + } + } + } else { + ttl = 0xFFFFFFFF; + } + + /* Apply maximum TTL */ + if (ttl > resolver->settings.cache_max_ttl) + ttl = resolver->settings.cache_max_ttl; + + /* If TTL is zero, clear the same entry in the hash table */ + if (ttl == 0) { + cache = (struct cached_res *) pj_hash_get(resolver->hrescache, key, + sizeof(*key), &hval); + /* Remove the entry before releasing its pool (see ticket #1710) */ + pj_hash_set(NULL, resolver->hrescache, key, sizeof(*key), hval, NULL); + + /* Free the entry */ + if (cache && --cache->ref_cnt <= 0) + free_entry(resolver, cache); + return; + } + + /* Get a cache response entry */ + cache = (struct cached_res *) pj_hash_get(resolver->hrescache, key, + sizeof(*key), &hval); + if (cache == NULL) { + cache = alloc_entry(resolver); + } else if (cache->ref_cnt > 1) { + /* When cache entry is being used by callback (to app), just decrement + * ref_cnt so it will be freed after the callback returns and allocate + * new entry. + */ + cache->ref_cnt--; + cache = alloc_entry(resolver); + } else { + /* Remove the entry before resetting its pool (see ticket #1710) */ + pj_hash_set(NULL, resolver->hrescache, key, sizeof(*key), hval, NULL); + + /* Reset cache to avoid bloated cache pool */ + reset_entry(&cache); + } + + /* Duplicate the packet. + * We don't need to keep the NS and AR sections from the packet, + * so exclude from duplication. We do need to keep the Query + * section since DNS A parser needs the query section to know + * the name being requested. + */ + pj_dns_packet_dup(cache->pool, pkt, + PJ_DNS_NO_NS | PJ_DNS_NO_AR, + &cache->pkt); + + /* Calculate expiration time */ + if (set_expiry) { + pj_gettimeofday(&cache->expiry_time); + cache->expiry_time.sec += ttl; + } else { + cache->expiry_time.sec = 0x7FFFFFFFL; + cache->expiry_time.msec = 0; + } + + /* Copy key to the cached response */ + pj_memcpy(&cache->key, key, sizeof(*key)); + + /* Update the hash table */ + pj_hash_set_np(resolver->hrescache, &cache->key, sizeof(*key), hval, + cache->hbuf, cache); + +} + + +/* Callback to be called when query has timed out */ +static void on_timeout( pj_timer_heap_t *timer_heap, + struct pj_timer_entry *entry) +{ + pj_dns_resolver *resolver; + pj_dns_async_query *q, *cq; + pj_status_t status; + + PJ_UNUSED_ARG(timer_heap); + + q = (pj_dns_async_query *) entry->user_data; + resolver = q->resolver; + + pj_mutex_lock(resolver->mutex); + + /* Recheck that this query is still pending, since there is a slight + * possibility of race condition (timer elapsed while at the same time + * response arrives) + */ + if (pj_hash_get(resolver->hquerybyid, &q->id, sizeof(q->id), NULL)==NULL) { + /* Yeah, this query is done. */ + pj_mutex_unlock(resolver->mutex); + return; + } + + /* Invalidate id. */ + q->timer_entry.id = 0; + + /* Check to see if we should retransmit instead of time out */ + if (q->transmit_cnt < resolver->settings.qretr_count) { + status = transmit_query(resolver, q); + if (status == PJ_SUCCESS) { + pj_mutex_unlock(resolver->mutex); + return; + } else { + /* Error occurs */ + char errmsg[PJ_ERR_MSG_SIZE]; + + pj_strerror(status, errmsg, sizeof(errmsg)); + PJ_LOG(4,(resolver->name.ptr, + "Error transmitting request: %s", errmsg)); + + /* Let it fallback to timeout section below */ + } + } + + /* Clear hash table entries */ + pj_hash_set(NULL, resolver->hquerybyid, &q->id, sizeof(q->id), 0, NULL); + pj_hash_set(NULL, resolver->hquerybyres, &q->key, sizeof(q->key), 0, NULL); + + /* Workaround for deadlock problem in #1565 (similar to #1108) */ + pj_mutex_unlock(resolver->mutex); + + /* Call application callback, if any. */ + if (q->cb) + (*q->cb)(q->user_data, PJ_ETIMEDOUT, NULL); + + /* Call application callback for child queries. */ + cq = q->child_head.next; + while (cq != (void*)&q->child_head) { + if (cq->cb) + (*cq->cb)(cq->user_data, PJ_ETIMEDOUT, NULL); + cq = cq->next; + } + + /* Workaround for deadlock problem in #1565 (similar to #1108) */ + pj_mutex_lock(resolver->mutex); + + /* Clear data */ + q->timer_entry.id = 0; + q->user_data = NULL; + + /* Put child entries into recycle list */ + cq = q->child_head.next; + while (cq != (void*)&q->child_head) { + pj_dns_async_query *next = cq->next; + pj_list_push_back(&resolver->query_free_nodes, cq); + cq = next; + } + + /* Put query entry into recycle list */ + pj_list_push_back(&resolver->query_free_nodes, q); + + pj_mutex_unlock(resolver->mutex); +} + + +/* Callback from ioqueue when packet is received */ +static void on_read_complete(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_read) +{ + pj_dns_resolver *resolver; + pj_pool_t *pool = NULL; + pj_dns_parsed_packet *dns_pkt; + pj_dns_async_query *q; + pj_status_t status; + PJ_USE_EXCEPTION; + + + resolver = (pj_dns_resolver *) pj_ioqueue_get_user_data(key); + pj_mutex_lock(resolver->mutex); + + + /* Check for errors */ + if (bytes_read < 0) { + char errmsg[PJ_ERR_MSG_SIZE]; + + status = (pj_status_t)-bytes_read; + pj_strerror(status, errmsg, sizeof(errmsg)); + PJ_LOG(4,(resolver->name.ptr, + "DNS resolver read error from %s:%d: %s", + pj_inet_ntoa(resolver->udp_src_addr.sin_addr), + pj_ntohs(resolver->udp_src_addr.sin_port), + errmsg)); + + goto read_next_packet; + } + + PJ_LOG(5,(resolver->name.ptr, + "Received %d bytes DNS response from %s:%d", + (int)bytes_read, + pj_inet_ntoa(resolver->udp_src_addr.sin_addr), + pj_ntohs(resolver->udp_src_addr.sin_port))); + + + /* Check for zero packet */ + if (bytes_read == 0) + goto read_next_packet; + + /* Create temporary pool from a fixed buffer */ + pool = pj_pool_create_on_buf("restmp", resolver->tmp_pool, + sizeof(resolver->tmp_pool)); + + /* Parse DNS response */ + status = -1; + dns_pkt = NULL; + PJ_TRY { + status = pj_dns_parse_packet(pool, resolver->udp_rx_pkt, + (unsigned)bytes_read, &dns_pkt); + } + PJ_CATCH_ANY { + status = PJ_ENOMEM; + } + PJ_END; + + /* Update nameserver status */ + report_nameserver_status(resolver, &resolver->udp_src_addr, dns_pkt); + + /* Handle parse error */ + if (status != PJ_SUCCESS) { + char errmsg[PJ_ERR_MSG_SIZE]; + + pj_strerror(status, errmsg, sizeof(errmsg)); + PJ_LOG(3,(resolver->name.ptr, + "Error parsing DNS response from %s:%d: %s", + pj_inet_ntoa(resolver->udp_src_addr.sin_addr), + pj_ntohs(resolver->udp_src_addr.sin_port), + errmsg)); + goto read_next_packet; + } + + /* Find the query based on the transaction ID */ + q = (pj_dns_async_query*) + pj_hash_get(resolver->hquerybyid, &dns_pkt->hdr.id, + sizeof(dns_pkt->hdr.id), NULL); + if (!q) { + PJ_LOG(5,(resolver->name.ptr, + "DNS response from %s:%d id=%d discarded", + pj_inet_ntoa(resolver->udp_src_addr.sin_addr), + pj_ntohs(resolver->udp_src_addr.sin_port), + (unsigned)dns_pkt->hdr.id)); + goto read_next_packet; + } + + /* Map DNS Rcode in the response into PJLIB status name space */ + status = PJ_STATUS_FROM_DNS_RCODE(PJ_DNS_GET_RCODE(dns_pkt->hdr.flags)); + + /* Cancel query timeout timer. */ + pj_assert(q->timer_entry.id != 0); + pj_timer_heap_cancel(resolver->timer, &q->timer_entry); + q->timer_entry.id = 0; + + /* Clear hash table entries */ + pj_hash_set(NULL, resolver->hquerybyid, &q->id, sizeof(q->id), 0, NULL); + pj_hash_set(NULL, resolver->hquerybyres, &q->key, sizeof(q->key), 0, NULL); + + /* Workaround for deadlock problem in #1108 */ + pj_mutex_unlock(resolver->mutex); + + /* Notify applications first, to allow application to modify the + * record before it is saved to the hash table. + */ + if (q->cb) + (*q->cb)(q->user_data, status, dns_pkt); + + /* If query has subqueries, notify subqueries's application callback */ + if (!pj_list_empty(&q->child_head)) { + pj_dns_async_query *child_q; + + child_q = q->child_head.next; + while (child_q != (pj_dns_async_query*)&q->child_head) { + if (child_q->cb) + (*child_q->cb)(child_q->user_data, status, dns_pkt); + child_q = child_q->next; + } + } + + /* Workaround for deadlock problem in #1108 */ + pj_mutex_lock(resolver->mutex); + + /* Save/update response cache. */ + update_res_cache(resolver, &q->key, status, PJ_TRUE, dns_pkt); + + /* Recycle query objects, starting with the child queries */ + if (!pj_list_empty(&q->child_head)) { + pj_dns_async_query *child_q; + + child_q = q->child_head.next; + while (child_q != (pj_dns_async_query*)&q->child_head) { + pj_dns_async_query *next = child_q->next; + pj_list_erase(child_q); + pj_list_push_back(&resolver->query_free_nodes, child_q); + child_q = next; + } + } + pj_list_push_back(&resolver->query_free_nodes, q); + +read_next_packet: + if (pool) { + /* needed just in case PJ_HAS_POOL_ALT_API is set */ + pj_pool_release(pool); + } + bytes_read = sizeof(resolver->udp_rx_pkt); + resolver->udp_addr_len = sizeof(resolver->udp_src_addr); + status = pj_ioqueue_recvfrom(resolver->udp_key, op_key, + resolver->udp_rx_pkt, + &bytes_read, PJ_IOQUEUE_ALWAYS_ASYNC, + &resolver->udp_src_addr, + &resolver->udp_addr_len); + if (status != PJ_EPENDING) { + char errmsg[PJ_ERR_MSG_SIZE]; + + pj_strerror(status, errmsg, sizeof(errmsg)); + PJ_LOG(4,(resolver->name.ptr, "DNS resolver ioqueue read error: %s", + errmsg)); + + pj_assert(!"Unhandled error"); + } + + pj_mutex_unlock(resolver->mutex); +} + + +/* + * Put the specified DNS packet into DNS cache. This function is mainly used + * for testing the resolver, however it can also be used to inject entries + * into the resolver. + */ +PJ_DEF(pj_status_t) pj_dns_resolver_add_entry( pj_dns_resolver *resolver, + const pj_dns_parsed_packet *pkt, + pj_bool_t set_ttl) +{ + struct res_key key; + + /* Sanity check */ + PJ_ASSERT_RETURN(resolver && pkt, PJ_EINVAL); + + /* Packet must be a DNS response */ + PJ_ASSERT_RETURN(PJ_DNS_GET_QR(pkt->hdr.flags) & 1, PJ_EINVAL); + + /* Make sure there are answers in the packet */ + PJ_ASSERT_RETURN((pkt->hdr.anscount && pkt->ans) || + (pkt->hdr.qdcount && pkt->q), + PJLIB_UTIL_EDNSNOANSWERREC); + + pj_mutex_lock(resolver->mutex); + + /* Build resource key for looking up hash tables */ + pj_bzero(&key, sizeof(struct res_key)); + if (pkt->hdr.anscount) { + /* Make sure name is not too long. */ + PJ_ASSERT_RETURN(pkt->ans[0].name.slen < PJ_MAX_HOSTNAME, + PJ_ENAMETOOLONG); + + init_res_key(&key, pkt->ans[0].type, &pkt->ans[0].name); + + } else { + /* Make sure name is not too long. */ + PJ_ASSERT_RETURN(pkt->q[0].name.slen < PJ_MAX_HOSTNAME, + PJ_ENAMETOOLONG); + + init_res_key(&key, pkt->q[0].type, &pkt->q[0].name); + } + + /* Insert entry. */ + update_res_cache(resolver, &key, PJ_SUCCESS, set_ttl, pkt); + + pj_mutex_unlock(resolver->mutex); + + return PJ_SUCCESS; +} + + +/* + * Get the total number of response in the response cache. + */ +PJ_DEF(unsigned) pj_dns_resolver_get_cached_count(pj_dns_resolver *resolver) +{ + unsigned count; + + PJ_ASSERT_RETURN(resolver, 0); + + pj_mutex_lock(resolver->mutex); + count = pj_hash_count(resolver->hrescache); + pj_mutex_unlock(resolver->mutex); + + return count; +} + + +/* + * Dump resolver state to the log. + */ +PJ_DEF(void) pj_dns_resolver_dump(pj_dns_resolver *resolver, + pj_bool_t detail) +{ +#if PJ_LOG_MAX_LEVEL >= 3 + unsigned i; + pj_time_val now; + + pj_mutex_lock(resolver->mutex); + + pj_gettimeofday(&now); + + PJ_LOG(3,(resolver->name.ptr, " Dumping resolver state:")); + + PJ_LOG(3,(resolver->name.ptr, " Name servers:")); + for (i=0; ins_count; ++i) { + const char *state_names[] = { "probing", "active", "bad"}; + struct nameserver *ns = &resolver->ns[i]; + + PJ_LOG(3,(resolver->name.ptr, + " NS %d: %s:%d (state=%s until %ds, rtt=%d ms)", + i, pj_inet_ntoa(ns->addr.sin_addr), + pj_ntohs(ns->addr.sin_port), + state_names[ns->state], + ns->state_expiry.sec - now.sec, + PJ_TIME_VAL_MSEC(ns->rt_delay))); + } + + PJ_LOG(3,(resolver->name.ptr, " Nb. of cached responses: %u", + pj_hash_count(resolver->hrescache))); + if (detail) { + pj_hash_iterator_t itbuf, *it; + it = pj_hash_first(resolver->hrescache, &itbuf); + while (it) { + struct cached_res *cache; + cache = (struct cached_res*)pj_hash_this(resolver->hrescache, it); + PJ_LOG(3,(resolver->name.ptr, + " Type %s: %s", + pj_dns_get_type_name(cache->key.qtype), + cache->key.name)); + it = pj_hash_next(resolver->hrescache, it); + } + } + PJ_LOG(3,(resolver->name.ptr, " Nb. of pending queries: %u (%u)", + pj_hash_count(resolver->hquerybyid), + pj_hash_count(resolver->hquerybyres))); + if (detail) { + pj_hash_iterator_t itbuf, *it; + it = pj_hash_first(resolver->hquerybyid, &itbuf); + while (it) { + struct pj_dns_async_query *q; + q = (pj_dns_async_query*) pj_hash_this(resolver->hquerybyid, it); + PJ_LOG(3,(resolver->name.ptr, + " Type %s: %s", + pj_dns_get_type_name(q->key.qtype), + q->key.name)); + it = pj_hash_next(resolver->hquerybyid, it); + } + } + PJ_LOG(3,(resolver->name.ptr, " Nb. of pending query free nodes: %u", + pj_list_size(&resolver->query_free_nodes))); + PJ_LOG(3,(resolver->name.ptr, " Nb. of timer entries: %u", + pj_timer_heap_count(resolver->timer))); + PJ_LOG(3,(resolver->name.ptr, " Pool capacity: %d, used size: %d", + pj_pool_get_capacity(resolver->pool), + pj_pool_get_used_size(resolver->pool))); + + pj_mutex_unlock(resolver->mutex); +#endif +} + diff --git a/pjlib-util/src/pjlib-util/resolver_wrap.cpp b/pjlib-util/src/pjlib-util/resolver_wrap.cpp new file mode 100644 index 0000000..b9020e8 --- /dev/null +++ b/pjlib-util/src/pjlib-util/resolver_wrap.cpp @@ -0,0 +1,24 @@ +/* $Id: resolver_wrap.cpp 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * This file is a C++ wrapper, see ticket #886 for details. + */ + +#include "resolver.c" diff --git a/pjlib-util/src/pjlib-util/scanner.c b/pjlib-util/src/pjlib-util/scanner.c new file mode 100644 index 0000000..a8c939d --- /dev/null +++ b/pjlib-util/src/pjlib-util/scanner.c @@ -0,0 +1,632 @@ +/* $Id: scanner.c 4641 2013-11-04 09:05:43Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include + +#define PJ_SCAN_IS_SPACE(c) ((c)==' ' || (c)=='\t') +#define PJ_SCAN_IS_NEWLINE(c) ((c)=='\r' || (c)=='\n') +#define PJ_SCAN_IS_PROBABLY_SPACE(c) ((c) <= 32) +#define PJ_SCAN_CHECK_EOF(s) (s != scanner->end) + + +#if defined(PJ_SCANNER_USE_BITWISE) && PJ_SCANNER_USE_BITWISE != 0 +# include "scanner_cis_bitwise.c" +#else +# include "scanner_cis_uint.c" +#endif + + +static void pj_scan_syntax_err(pj_scanner *scanner) +{ + (*scanner->callback)(scanner); +} + + +PJ_DEF(void) pj_cis_add_range(pj_cis_t *cis, int cstart, int cend) +{ + /* Can not set zero. This is the requirement of the parser. */ + pj_assert(cstart > 0); + + while (cstart != cend) { + PJ_CIS_SET(cis, cstart); + ++cstart; + } +} + +PJ_DEF(void) pj_cis_add_alpha(pj_cis_t *cis) +{ + pj_cis_add_range( cis, 'a', 'z'+1); + pj_cis_add_range( cis, 'A', 'Z'+1); +} + +PJ_DEF(void) pj_cis_add_num(pj_cis_t *cis) +{ + pj_cis_add_range( cis, '0', '9'+1); +} + +PJ_DEF(void) pj_cis_add_str( pj_cis_t *cis, const char *str) +{ + while (*str) { + PJ_CIS_SET(cis, *str); + ++str; + } +} + +PJ_DEF(void) pj_cis_add_cis( pj_cis_t *cis, const pj_cis_t *rhs) +{ + int i; + for (i=0; i<256; ++i) { + if (PJ_CIS_ISSET(rhs, i)) + PJ_CIS_SET(cis, i); + } +} + +PJ_DEF(void) pj_cis_del_range( pj_cis_t *cis, int cstart, int cend) +{ + while (cstart != cend) { + PJ_CIS_CLR(cis, cstart); + cstart++; + } +} + +PJ_DEF(void) pj_cis_del_str( pj_cis_t *cis, const char *str) +{ + while (*str) { + PJ_CIS_CLR(cis, *str); + ++str; + } +} + +PJ_DEF(void) pj_cis_invert( pj_cis_t *cis ) +{ + unsigned i; + /* Can not set zero. This is the requirement of the parser. */ + for (i=1; i<256; ++i) { + if (PJ_CIS_ISSET(cis,i)) + PJ_CIS_CLR(cis,i); + else + PJ_CIS_SET(cis,i); + } +} + +PJ_DEF(void) pj_scan_init( pj_scanner *scanner, char *bufstart, + pj_size_t buflen, unsigned options, + pj_syn_err_func_ptr callback ) +{ + PJ_CHECK_STACK(); + + scanner->begin = scanner->curptr = bufstart; + scanner->end = bufstart + buflen; + scanner->line = 1; + scanner->start_line = scanner->begin; + scanner->callback = callback; + scanner->skip_ws = options; + + if (scanner->skip_ws) + pj_scan_skip_whitespace(scanner); +} + + +PJ_DEF(void) pj_scan_fini( pj_scanner *scanner ) +{ + PJ_CHECK_STACK(); + PJ_UNUSED_ARG(scanner); +} + +PJ_DEF(void) pj_scan_skip_whitespace( pj_scanner *scanner ) +{ + register char *s = scanner->curptr; + + while (PJ_SCAN_IS_SPACE(*s)) { + ++s; + } + + if (PJ_SCAN_IS_NEWLINE(*s) && (scanner->skip_ws & PJ_SCAN_AUTOSKIP_NEWLINE)) { + for (;;) { + if (*s == '\r') { + ++s; + if (*s == '\n') ++s; + ++scanner->line; + scanner->curptr = scanner->start_line = s; + } else if (*s == '\n') { + ++s; + ++scanner->line; + scanner->curptr = scanner->start_line = s; + } else if (PJ_SCAN_IS_SPACE(*s)) { + do { + ++s; + } while (PJ_SCAN_IS_SPACE(*s)); + } else { + break; + } + } + } + + if (PJ_SCAN_IS_NEWLINE(*s) && (scanner->skip_ws & PJ_SCAN_AUTOSKIP_WS_HEADER)==PJ_SCAN_AUTOSKIP_WS_HEADER) { + /* Check for header continuation. */ + scanner->curptr = s; + + if (*s == '\r') { + ++s; + } + if (*s == '\n') { + ++s; + } + scanner->start_line = s; + + if (PJ_SCAN_IS_SPACE(*s)) { + register char *t = s; + do { + ++t; + } while (PJ_SCAN_IS_SPACE(*t)); + + ++scanner->line; + scanner->curptr = t; + } + } else { + scanner->curptr = s; + } +} + +PJ_DEF(void) pj_scan_skip_line( pj_scanner *scanner ) +{ + char *s = pj_ansi_strchr(scanner->curptr, '\n'); + if (!s) { + scanner->curptr = scanner->end; + } else { + scanner->curptr = scanner->start_line = s+1; + scanner->line++; + } +} + +PJ_DEF(int) pj_scan_peek( pj_scanner *scanner, + const pj_cis_t *spec, pj_str_t *out) +{ + register char *s = scanner->curptr; + + if (s >= scanner->end) { + pj_scan_syntax_err(scanner); + return -1; + } + + /* Don't need to check EOF with PJ_SCAN_CHECK_EOF(s) */ + while (pj_cis_match(spec, *s)) + ++s; + + pj_strset3(out, scanner->curptr, s); + return *s; +} + + +PJ_DEF(int) pj_scan_peek_n( pj_scanner *scanner, + pj_size_t len, pj_str_t *out) +{ + char *endpos = scanner->curptr + len; + + if (endpos > scanner->end) { + pj_scan_syntax_err(scanner); + return -1; + } + + pj_strset(out, scanner->curptr, len); + return *endpos; +} + + +PJ_DEF(int) pj_scan_peek_until( pj_scanner *scanner, + const pj_cis_t *spec, + pj_str_t *out) +{ + register char *s = scanner->curptr; + + if (s >= scanner->end) { + pj_scan_syntax_err(scanner); + return -1; + } + + while (PJ_SCAN_CHECK_EOF(s) && !pj_cis_match( spec, *s)) + ++s; + + pj_strset3(out, scanner->curptr, s); + return *s; +} + + +PJ_DEF(void) pj_scan_get( pj_scanner *scanner, + const pj_cis_t *spec, pj_str_t *out) +{ + register char *s = scanner->curptr; + + pj_assert(pj_cis_match(spec,0)==0); + + /* EOF is detected implicitly */ + if (!pj_cis_match(spec, *s)) { + pj_scan_syntax_err(scanner); + return; + } + + do { + ++s; + } while (pj_cis_match(spec, *s)); + /* No need to check EOF here (PJ_SCAN_CHECK_EOF(s)) because + * buffer is NULL terminated and pj_cis_match(spec,0) should be + * false. + */ + + pj_strset3(out, scanner->curptr, s); + + scanner->curptr = s; + + if (PJ_SCAN_IS_PROBABLY_SPACE(*s) && scanner->skip_ws) { + pj_scan_skip_whitespace(scanner); + } +} + + +PJ_DEF(void) pj_scan_get_unescape( pj_scanner *scanner, + const pj_cis_t *spec, pj_str_t *out) +{ + register char *s = scanner->curptr; + char *dst = s; + + pj_assert(pj_cis_match(spec,0)==0); + + /* Must not match character '%' */ + pj_assert(pj_cis_match(spec,'%')==0); + + /* EOF is detected implicitly */ + if (!pj_cis_match(spec, *s) && *s != '%') { + pj_scan_syntax_err(scanner); + return; + } + + out->ptr = s; + do { + if (*s == '%') { + if (s+3 <= scanner->end && pj_isxdigit(*(s+1)) && + pj_isxdigit(*(s+2))) + { + *dst = (pj_uint8_t) ((pj_hex_digit_to_val(*(s+1)) << 4) + + pj_hex_digit_to_val(*(s+2))); + ++dst; + s += 3; + } else { + *dst++ = *s++; + *dst++ = *s++; + break; + } + } + + if (pj_cis_match(spec, *s)) { + char *start = s; + do { + ++s; + } while (pj_cis_match(spec, *s)); + + if (dst != start) pj_memmove(dst, start, s-start); + dst += (s-start); + } + + } while (*s == '%'); + + scanner->curptr = s; + out->slen = (dst - out->ptr); + + if (PJ_SCAN_IS_PROBABLY_SPACE(*s) && scanner->skip_ws) { + pj_scan_skip_whitespace(scanner); + } +} + + +PJ_DEF(void) pj_scan_get_quote( pj_scanner *scanner, + int begin_quote, int end_quote, + pj_str_t *out) +{ + char beg = (char)begin_quote; + char end = (char)end_quote; + pj_scan_get_quotes(scanner, &beg, &end, 1, out); +} + +PJ_DEF(void) pj_scan_get_quotes(pj_scanner *scanner, + const char *begin_quote, const char *end_quote, + int qsize, pj_str_t *out) +{ + register char *s = scanner->curptr; + int qpair = -1; + int i; + + pj_assert(qsize > 0); + + /* Check and eat the begin_quote. */ + for (i = 0; i < qsize; ++i) { + if (*s == begin_quote[i]) { + qpair = i; + break; + } + } + if (qpair == -1) { + pj_scan_syntax_err(scanner); + return; + } + ++s; + + /* Loop until end_quote is found. + */ + do { + /* loop until end_quote is found. */ + while (PJ_SCAN_CHECK_EOF(s) && *s != '\n' && *s != end_quote[qpair]) { + ++s; + } + + /* check that no backslash character precedes the end_quote. */ + if (*s == end_quote[qpair]) { + if (*(s-1) == '\\') { + char *q = s-2; + char *r = s-2; + + while (r != scanner->begin && *r == '\\') { + --r; + } + /* break from main loop if we have odd number of backslashes */ + if (((unsigned)(q-r) & 0x01) == 1) { + break; + } + ++s; + } else { + /* end_quote is not preceeded by backslash. break now. */ + break; + } + } else { + /* loop ended by non-end_quote character. break now. */ + break; + } + } while (1); + + /* Check and eat the end quote. */ + if (*s != end_quote[qpair]) { + pj_scan_syntax_err(scanner); + return; + } + ++s; + + pj_strset3(out, scanner->curptr, s); + + scanner->curptr = s; + + if (PJ_SCAN_IS_PROBABLY_SPACE(*s) && scanner->skip_ws) { + pj_scan_skip_whitespace(scanner); + } +} + + +PJ_DEF(void) pj_scan_get_n( pj_scanner *scanner, + unsigned N, pj_str_t *out) +{ + if (scanner->curptr + N > scanner->end) { + pj_scan_syntax_err(scanner); + return; + } + + pj_strset(out, scanner->curptr, N); + + scanner->curptr += N; + + if (PJ_SCAN_IS_PROBABLY_SPACE(*scanner->curptr) && scanner->skip_ws) { + pj_scan_skip_whitespace(scanner); + } +} + + +PJ_DEF(int) pj_scan_get_char( pj_scanner *scanner ) +{ + int chr = *scanner->curptr; + + if (!chr) { + pj_scan_syntax_err(scanner); + return 0; + } + + ++scanner->curptr; + + if (PJ_SCAN_IS_PROBABLY_SPACE(*scanner->curptr) && scanner->skip_ws) { + pj_scan_skip_whitespace(scanner); + } + return chr; +} + + +PJ_DEF(void) pj_scan_get_newline( pj_scanner *scanner ) +{ + if (!PJ_SCAN_IS_NEWLINE(*scanner->curptr)) { + pj_scan_syntax_err(scanner); + return; + } + + if (*scanner->curptr == '\r') { + ++scanner->curptr; + } + if (*scanner->curptr == '\n') { + ++scanner->curptr; + } + + ++scanner->line; + scanner->start_line = scanner->curptr; + + /** + * This probably is a bug, see PROTOS test #2480. + * This would cause scanner to incorrectly eat two new lines, e.g. + * when parsing: + * + * Content-Length: 120\r\n + * \r\n + * ... + * + * When pj_scan_get_newline() is called to parse the first newline + * in the Content-Length header, it will eat the second newline + * too because it thinks that it's a header continuation. + * + * if (PJ_SCAN_IS_PROBABLY_SPACE(*scanner->curptr) && scanner->skip_ws) { + * pj_scan_skip_whitespace(scanner); + * } + */ +} + + +PJ_DEF(void) pj_scan_get_until( pj_scanner *scanner, + const pj_cis_t *spec, pj_str_t *out) +{ + register char *s = scanner->curptr; + + if (s >= scanner->end) { + pj_scan_syntax_err(scanner); + return; + } + + while (PJ_SCAN_CHECK_EOF(s) && !pj_cis_match(spec, *s)) { + ++s; + } + + pj_strset3(out, scanner->curptr, s); + + scanner->curptr = s; + + if (PJ_SCAN_IS_PROBABLY_SPACE(*s) && scanner->skip_ws) { + pj_scan_skip_whitespace(scanner); + } +} + + +PJ_DEF(void) pj_scan_get_until_ch( pj_scanner *scanner, + int until_char, pj_str_t *out) +{ + register char *s = scanner->curptr; + + if (s >= scanner->end) { + pj_scan_syntax_err(scanner); + return; + } + + while (PJ_SCAN_CHECK_EOF(s) && *s != until_char) { + ++s; + } + + pj_strset3(out, scanner->curptr, s); + + scanner->curptr = s; + + if (PJ_SCAN_IS_PROBABLY_SPACE(*s) && scanner->skip_ws) { + pj_scan_skip_whitespace(scanner); + } +} + + +PJ_DEF(void) pj_scan_get_until_chr( pj_scanner *scanner, + const char *until_spec, pj_str_t *out) +{ + register char *s = scanner->curptr; + pj_size_t speclen; + + if (s >= scanner->end) { + pj_scan_syntax_err(scanner); + return; + } + + speclen = strlen(until_spec); + while (PJ_SCAN_CHECK_EOF(s) && !memchr(until_spec, *s, speclen)) { + ++s; + } + + pj_strset3(out, scanner->curptr, s); + + scanner->curptr = s; + + if (PJ_SCAN_IS_PROBABLY_SPACE(*s) && scanner->skip_ws) { + pj_scan_skip_whitespace(scanner); + } +} + +PJ_DEF(void) pj_scan_advance_n( pj_scanner *scanner, + unsigned N, pj_bool_t skip_ws) +{ + if (scanner->curptr + N > scanner->end) { + pj_scan_syntax_err(scanner); + return; + } + + scanner->curptr += N; + + if (PJ_SCAN_IS_PROBABLY_SPACE(*scanner->curptr) && skip_ws) { + pj_scan_skip_whitespace(scanner); + } +} + + +PJ_DEF(int) pj_scan_strcmp( pj_scanner *scanner, const char *s, int len) +{ + if (scanner->curptr + len > scanner->end) { + pj_scan_syntax_err(scanner); + return -1; + } + return strncmp(scanner->curptr, s, len); +} + + +PJ_DEF(int) pj_scan_stricmp( pj_scanner *scanner, const char *s, int len) +{ + if (scanner->curptr + len > scanner->end) { + pj_scan_syntax_err(scanner); + return -1; + } + return pj_ansi_strnicmp(scanner->curptr, s, len); +} + +PJ_DEF(int) pj_scan_stricmp_alnum( pj_scanner *scanner, const char *s, + int len) +{ + if (scanner->curptr + len > scanner->end) { + pj_scan_syntax_err(scanner); + return -1; + } + return strnicmp_alnum(scanner->curptr, s, len); +} + +PJ_DEF(void) pj_scan_save_state( const pj_scanner *scanner, + pj_scan_state *state) +{ + state->curptr = scanner->curptr; + state->line = scanner->line; + state->start_line = scanner->start_line; +} + + +PJ_DEF(void) pj_scan_restore_state( pj_scanner *scanner, + pj_scan_state *state) +{ + scanner->curptr = state->curptr; + scanner->line = state->line; + scanner->start_line = state->start_line; +} + + diff --git a/pjlib-util/src/pjlib-util/scanner_cis_bitwise.c b/pjlib-util/src/pjlib-util/scanner_cis_bitwise.c new file mode 100644 index 0000000..50754f5 --- /dev/null +++ b/pjlib-util/src/pjlib-util/scanner_cis_bitwise.c @@ -0,0 +1,69 @@ +/* $Id: scanner_cis_bitwise.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * THIS FILE IS INCLUDED BY scanner.c. + * DO NOT COMPILE THIS FILE ALONE! + */ + +PJ_DEF(void) pj_cis_buf_init( pj_cis_buf_t *cis_buf) +{ + pj_bzero(cis_buf->cis_buf, sizeof(cis_buf->cis_buf)); + cis_buf->use_mask = 0; +} + +PJ_DEF(pj_status_t) pj_cis_init(pj_cis_buf_t *cis_buf, pj_cis_t *cis) +{ + unsigned i; + + cis->cis_buf = cis_buf->cis_buf; + + for (i=0; iuse_mask & (1 << i)) == 0) { + cis->cis_id = i; + cis_buf->use_mask |= (1 << i); + return PJ_SUCCESS; + } + } + + cis->cis_id = PJ_CIS_MAX_INDEX; + return PJ_ETOOMANY; +} + +PJ_DEF(pj_status_t) pj_cis_dup( pj_cis_t *new_cis, pj_cis_t *existing) +{ + pj_status_t status; + unsigned i; + + /* Warning: typecasting here! */ + status = pj_cis_init((pj_cis_buf_t*)existing->cis_buf, new_cis); + if (status != PJ_SUCCESS) + return status; + + for (i=0; i<256; ++i) { + if (PJ_CIS_ISSET(existing, i)) + PJ_CIS_SET(new_cis, i); + else + PJ_CIS_CLR(new_cis, i); + } + + return PJ_SUCCESS; +} + diff --git a/pjlib-util/src/pjlib-util/scanner_cis_uint.c b/pjlib-util/src/pjlib-util/scanner_cis_uint.c new file mode 100644 index 0000000..865234a --- /dev/null +++ b/pjlib-util/src/pjlib-util/scanner_cis_uint.c @@ -0,0 +1,46 @@ +/* $Id: scanner_cis_uint.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * THIS FILE IS INCLUDED BY scanner.c. + * DO NOT COMPILE THIS FILE ALONE! + */ + + +PJ_DEF(void) pj_cis_buf_init( pj_cis_buf_t *cis_buf) +{ + /* Do nothing. */ + PJ_UNUSED_ARG(cis_buf); +} + +PJ_DEF(pj_status_t) pj_cis_init(pj_cis_buf_t *cis_buf, pj_cis_t *cis) +{ + PJ_UNUSED_ARG(cis_buf); + pj_bzero(cis->cis_buf, sizeof(cis->cis_buf)); + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_cis_dup( pj_cis_t *new_cis, pj_cis_t *existing) +{ + pj_memcpy(new_cis, existing, sizeof(pj_cis_t)); + return PJ_SUCCESS; +} + + diff --git a/pjlib-util/src/pjlib-util/sha1.c b/pjlib-util/src/pjlib-util/sha1.c new file mode 100644 index 0000000..c9b4974 --- /dev/null +++ b/pjlib-util/src/pjlib-util/sha1.c @@ -0,0 +1,263 @@ +/* $Id: sha1.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Modified 2/07 + * By Benny Prijono + * Still 100% Public Domain + * + * This is the implementation of SHA-1 encryption algorithm based on + * Steve Reid work. Modified to work with PJLIB. + */ + +/* +SHA-1 in C +By Steve Reid +100% Public Domain + +----------------- +Modified 7/98 +By James H. Brown +Still 100% Public Domain + +Corrected a problem which generated improper hash values on 16 bit machines +Routine SHA1Update changed from + void SHA1Update(SHA1_CTX* context, unsigned char* data, unsigned int +len) +to + void SHA1Update(SHA1_CTX* context, unsigned char* data, unsigned +long len) + +The 'len' parameter was declared an int which works fine on 32 bit machines. +However, on 16 bit machines an int is too small for the shifts being done +against +it. This caused the hash function to generate incorrect values if len was +greater than 8191 (8K - 1) due to the 'len << 3' on line 3 of SHA1Update(). + +Since the file IO in main() reads 16K at a time, any file 8K or larger would +be guaranteed to generate the wrong hash (e.g. Test Vector #3, a million +"a"s). + +I also changed the declaration of variables i & j in SHA1Update to +unsigned long from unsigned int for the same reason. + +These changes should make no difference to any 32 bit implementations since +an +int and a long are the same size in those environments. + +-- +I also corrected a few compiler warnings generated by Borland C. +1. Added #include for exit() prototype +2. Removed unused variable 'j' in SHA1Final +3. Changed exit(0) to return(0) at end of main. + +ALL changes I made can be located by searching for comments containing 'JHB' +----------------- +Modified 8/98 +By Steve Reid +Still 100% public domain + +1- Removed #include and used return() instead of exit() +2- Fixed overwriting of finalcount in SHA1Final() (discovered by Chris Hall) +3- Changed email address from steve@edmweb.com to sreid@sea-to-sky.net + +----------------- +Modified 4/01 +By Saul Kravitz +Still 100% PD +Modified to run on Compaq Alpha hardware. + +----------------- +Modified 07/2002 +By Ralph Giles +Still 100% public domain +modified for use with stdint types, autoconf +code cleanup, removed attribution comments +switched SHA1Final() argument order for consistency +use SHA1_ prefix for public api +move public api to sha1.h +*/ + +/* +Test Vectors (from FIPS PUB 180-1) +"abc" + A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D +"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" + 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1 +A million repetitions of "a" + 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F +*/ + +/* #define SHA1HANDSOFF */ +/* blp: +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include + +#include "os_types.h" + +#include "sha1.h" +*/ +#include +#include + +#undef SHA1HANDSOFF + + +static void SHA1_Transform(pj_uint32_t state[5], pj_uint8_t buffer[64]); + +#define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits)))) + +/* blk0() and blk() perform the initial expand. */ +/* I got the idea of expanding during the round function from SSLeay */ +/* FIXME: can we do this in an endian-proof way? */ +/* #ifdef WORDS_BIGENDIAN */ +#if defined(PJ_IS_BIG_ENDIAN) && PJ_IS_BIG_ENDIAN != 0 +#define blk0(i) block->l[i] +#else +#define blk0(i) (block->l[i] = (rol(block->l[i],24)&0xFF00FF00) \ + |(rol(block->l[i],8)&0x00FF00FF)) +#endif +#define blk(i) (block->l[i&15] = rol(block->l[(i+13)&15]^block->l[(i+8)&15] \ + ^block->l[(i+2)&15]^block->l[i&15],1)) + +/* (R0+R1), R2, R3, R4 are the different operations used in SHA1 */ +#define R0(v,w,x,y,z,i) z+=((w&(x^y))^y)+blk0(i)+0x5A827999+rol(v,5);w=rol(w,30); +#define R1(v,w,x,y,z,i) z+=((w&(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=rol(w,30); +#define R2(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=rol(w,30); +#define R3(v,w,x,y,z,i) z+=(((w|x)&y)|(w&x))+blk(i)+0x8F1BBCDC+rol(v,5);w=rol(w,30); +#define R4(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=rol(w,30); + + +/* Hash a single 512-bit block. This is the core of the algorithm. */ +static void SHA1_Transform(pj_uint32_t state[5], pj_uint8_t buffer[64]) +{ + pj_uint32_t a, b, c, d, e; + typedef union { + pj_uint8_t c[64]; + pj_uint32_t l[16]; + } CHAR64LONG16; + CHAR64LONG16* block; + +#ifdef SHA1HANDSOFF + static pj_uint8_t workspace[64]; + block = (CHAR64LONG16*)workspace; + pj_memcpy(block, buffer, 64); +#else + block = (CHAR64LONG16*)buffer; +#endif + + /* Copy context->state[] to working vars */ + a = state[0]; + b = state[1]; + c = state[2]; + d = state[3]; + e = state[4]; + + /* 4 rounds of 20 operations each. Loop unrolled. */ + R0(a,b,c,d,e, 0); R0(e,a,b,c,d, 1); R0(d,e,a,b,c, 2); R0(c,d,e,a,b, 3); + R0(b,c,d,e,a, 4); R0(a,b,c,d,e, 5); R0(e,a,b,c,d, 6); R0(d,e,a,b,c, 7); + R0(c,d,e,a,b, 8); R0(b,c,d,e,a, 9); R0(a,b,c,d,e,10); R0(e,a,b,c,d,11); + R0(d,e,a,b,c,12); R0(c,d,e,a,b,13); R0(b,c,d,e,a,14); R0(a,b,c,d,e,15); + R1(e,a,b,c,d,16); R1(d,e,a,b,c,17); R1(c,d,e,a,b,18); R1(b,c,d,e,a,19); + R2(a,b,c,d,e,20); R2(e,a,b,c,d,21); R2(d,e,a,b,c,22); R2(c,d,e,a,b,23); + R2(b,c,d,e,a,24); R2(a,b,c,d,e,25); R2(e,a,b,c,d,26); R2(d,e,a,b,c,27); + R2(c,d,e,a,b,28); R2(b,c,d,e,a,29); R2(a,b,c,d,e,30); R2(e,a,b,c,d,31); + R2(d,e,a,b,c,32); R2(c,d,e,a,b,33); R2(b,c,d,e,a,34); R2(a,b,c,d,e,35); + R2(e,a,b,c,d,36); R2(d,e,a,b,c,37); R2(c,d,e,a,b,38); R2(b,c,d,e,a,39); + R3(a,b,c,d,e,40); R3(e,a,b,c,d,41); R3(d,e,a,b,c,42); R3(c,d,e,a,b,43); + R3(b,c,d,e,a,44); R3(a,b,c,d,e,45); R3(e,a,b,c,d,46); R3(d,e,a,b,c,47); + R3(c,d,e,a,b,48); R3(b,c,d,e,a,49); R3(a,b,c,d,e,50); R3(e,a,b,c,d,51); + R3(d,e,a,b,c,52); R3(c,d,e,a,b,53); R3(b,c,d,e,a,54); R3(a,b,c,d,e,55); + R3(e,a,b,c,d,56); R3(d,e,a,b,c,57); R3(c,d,e,a,b,58); R3(b,c,d,e,a,59); + R4(a,b,c,d,e,60); R4(e,a,b,c,d,61); R4(d,e,a,b,c,62); R4(c,d,e,a,b,63); + R4(b,c,d,e,a,64); R4(a,b,c,d,e,65); R4(e,a,b,c,d,66); R4(d,e,a,b,c,67); + R4(c,d,e,a,b,68); R4(b,c,d,e,a,69); R4(a,b,c,d,e,70); R4(e,a,b,c,d,71); + R4(d,e,a,b,c,72); R4(c,d,e,a,b,73); R4(b,c,d,e,a,74); R4(a,b,c,d,e,75); + R4(e,a,b,c,d,76); R4(d,e,a,b,c,77); R4(c,d,e,a,b,78); R4(b,c,d,e,a,79); + + /* Add the working vars back into context.state[] */ + state[0] += a; + state[1] += b; + state[2] += c; + state[3] += d; + state[4] += e; + + /* Wipe variables */ + a = b = c = d = e = 0; +} + + +/* SHA1Init - Initialize new context */ +PJ_DEF(void) pj_sha1_init(pj_sha1_context* context) +{ + /* SHA1 initialization constants */ + context->state[0] = 0x67452301; + context->state[1] = 0xEFCDAB89; + context->state[2] = 0x98BADCFE; + context->state[3] = 0x10325476; + context->state[4] = 0xC3D2E1F0; + context->count[0] = context->count[1] = 0; +} + + +/* Run your data through this. */ +PJ_DEF(void) pj_sha1_update(pj_sha1_context* context, + const pj_uint8_t* data, const pj_size_t len) +{ + pj_size_t i, j; + + j = (context->count[0] >> 3) & 63; + if ((context->count[0] += (pj_uint32_t)len << 3) < (len << 3)) + context->count[1]++; + context->count[1] += ((pj_uint32_t)len >> 29); + if ((j + len) > 63) { + pj_memcpy(&context->buffer[j], data, (i = 64-j)); + SHA1_Transform(context->state, context->buffer); + for ( ; i + 63 < len; i += 64) { + pj_uint8_t tmp[64]; + pj_memcpy(tmp, data + i, 64); + SHA1_Transform(context->state, tmp); + } + j = 0; + } + else i = 0; + pj_memcpy(&context->buffer[j], &data[i], len - i); + +} + + +/* Add padding and return the message digest. */ +PJ_DEF(void) pj_sha1_final(pj_sha1_context* context, + pj_uint8_t digest[PJ_SHA1_DIGEST_SIZE]) +{ + pj_uint32_t i; + pj_uint8_t finalcount[8]; + + for (i = 0; i < 8; i++) { + finalcount[i] = (unsigned char)((context->count[(i >= 4 ? 0 : 1)] + >> ((3-(i & 3)) * 8) ) & 255); /* Endian independent */ + } + pj_sha1_update(context, (pj_uint8_t *)"\200", 1); + while ((context->count[0] & 504) != 448) { + pj_sha1_update(context, (pj_uint8_t *)"\0", 1); + } + pj_sha1_update(context, finalcount, 8); /* Should cause a SHA1_Transform() */ + for (i = 0; i < PJ_SHA1_DIGEST_SIZE; i++) { + digest[i] = (pj_uint8_t) + ((context->state[i>>2] >> ((3-(i & 3)) * 8) ) & 255); + } + + /* Wipe variables */ + i = 0; + pj_memset(context->buffer, 0, 64); + pj_memset(context->state, 0, 20); + pj_memset(context->count, 0, 8); + pj_memset(finalcount, 0, 8); /* SWR */ + +#ifdef SHA1HANDSOFF /* make SHA1Transform overwrite its own static vars */ + SHA1_Transform(context->state, context->buffer); +#endif +} + diff --git a/pjlib-util/src/pjlib-util/srv_resolver.c b/pjlib-util/src/pjlib-util/srv_resolver.c new file mode 100644 index 0000000..3a4b232 --- /dev/null +++ b/pjlib-util/src/pjlib-util/srv_resolver.c @@ -0,0 +1,682 @@ +/* $Id: srv_resolver.c 5115 2015-06-22 08:49:34Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define THIS_FILE "srv_resolver.c" + +#define ADDR_MAX_COUNT PJ_DNS_MAX_IP_IN_A_REC + +struct common +{ + pj_dns_type type; /**< Type of this structure.*/ +}; + +struct srv_target +{ + struct common common; + pj_dns_srv_async_query *parent; + pj_str_t target_name; + pj_dns_async_query *q_a; + char target_buf[PJ_MAX_HOSTNAME]; + pj_str_t cname; + char cname_buf[PJ_MAX_HOSTNAME]; + unsigned port; + unsigned priority; + unsigned weight; + unsigned sum; + unsigned addr_cnt; + pj_in_addr addr[ADDR_MAX_COUNT]; +}; + +struct pj_dns_srv_async_query +{ + struct common common; + char *objname; + + pj_dns_type dns_state; /**< DNS type being resolved. */ + pj_dns_resolver *resolver; /**< Resolver SIP instance. */ + void *token; + pj_dns_async_query *q_srv; + pj_dns_srv_resolver_cb *cb; + pj_status_t last_error; + + /* Original request: */ + unsigned option; + pj_str_t full_name; + pj_str_t domain_part; + pj_uint16_t def_port; + + /* SRV records and their resolved IP addresses: */ + unsigned srv_cnt; + struct srv_target srv[PJ_DNS_SRV_MAX_ADDR]; + + /* Number of hosts in SRV records that the IP address has been resolved */ + unsigned host_resolved; + +}; + + +/* Async resolver callback, forward decl. */ +static void dns_callback(void *user_data, + pj_status_t status, + pj_dns_parsed_packet *pkt); + + + +/* + * The public API to invoke DNS SRV resolution. + */ +PJ_DEF(pj_status_t) pj_dns_srv_resolve( const pj_str_t *domain_name, + const pj_str_t *res_name, + unsigned def_port, + pj_pool_t *pool, + pj_dns_resolver *resolver, + unsigned option, + void *token, + pj_dns_srv_resolver_cb *cb, + pj_dns_srv_async_query **p_query) +{ + pj_size_t len; + pj_str_t target_name; + pj_dns_srv_async_query *query_job; + pj_status_t status; + + PJ_ASSERT_RETURN(domain_name && domain_name->slen && + res_name && res_name->slen && + pool && resolver && cb, PJ_EINVAL); + + /* Build full name */ + len = domain_name->slen + res_name->slen + 2; + target_name.ptr = (char*) pj_pool_alloc(pool, len); + pj_strcpy(&target_name, res_name); + if (res_name->ptr[res_name->slen-1] != '.') + pj_strcat2(&target_name, "."); + len = target_name.slen; + pj_strcat(&target_name, domain_name); + target_name.ptr[target_name.slen] = '\0'; + + + /* Build the query_job state */ + query_job = PJ_POOL_ZALLOC_T(pool, pj_dns_srv_async_query); + query_job->common.type = PJ_DNS_TYPE_SRV; + query_job->objname = target_name.ptr; + query_job->resolver = resolver; + query_job->token = token; + query_job->cb = cb; + query_job->option = option; + query_job->full_name = target_name; + query_job->domain_part.ptr = target_name.ptr + len; + query_job->domain_part.slen = target_name.slen - len; + query_job->def_port = (pj_uint16_t)def_port; + + /* Start the asynchronous query_job */ + + query_job->dns_state = PJ_DNS_TYPE_SRV; + + PJ_LOG(5, (query_job->objname, + "Starting async DNS %s query_job: target=%.*s:%d", + pj_dns_get_type_name(query_job->dns_state), + (int)target_name.slen, target_name.ptr, + def_port)); + + status = pj_dns_resolver_start_query(resolver, &target_name, + query_job->dns_state, 0, + &dns_callback, + query_job, &query_job->q_srv); + if (status==PJ_SUCCESS && p_query) + *p_query = query_job; + + return status; +} + + +/* + * Cancel pending query. + */ +PJ_DEF(pj_status_t) pj_dns_srv_cancel_query(pj_dns_srv_async_query *query, + pj_bool_t notify) +{ + pj_bool_t has_pending = PJ_FALSE; + unsigned i; + + if (query->q_srv) { + pj_dns_resolver_cancel_query(query->q_srv, PJ_FALSE); + query->q_srv = NULL; + has_pending = PJ_TRUE; + } + + for (i=0; isrv_cnt; ++i) { + struct srv_target *srv = &query->srv[i]; + if (srv->q_a) { + pj_dns_resolver_cancel_query(srv->q_a, PJ_FALSE); + srv->q_a = NULL; + has_pending = PJ_TRUE; + } + } + + if (has_pending && notify && query->cb) { + (*query->cb)(query->token, PJ_ECANCELLED, NULL); + } + + return has_pending? PJ_SUCCESS : PJ_EINVALIDOP; +} + + +#define SWAP(type,ptr1,ptr2) if (ptr1 != ptr2) { \ + type tmp; \ + pj_memcpy(&tmp, ptr1, sizeof(type)); \ + pj_memcpy(ptr1, ptr2, sizeof(type)); \ + (ptr1)->target_name.ptr = (ptr1)->target_buf;\ + pj_memcpy(ptr2, &tmp, sizeof(type)); \ + (ptr2)->target_name.ptr = (ptr2)->target_buf;\ + } else {} + + +/* Build server entries in the query_job based on received SRV response */ +static void build_server_entries(pj_dns_srv_async_query *query_job, + pj_dns_parsed_packet *response) +{ + unsigned i; + + /* Save the Resource Records in DNS answer into SRV targets. */ + query_job->srv_cnt = 0; + for (i=0; ihdr.anscount && + query_job->srv_cnt < PJ_DNS_SRV_MAX_ADDR; ++i) + { + pj_dns_parsed_rr *rr = &response->ans[i]; + struct srv_target *srv = &query_job->srv[query_job->srv_cnt]; + + if (rr->type != PJ_DNS_TYPE_SRV) { + PJ_LOG(4,(query_job->objname, + "Received non SRV answer for SRV query_job!")); + continue; + } + + if (rr->rdata.srv.target.slen > PJ_MAX_HOSTNAME) { + PJ_LOG(4,(query_job->objname, "Hostname is too long!")); + continue; + } + + /* Build the SRV entry for RR */ + pj_bzero(srv, sizeof(*srv)); + srv->target_name.ptr = srv->target_buf; + pj_strncpy(&srv->target_name, &rr->rdata.srv.target, + sizeof(srv->target_buf)); + srv->port = rr->rdata.srv.port; + srv->priority = rr->rdata.srv.prio; + srv->weight = rr->rdata.srv.weight; + + ++query_job->srv_cnt; + } + + if (query_job->srv_cnt == 0) { + PJ_LOG(4,(query_job->objname, + "Could not find SRV record in DNS answer!")); + return; + } + + /* First pass: + * order the entries based on priority. + */ + for (i=0; isrv_cnt-1; ++i) { + unsigned min = i, j; + for (j=i+1; jsrv_cnt; ++j) { + if (query_job->srv[j].priority < query_job->srv[min].priority) + min = j; + } + SWAP(struct srv_target, &query_job->srv[i], &query_job->srv[min]); + } + + /* Second pass: + * Order the entry in a list. + * + * The algorithm for selecting server among servers with the same + * priority is described in RFC 2782. + */ + for (i=0; isrv_cnt; ++i) { + unsigned j, count=1, sum; + + /* Calculate running sum for servers with the same priority */ + sum = query_job->srv[i].sum = query_job->srv[i].weight; + for (j=i+1; jsrv_cnt && + query_job->srv[j].priority == query_job->srv[i].priority; ++j) + { + sum += query_job->srv[j].weight; + query_job->srv[j].sum = sum; + ++count; + } + + if (count > 1) { + unsigned r; + + /* Elect one random number between zero and the total sum of + * weight (inclusive). + */ + r = pj_rand() % (sum + 1); + + /* Select the first server which running sum is greater than or + * equal to the random number. + */ + for (j=i; jsrv[j].sum >= r) + break; + } + + /* Must have selected one! */ + pj_assert(j != i+count); + + /* Put this entry in front (of entries with same priority) */ + SWAP(struct srv_target, &query_job->srv[i], &query_job->srv[j]); + + /* Remove all other entries (of the same priority) */ + /* Don't need to do this. + * See https://trac.pjsip.org/repos/ticket/1719 + while (count > 1) { + pj_array_erase(query_job->srv, sizeof(struct srv_target), + query_job->srv_cnt, i+1); + --count; + --query_job->srv_cnt; + } + */ + } + } + + /* Since we've been moving around SRV entries, update the pointers + * in target_name. + */ + for (i=0; isrv_cnt; ++i) { + query_job->srv[i].target_name.ptr = query_job->srv[i].target_buf; + } + + /* Check for Additional Info section if A records are available, and + * fill in the IP address (so that we won't need to resolve the A + * record with another DNS query_job). + */ + for (i=0; ihdr.arcount; ++i) { + pj_dns_parsed_rr *rr = &response->arr[i]; + unsigned j; + + if (rr->type != PJ_DNS_TYPE_A) + continue; + + /* Yippeaiyee!! There is an "A" record! + * Update the IP address of the corresponding SRV record. + */ + for (j=0; jsrv_cnt; ++j) { + if (pj_stricmp(&rr->name, &query_job->srv[j].target_name)==0 && + query_job->srv[j].addr_cnt < ADDR_MAX_COUNT) + { + unsigned cnt = query_job->srv[j].addr_cnt; + query_job->srv[j].addr[cnt].s_addr = rr->rdata.a.ip_addr.s_addr; + /* Only increment host_resolved once per SRV record */ + if (query_job->srv[j].addr_cnt == 0) + ++query_job->host_resolved; + ++query_job->srv[j].addr_cnt; + break; + } + } + + /* Not valid message; SRV entry might have been deleted in + * server selection process. + */ + /* + if (j == query_job->srv_cnt) { + PJ_LOG(4,(query_job->objname, + "Received DNS SRV answer with A record, but " + "couldn't find matching name (name=%.*s)", + (int)rr->name.slen, + rr->name.ptr)); + } + */ + } + + /* Rescan again the name specified in the SRV record to see if IP + * address is specified as the target name (unlikely, but well, who + * knows..). + */ + for (i=0; isrv_cnt; ++i) { + pj_in_addr addr; + + if (query_job->srv[i].addr_cnt != 0) { + /* IP address already resolved */ + continue; + } + + if (pj_inet_aton(&query_job->srv[i].target_name, &addr) != 0) { + query_job->srv[i].addr[query_job->srv[i].addr_cnt++] = addr; + ++query_job->host_resolved; + } + } + + /* Print resolved entries to the log */ + PJ_LOG(5,(query_job->objname, + "SRV query_job for %.*s completed, " + "%d of %d total entries selected%c", + (int)query_job->full_name.slen, + query_job->full_name.ptr, + query_job->srv_cnt, + response->hdr.anscount, + (query_job->srv_cnt ? ':' : ' '))); + + for (i=0; isrv_cnt; ++i) { + const char *addr; + + if (query_job->srv[i].addr_cnt != 0) + addr = pj_inet_ntoa(query_job->srv[i].addr[0]); + else + addr = "-"; + + PJ_LOG(5,(query_job->objname, + " %d: SRV %d %d %d %.*s (%s)", + i, query_job->srv[i].priority, + query_job->srv[i].weight, + query_job->srv[i].port, + (int)query_job->srv[i].target_name.slen, + query_job->srv[i].target_name.ptr, + addr)); + } +} + + +/* Start DNS A record queries for all SRV records in the query_job structure */ +static pj_status_t resolve_hostnames(pj_dns_srv_async_query *query_job) +{ + unsigned i, err_cnt = 0; + pj_status_t err=PJ_SUCCESS, status; + + query_job->dns_state = PJ_DNS_TYPE_A; + for (i=0; isrv_cnt; ++i) { + struct srv_target *srv = &query_job->srv[i]; + + PJ_LOG(5, (query_job->objname, + "Starting async DNS A query_job for %.*s", + (int)srv->target_name.slen, + srv->target_name.ptr)); + + srv->common.type = PJ_DNS_TYPE_A; + srv->parent = query_job; + + /* See also #1809: dns_callback() will be invoked synchronously when response + * is available in the cache, and var 'query_job->host_resolved' will get + * incremented within the dns_callback(), which will cause this function + * returning false error, so don't use that variable for counting errors. + */ + status = pj_dns_resolver_start_query(query_job->resolver, + &srv->target_name, + PJ_DNS_TYPE_A, 0, + &dns_callback, + srv, &srv->q_a); + if (status != PJ_SUCCESS) { + query_job->host_resolved++; + err_cnt++; + err = status; + } + } + + return (err_cnt == query_job->srv_cnt) ? err : PJ_SUCCESS; +} + +/* + * This callback is called by PJLIB-UTIL DNS resolver when asynchronous + * query_job has completed (successfully or with error). + */ +static void dns_callback(void *user_data, + pj_status_t status, + pj_dns_parsed_packet *pkt) +{ + struct common *common = (struct common*) user_data; + pj_dns_srv_async_query *query_job; + struct srv_target *srv = NULL; + unsigned i; + + if (common->type == PJ_DNS_TYPE_SRV) { + query_job = (pj_dns_srv_async_query*) common; + srv = NULL; + } else if (common->type == PJ_DNS_TYPE_A) { + srv = (struct srv_target*) common; + query_job = srv->parent; + } else { + pj_assert(!"Unexpected user data!"); + return; + } + + /* Proceed to next stage */ + if (query_job->dns_state == PJ_DNS_TYPE_SRV) { + + /* We are getting SRV response */ + + query_job->q_srv = NULL; + + if (status == PJ_SUCCESS && pkt->hdr.anscount != 0) { + /* Got SRV response, build server entry. If A records are available + * in additional records section of the DNS response, save them too. + */ + build_server_entries(query_job, pkt); + + } else if (status != PJ_SUCCESS) { + char errmsg[PJ_ERR_MSG_SIZE]; + + /* Update query_job last error */ + query_job->last_error = status; + + pj_strerror(status, errmsg, sizeof(errmsg)); + PJ_LOG(4,(query_job->objname, + "DNS SRV resolution failed for %.*s: %s", + (int)query_job->full_name.slen, + query_job->full_name.ptr, + errmsg)); + + /* Trigger error when fallback is disabled */ + if ((query_job->option & + (PJ_DNS_SRV_FALLBACK_A | PJ_DNS_SRV_FALLBACK_AAAA)) == 0) + { + goto on_error; + } + } + + /* If we can't build SRV record, assume the original target is + * an A record and resolve with DNS A resolution. + */ + if (query_job->srv_cnt == 0) { + /* Looks like we aren't getting any SRV responses. + * Resolve the original target as A record by creating a + * single "dummy" srv record and start the hostname resolution. + */ + PJ_LOG(4, (query_job->objname, + "DNS SRV resolution failed for %.*s, trying " + "resolving A record for %.*s", + (int)query_job->full_name.slen, + query_job->full_name.ptr, + (int)query_job->domain_part.slen, + query_job->domain_part.ptr)); + + /* Create a "dummy" srv record using the original target */ + i = query_job->srv_cnt++; + pj_bzero(&query_job->srv[i], sizeof(query_job->srv[i])); + query_job->srv[i].target_name = query_job->domain_part; + query_job->srv[i].priority = 0; + query_job->srv[i].weight = 0; + query_job->srv[i].port = query_job->def_port; + } + + + /* Resolve server hostnames (DNS A record) for hosts which don't have + * A record yet. + */ + if (query_job->host_resolved != query_job->srv_cnt) { + status = resolve_hostnames(query_job); + if (status != PJ_SUCCESS) + goto on_error; + + /* Must return now. Callback may have been called and query_job + * may have been destroyed. + */ + return; + } + + } else if (query_job->dns_state == PJ_DNS_TYPE_A) { + + /* Clear the outstanding job */ + srv->q_a = NULL; + + /* Check that we really have answer */ + if (status==PJ_SUCCESS && pkt->hdr.anscount != 0) { + pj_dns_a_record rec; + + /* Parse response */ + status = pj_dns_parse_a_response(pkt, &rec); + if (status != PJ_SUCCESS) + goto on_error; + + pj_assert(rec.addr_count != 0); + + /* Update CNAME alias, if present. */ + if (rec.alias.slen) { + pj_assert(rec.alias.slen <= (int)sizeof(srv->cname_buf)); + srv->cname.ptr = srv->cname_buf; + pj_strcpy(&srv->cname, &rec.alias); + } else { + srv->cname.slen = 0; + } + + /* Update IP address of the corresponding hostname or CNAME */ + if (srv->addr_cnt < ADDR_MAX_COUNT) { + srv->addr[srv->addr_cnt++].s_addr = rec.addr[0].s_addr; + + PJ_LOG(5,(query_job->objname, + "DNS A for %.*s: %s", + (int)srv->target_name.slen, + srv->target_name.ptr, + pj_inet_ntoa(rec.addr[0]))); + } + + /* Check for multiple IP addresses */ + for (i=1; iaddr_cnt < ADDR_MAX_COUNT; ++i) + { + srv->addr[srv->addr_cnt++].s_addr = rec.addr[i].s_addr; + + PJ_LOG(5,(query_job->objname, + "Additional DNS A for %.*s: %s", + (int)srv->target_name.slen, + srv->target_name.ptr, + pj_inet_ntoa(rec.addr[i]))); + } + + } else if (status != PJ_SUCCESS) { + char errmsg[PJ_ERR_MSG_SIZE]; + + /* Update last error */ + query_job->last_error = status; + + /* Log error */ + pj_strerror(status, errmsg, sizeof(errmsg)); + PJ_LOG(4,(query_job->objname, "DNS A record resolution failed: %s", + errmsg)); + } + + ++query_job->host_resolved; + + } else { + pj_assert(!"Unexpected state!"); + query_job->last_error = status = PJ_EINVALIDOP; + goto on_error; + } + + /* Check if all hosts have been resolved */ + if (query_job->host_resolved == query_job->srv_cnt) { + /* Got all answers, build server addresses */ + pj_dns_srv_record srv_rec; + + srv_rec.count = 0; + for (i=0; isrv_cnt; ++i) { + unsigned j; + struct srv_target *srv = &query_job->srv[i]; + + srv_rec.entry[srv_rec.count].priority = srv->priority; + srv_rec.entry[srv_rec.count].weight = srv->weight; + srv_rec.entry[srv_rec.count].port = (pj_uint16_t)srv->port ; + + srv_rec.entry[srv_rec.count].server.name = srv->target_name; + srv_rec.entry[srv_rec.count].server.alias = srv->cname; + srv_rec.entry[srv_rec.count].server.addr_count = 0; + + pj_assert(srv->addr_cnt <= PJ_DNS_MAX_IP_IN_A_REC); + + for (j=0; jaddr_cnt; ++j) { + srv_rec.entry[srv_rec.count].server.addr[j].s_addr = + srv->addr[j].s_addr; + ++srv_rec.entry[srv_rec.count].server.addr_count; + } + + if (srv->addr_cnt > 0) { + ++srv_rec.count; + if (srv_rec.count == PJ_DNS_SRV_MAX_ADDR) + break; + } + } + + PJ_LOG(5,(query_job->objname, + "Server resolution complete, %d server entry(s) found", + srv_rec.count)); + + + if (srv_rec.count > 0) + status = PJ_SUCCESS; + else { + status = query_job->last_error; + if (status == PJ_SUCCESS) + status = PJLIB_UTIL_EDNSNOANSWERREC; + } + + /* Call the callback */ + (*query_job->cb)(query_job->token, status, &srv_rec); + } + + + return; + +on_error: + /* Check for failure */ + if (status != PJ_SUCCESS) { + char errmsg[PJ_ERR_MSG_SIZE]; + PJ_UNUSED_ARG(errmsg); + PJ_LOG(4,(query_job->objname, + "DNS %s record resolution error for '%.*s'." + " Err=%d (%s)", + pj_dns_get_type_name(query_job->dns_state), + (int)query_job->domain_part.slen, + query_job->domain_part.ptr, + status, + pj_strerror(status,errmsg,sizeof(errmsg)).ptr)); + (*query_job->cb)(query_job->token, status, NULL); + return; + } +} + + diff --git a/pjlib-util/src/pjlib-util/string.c b/pjlib-util/src/pjlib-util/string.c new file mode 100644 index 0000000..e3a7f91 --- /dev/null +++ b/pjlib-util/src/pjlib-util/string.c @@ -0,0 +1,110 @@ +/* $Id: string.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + +PJ_DEF(pj_str_t) pj_str_unescape( pj_pool_t *pool, const pj_str_t *src_str) +{ + char *src = src_str->ptr; + char *end = src + src_str->slen; + pj_str_t dst_str; + char *dst; + + if (pj_strchr(src_str, '%')==NULL) + return *src_str; + + dst = dst_str.ptr = (char*) pj_pool_alloc(pool, src_str->slen); + + while (src != end) { + if (*src == '%' && src < end-2 && pj_isxdigit(*(src+1)) && + pj_isxdigit(*(src+2))) + { + *dst = (pj_uint8_t) ((pj_hex_digit_to_val(*(src+1)) << 4) + + pj_hex_digit_to_val(*(src+2))); + ++dst; + src += 3; + } else { + *dst++ = *src++; + } + } + dst_str.slen = dst - dst_str.ptr; + return dst_str; +} + +PJ_DEF(pj_str_t*) pj_strcpy_unescape(pj_str_t *dst_str, + const pj_str_t *src_str) +{ + const char *src = src_str->ptr; + const char *end = src + src_str->slen; + char *dst = dst_str->ptr; + + while (src != end) { + if (*src == '%' && src < end-2) { + *dst = (pj_uint8_t) ((pj_hex_digit_to_val(*(src+1)) << 4) + + pj_hex_digit_to_val(*(src+2))); + ++dst; + src += 3; + } else { + *dst++ = *src++; + } + } + dst_str->slen = dst - dst_str->ptr; + return dst_str; +} + +PJ_DEF(pj_ssize_t) pj_strncpy2_escape( char *dst_str, const pj_str_t *src_str, + pj_ssize_t max, const pj_cis_t *unres) +{ + const char *src = src_str->ptr; + const char *src_end = src + src_str->slen; + char *dst = dst_str; + char *dst_end = dst + max; + + if (max < src_str->slen) + return -1; + + while (src != src_end && dst != dst_end) { + if (pj_cis_match(unres, *src)) { + *dst++ = *src++; + } else { + if (dst < dst_end-2) { + *dst++ = '%'; + pj_val_to_hex_digit(*src, dst); + dst+=2; + ++src; + } else { + break; + } + } + } + + return src==src_end ? dst-dst_str : -1; +} + +PJ_DEF(pj_str_t*) pj_strncpy_escape(pj_str_t *dst_str, + const pj_str_t *src_str, + pj_ssize_t max, const pj_cis_t *unres) +{ + dst_str->slen = pj_strncpy2_escape(dst_str->ptr, src_str, max, unres); + return dst_str->slen < 0 ? NULL : dst_str; +} + diff --git a/pjlib-util/src/pjlib-util/stun_simple.c b/pjlib-util/src/pjlib-util/stun_simple.c new file mode 100644 index 0000000..846e6af --- /dev/null +++ b/pjlib-util/src/pjlib-util/stun_simple.c @@ -0,0 +1,131 @@ +/* $Id: stun_simple.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include + +#define THIS_FILE "stun_simple.c" + +PJ_DEF(pj_status_t) pjstun_create_bind_req( pj_pool_t *pool, + void **msg, pj_size_t *len, + pj_uint32_t id_hi, + pj_uint32_t id_lo) +{ + pjstun_msg_hdr *hdr; + + PJ_CHECK_STACK(); + + + hdr = PJ_POOL_ZALLOC_T(pool, pjstun_msg_hdr); + if (!hdr) + return PJ_ENOMEM; + + hdr->type = pj_htons(PJSTUN_BINDING_REQUEST); + hdr->tsx[2] = pj_htonl(id_hi); + hdr->tsx[3] = pj_htonl(id_lo); + *msg = hdr; + *len = sizeof(pjstun_msg_hdr); + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pjstun_parse_msg( void *buf, pj_size_t len, + pjstun_msg *msg) +{ + pj_uint16_t msg_type, msg_len; + char *p_attr; + + PJ_CHECK_STACK(); + + msg->hdr = (pjstun_msg_hdr*)buf; + msg_type = pj_ntohs(msg->hdr->type); + + switch (msg_type) { + case PJSTUN_BINDING_REQUEST: + case PJSTUN_BINDING_RESPONSE: + case PJSTUN_BINDING_ERROR_RESPONSE: + case PJSTUN_SHARED_SECRET_REQUEST: + case PJSTUN_SHARED_SECRET_RESPONSE: + case PJSTUN_SHARED_SECRET_ERROR_RESPONSE: + break; + default: + PJ_LOG(4,(THIS_FILE, "Error: unknown msg type %d", msg_type)); + return PJLIB_UTIL_ESTUNINMSGTYPE; + } + + msg_len = pj_ntohs(msg->hdr->length); + if (msg_len != len - sizeof(pjstun_msg_hdr)) { + PJ_LOG(4,(THIS_FILE, "Error: invalid msg_len %d (expecting %d)", + msg_len, len - sizeof(pjstun_msg_hdr))); + return PJLIB_UTIL_ESTUNINMSGLEN; + } + + msg->attr_count = 0; + p_attr = (char*)buf + sizeof(pjstun_msg_hdr); + + while (msg_len > 0) { + pjstun_attr_hdr **attr = &msg->attr[msg->attr_count]; + pj_uint32_t len; + pj_uint16_t attr_type; + + *attr = (pjstun_attr_hdr*)p_attr; + len = pj_ntohs((pj_uint16_t) ((*attr)->length)) + sizeof(pjstun_attr_hdr); + len = (len + 3) & ~3; + + if (msg_len < len) { + PJ_LOG(4,(THIS_FILE, "Error: length mismatch in attr %d", + msg->attr_count)); + return PJLIB_UTIL_ESTUNINATTRLEN; + } + + attr_type = pj_ntohs((*attr)->type); + if (attr_type > PJSTUN_ATTR_REFLECTED_FROM && + attr_type != PJSTUN_ATTR_XOR_MAPPED_ADDR) + { + PJ_LOG(5,(THIS_FILE, "Warning: unknown attr type %x in attr %d. " + "Attribute was ignored.", + attr_type, msg->attr_count)); + } + + msg_len = (pj_uint16_t)(msg_len - len); + p_attr += len; + ++msg->attr_count; + } + + return PJ_SUCCESS; +} + +PJ_DEF(void*) pjstun_msg_find_attr( pjstun_msg *msg, pjstun_attr_type t) +{ + int i; + + PJ_CHECK_STACK(); + + for (i=0; iattr_count; ++i) { + pjstun_attr_hdr *attr = msg->attr[i]; + if (pj_ntohs(attr->type) == t) + return attr; + } + + return 0; +} diff --git a/pjlib-util/src/pjlib-util/stun_simple_client.c b/pjlib-util/src/pjlib-util/stun_simple_client.c new file mode 100644 index 0000000..94ebcbb --- /dev/null +++ b/pjlib-util/src/pjlib-util/stun_simple_client.c @@ -0,0 +1,367 @@ +/* $Id: stun_simple_client.c 4961 2014-11-14 02:17:06Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +enum { MAX_REQUEST = 4 }; +static int stun_timer[] = {500, 500, 500, 500 }; +#define STUN_MAGIC 0x2112A442 + +#define THIS_FILE "stun_client.c" +#define LOG_ADDR(addr) pj_inet_ntoa(addr.sin_addr), pj_ntohs(addr.sin_port) + +#define TRACE_(x) PJ_LOG(6,x) + +PJ_DEF(pj_status_t) pjstun_get_mapped_addr( pj_pool_factory *pf, + int sock_cnt, pj_sock_t sock[], + const pj_str_t *srv1, int port1, + const pj_str_t *srv2, int port2, + pj_sockaddr_in mapped_addr[]) +{ + pjstun_setting opt; + + pj_bzero(&opt, sizeof(opt)); + opt.use_stun2 = PJ_FALSE; + opt.srv1 = *srv1; + opt.port1 = port1; + opt.srv2 = *srv2; + opt.port2 = port2; + + return pjstun_get_mapped_addr2(pf, &opt, sock_cnt, sock, mapped_addr); +} + +PJ_DEF(pj_status_t) pjstun_get_mapped_addr2(pj_pool_factory *pf, + const pjstun_setting *opt, + int sock_cnt, + pj_sock_t sock[], + pj_sockaddr_in mapped_addr[]) +{ + unsigned srv_cnt; + const pj_str_t *srv1, *srv2; + int port1, port2; + pj_sockaddr_in srv_addr[2]; + int i, send_cnt = 0, nfds; + pj_pool_t *pool; + struct query_rec { + struct { + pj_uint32_t mapped_addr; + pj_uint32_t mapped_port; + } srv[2]; + } *rec; + void *out_msg; + pj_size_t out_msg_len; + int wait_resp = 0; + pj_status_t status; + + PJ_CHECK_STACK(); + + srv1 = &opt->srv1; + port1 = opt->port1; + srv2 = &opt->srv1; + port2 = opt->port2; + + TRACE_((THIS_FILE, "Entering pjstun_get_mapped_addr()")); + + /* Create pool. */ + pool = pj_pool_create(pf, "stun%p", 400, 400, NULL); + if (!pool) + return PJ_ENOMEM; + + + /* Allocate client records */ + rec = (struct query_rec*) pj_pool_calloc(pool, sock_cnt, sizeof(*rec)); + if (!rec) { + status = PJ_ENOMEM; + goto on_error; + } + + TRACE_((THIS_FILE, " Memory allocated.")); + + /* Create the outgoing BIND REQUEST message template */ + status = pjstun_create_bind_req( pool, &out_msg, &out_msg_len, + pj_rand(), pj_rand()); + if (status != PJ_SUCCESS) + goto on_error; + + /* Insert magic cookie (specified in RFC 5389) when requested to. */ + if (opt->use_stun2) { + pjstun_msg_hdr *hdr = (pjstun_msg_hdr*)out_msg; + hdr->tsx[0] = pj_htonl(STUN_MAGIC); + } + + TRACE_((THIS_FILE, " Binding request created.")); + + /* Resolve servers. */ + status = pj_sockaddr_in_init(&srv_addr[0], srv1, (pj_uint16_t)port1); + if (status != PJ_SUCCESS) + goto on_error; + + srv_cnt = 1; + + if (srv2 && port2) { + status = pj_sockaddr_in_init(&srv_addr[1], srv2, (pj_uint16_t)port2); + if (status != PJ_SUCCESS) + goto on_error; + + if (srv_addr[1].sin_addr.s_addr != srv_addr[0].sin_addr.s_addr && + srv_addr[1].sin_port != srv_addr[0].sin_port) + { + srv_cnt++; + } + } + + TRACE_((THIS_FILE, " Server initialized, using %d server(s)", srv_cnt)); + + /* Init mapped addresses to zero */ + pj_memset(mapped_addr, 0, sock_cnt * sizeof(pj_sockaddr_in)); + + /* We need these many responses */ + wait_resp = sock_cnt * srv_cnt; + + TRACE_((THIS_FILE, " Done initialization.")); + +#if defined(PJ_SELECT_NEEDS_NFDS) && PJ_SELECT_NEEDS_NFDS!=0 + nfds = -1; + for (i=0; i nfds) { + nfds = sock[i]; + } + } +#else + nfds = FD_SETSIZE-1; +#endif + + /* Main retransmission loop. */ + for (send_cnt=0; send_cnttsx[2] = pj_htonl(i); + msg_hdr->tsx[3] = pj_htonl(j); + + /* Send! */ + sent_len = out_msg_len; + status = pj_sock_sendto(sock[i], out_msg, &sent_len, 0, + (pj_sockaddr_t*)&srv_addr[j], + sizeof(pj_sockaddr_in)); + } + } + + /* All requests sent. + * The loop below will wait for responses until all responses have + * been received (i.e. wait_resp==0) or timeout occurs, which then + * we'll go to the next retransmission iteration. + */ + TRACE_((THIS_FILE, " Request(s) sent, counter=%d", send_cnt)); + + /* Calculate time of next retransmission. */ + pj_gettickcount(&next_tx); + next_tx.sec += (stun_timer[send_cnt]/1000); + next_tx.msec += (stun_timer[send_cnt]%1000); + pj_time_val_normalize(&next_tx); + + for (pj_gettickcount(&now), select_rc=1; + status==PJ_SUCCESS && select_rc>=1 && wait_resp>0 + && PJ_TIME_VAL_LT(now, next_tx); + pj_gettickcount(&now)) + { + pj_time_val timeout; + + timeout = next_tx; + PJ_TIME_VAL_SUB(timeout, now); + + for (i=0; itsx[2]); + srv_idx = pj_ntohl(msg.hdr->tsx[3]); + + if (sock_idx<0 || sock_idx>=sock_cnt || sock_idx!=i || + srv_idx<0 || srv_idx>=2) + { + status = PJLIB_UTIL_ESTUNININDEX; + continue; + } + + if (pj_ntohs(msg.hdr->type) != PJSTUN_BINDING_RESPONSE) { + status = PJLIB_UTIL_ESTUNNOBINDRES; + continue; + } + + if (rec[sock_idx].srv[srv_idx].mapped_port != 0) { + /* Already got response */ + continue; + } + + /* From this part, we consider the packet as a valid STUN + * response for our request. + */ + --wait_resp; + + if (pjstun_msg_find_attr(&msg, PJSTUN_ATTR_ERROR_CODE) != NULL) { + status = PJLIB_UTIL_ESTUNRECVERRATTR; + continue; + } + + attr = (pjstun_mapped_addr_attr*) + pjstun_msg_find_attr(&msg, PJSTUN_ATTR_MAPPED_ADDR); + if (!attr) { + attr = (pjstun_mapped_addr_attr*) + pjstun_msg_find_attr(&msg, PJSTUN_ATTR_XOR_MAPPED_ADDR); + if (!attr || attr->family != 1) { + status = PJLIB_UTIL_ESTUNNOMAP; + continue; + } + } + + rec[sock_idx].srv[srv_idx].mapped_addr = attr->addr; + rec[sock_idx].srv[srv_idx].mapped_port = attr->port; + if (pj_ntohs(attr->hdr.type) == PJSTUN_ATTR_XOR_MAPPED_ADDR) { + rec[sock_idx].srv[srv_idx].mapped_addr ^= pj_htonl(STUN_MAGIC); + rec[sock_idx].srv[srv_idx].mapped_port ^= pj_htons(STUN_MAGIC >> 16); + } + } + } + + /* The best scenario is if all requests have been replied. + * Then we don't need to go to the next retransmission iteration. + */ + if (wait_resp <= 0) + break; + } + + TRACE_((THIS_FILE, " All responses received, calculating result..")); + + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include + +/* + * md5.h + */ +PJ_EXPORT_SYMBOL(md5_init) +PJ_EXPORT_SYMBOL(md5_append) +PJ_EXPORT_SYMBOL(md5_finish) + +/* + * scanner.h + */ +PJ_EXPORT_SYMBOL(pj_cs_init) +PJ_EXPORT_SYMBOL(pj_cs_set) +PJ_EXPORT_SYMBOL(pj_cs_add_range) +PJ_EXPORT_SYMBOL(pj_cs_add_alpha) +PJ_EXPORT_SYMBOL(pj_cs_add_num) +PJ_EXPORT_SYMBOL(pj_cs_add_str) +PJ_EXPORT_SYMBOL(pj_cs_del_range) +PJ_EXPORT_SYMBOL(pj_cs_del_str) +PJ_EXPORT_SYMBOL(pj_cs_invert) +PJ_EXPORT_SYMBOL(pj_scan_init) +PJ_EXPORT_SYMBOL(pj_scan_fini) +PJ_EXPORT_SYMBOL(pj_scan_peek) +PJ_EXPORT_SYMBOL(pj_scan_peek_n) +PJ_EXPORT_SYMBOL(pj_scan_peek_until) +PJ_EXPORT_SYMBOL(pj_scan_get) +PJ_EXPORT_SYMBOL(pj_scan_get_quote) +PJ_EXPORT_SYMBOL(pj_scan_get_n) +PJ_EXPORT_SYMBOL(pj_scan_get_char) +PJ_EXPORT_SYMBOL(pj_scan_get_newline) +PJ_EXPORT_SYMBOL(pj_scan_get_until) +PJ_EXPORT_SYMBOL(pj_scan_get_until_ch) +PJ_EXPORT_SYMBOL(pj_scan_get_until_chr) +PJ_EXPORT_SYMBOL(pj_scan_advance_n) +PJ_EXPORT_SYMBOL(pj_scan_strcmp) +PJ_EXPORT_SYMBOL(pj_scan_stricmp) +PJ_EXPORT_SYMBOL(pj_scan_skip_whitespace) +PJ_EXPORT_SYMBOL(pj_scan_save_state) +PJ_EXPORT_SYMBOL(pj_scan_restore_state) + +/* + * stun.h + */ +PJ_EXPORT_SYMBOL(pj_stun_create_bind_req) +PJ_EXPORT_SYMBOL(pj_stun_parse_msg) +PJ_EXPORT_SYMBOL(pj_stun_msg_find_attr) +PJ_EXPORT_SYMBOL(pj_stun_get_mapped_addr) +PJ_EXPORT_SYMBOL(pj_stun_get_err_msg) + +/* + * xml.h + */ +PJ_EXPORT_SYMBOL(pj_xml_parse) +PJ_EXPORT_SYMBOL(pj_xml_print) +PJ_EXPORT_SYMBOL(pj_xml_add_node) +PJ_EXPORT_SYMBOL(pj_xml_add_attr) +PJ_EXPORT_SYMBOL(pj_xml_find_node) +PJ_EXPORT_SYMBOL(pj_xml_find_next_node) +PJ_EXPORT_SYMBOL(pj_xml_find_attr) +PJ_EXPORT_SYMBOL(pj_xml_find) + + diff --git a/pjlib-util/src/pjlib-util/xml.c b/pjlib-util/src/pjlib-util/xml.c new file mode 100644 index 0000000..2220566 --- /dev/null +++ b/pjlib-util/src/pjlib-util/xml.c @@ -0,0 +1,520 @@ +/* $Id: xml.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include + +#define EX_SYNTAX_ERROR 12 +#define THIS_FILE "xml.c" + +static void on_syntax_error(struct pj_scanner *scanner) +{ + PJ_UNUSED_ARG(scanner); + PJ_THROW(EX_SYNTAX_ERROR); +} + +static pj_xml_node *alloc_node( pj_pool_t *pool ) +{ + pj_xml_node *node; + + node = PJ_POOL_ZALLOC_T(pool, pj_xml_node); + pj_list_init( &node->attr_head ); + pj_list_init( &node->node_head ); + + return node; +} + +static pj_xml_attr *alloc_attr( pj_pool_t *pool ) +{ + return PJ_POOL_ZALLOC_T(pool, pj_xml_attr); +} + +/* This is a recursive function! */ +static pj_xml_node *xml_parse_node( pj_pool_t *pool, pj_scanner *scanner) +{ + pj_xml_node *node; + pj_str_t end_name; + + PJ_CHECK_STACK(); + + if (*scanner->curptr != '<') + on_syntax_error(scanner); + + /* Handle Processing Instructino (PI) construct (i.e. "curptr == '<' && *(scanner->curptr+1) == '?') { + pj_scan_advance_n(scanner, 2, PJ_FALSE); + for (;;) { + pj_str_t dummy; + pj_scan_get_until_ch(scanner, '?', &dummy); + if (*scanner->curptr=='?' && *(scanner->curptr+1)=='>') { + pj_scan_advance_n(scanner, 2, PJ_TRUE); + break; + } else { + pj_scan_advance_n(scanner, 1, PJ_FALSE); + } + } + return xml_parse_node(pool, scanner); + } + + /* Handle comments construct (i.e. "', &dummy); + if (pj_scan_strcmp(scanner, ">", 1) == 0) { + pj_scan_advance_n(scanner, 1, PJ_TRUE); + break; + } else { + pj_scan_advance_n(scanner, 1, PJ_FALSE); + } + } + return xml_parse_node(pool, scanner); + } + + /* Alloc node. */ + node = alloc_node(pool); + + /* Get '<' */ + pj_scan_get_char(scanner); + + /* Get node name. */ + pj_scan_get_until_chr( scanner, " />\t\r\n", &node->name); + + /* Get attributes. */ + while (*scanner->curptr != '>' && *scanner->curptr != '/') { + pj_xml_attr *attr = alloc_attr(pool); + + pj_scan_get_until_chr( scanner, "=> \t\r\n", &attr->name); + if (*scanner->curptr == '=') { + pj_scan_get_char( scanner ); + pj_scan_get_quotes(scanner, "\"'", "\"'", 2, &attr->value); + /* remove quote characters */ + ++attr->value.ptr; + attr->value.slen -= 2; + } + + pj_list_push_back( &node->attr_head, attr ); + } + + if (*scanner->curptr == '/') { + pj_scan_get_char(scanner); + if (pj_scan_get_char(scanner) != '>') + on_syntax_error(scanner); + return node; + } + + /* Enclosing bracket. */ + if (pj_scan_get_char(scanner) != '>') + on_syntax_error(scanner); + + /* Sub nodes. */ + while (*scanner->curptr == '<' && *(scanner->curptr+1) != '/') { + pj_xml_node *sub_node = xml_parse_node(pool, scanner); + pj_list_push_back( &node->node_head, sub_node ); + } + + /* Content. */ + if (!pj_scan_is_eof(scanner) && *scanner->curptr != '<') { + pj_scan_get_until_ch(scanner, '<', &node->content); + } + + /* Enclosing node. */ + if (pj_scan_get_char(scanner) != '<' || pj_scan_get_char(scanner) != '/') + on_syntax_error(scanner); + + pj_scan_get_until_chr(scanner, " \t>", &end_name); + + /* Compare name. */ + if (pj_stricmp(&node->name, &end_name) != 0) + on_syntax_error(scanner); + + /* Enclosing '>' */ + if (pj_scan_get_char(scanner) != '>') + on_syntax_error(scanner); + + return node; +} + +PJ_DEF(pj_xml_node*) pj_xml_parse( pj_pool_t *pool, char *msg, pj_size_t len) +{ + pj_xml_node *node = NULL; + pj_scanner scanner; + PJ_USE_EXCEPTION; + + if (!msg || !len || !pool) + return NULL; + + pj_scan_init( &scanner, msg, len, + PJ_SCAN_AUTOSKIP_WS|PJ_SCAN_AUTOSKIP_NEWLINE, + &on_syntax_error); + PJ_TRY { + node = xml_parse_node(pool, &scanner); + } + PJ_CATCH_ANY { + PJ_LOG(4,(THIS_FILE, "Syntax error parsing XML in line %d column %d", + scanner.line, pj_scan_get_col(&scanner))); + } + PJ_END; + pj_scan_fini( &scanner ); + return node; +} + +/* This is a recursive function. */ +static int xml_print_node( const pj_xml_node *node, int indent, + char *buf, pj_size_t len ) +{ + int i; + char *p = buf; + pj_xml_attr *attr; + pj_xml_node *sub_node; + +#define SIZE_LEFT() ((int)(len - (p-buf))) + + PJ_CHECK_STACK(); + + /* Print name. */ + if (SIZE_LEFT() < node->name.slen + indent + 5) + return -1; + for (i=0; iname.ptr, node->name.slen); + p += node->name.slen; + + /* Print attributes. */ + attr = node->attr_head.next; + while (attr != &node->attr_head) { + + if (SIZE_LEFT() < attr->name.slen + attr->value.slen + 4) + return -1; + + *p++ = ' '; + + /* Attribute name. */ + pj_memcpy(p, attr->name.ptr, attr->name.slen); + p += attr->name.slen; + + /* Attribute value. */ + if (attr->value.slen) { + *p++ = '='; + *p++ = '"'; + pj_memcpy(p, attr->value.ptr, attr->value.slen); + p += attr->value.slen; + *p++ = '"'; + } + + attr = attr->next; + } + + /* Check for empty node. */ + if (node->content.slen==0 && + node->node_head.next==(pj_xml_node*)&node->node_head) + { + *p++ = ' '; + *p++ = '/'; + *p++ = '>'; + return (int)(p-buf); + } + + /* Enclosing '>' */ + if (SIZE_LEFT() < 1) return -1; + *p++ = '>'; + + /* Print sub nodes. */ + sub_node = node->node_head.next; + while (sub_node != (pj_xml_node*)&node->node_head) { + int printed; + + if (SIZE_LEFT() < indent + 3) + return -1; + //*p++ = '\r'; + *p++ = '\n'; + + printed = xml_print_node(sub_node, indent + 1, p, SIZE_LEFT()); + if (printed < 0) + return -1; + + p += printed; + sub_node = sub_node->next; + } + + /* Content. */ + if (node->content.slen) { + if (SIZE_LEFT() < node->content.slen) return -1; + pj_memcpy(p, node->content.ptr, node->content.slen); + p += node->content.slen; + } + + /* Enclosing node. */ + if (node->node_head.next != (pj_xml_node*)&node->node_head) { + if (SIZE_LEFT() < node->name.slen + 5 + indent) + return -1; + //*p++ = '\r'; + *p++ = '\n'; + for (i=0; iname.slen + 3) + return -1; + } + *p++ = '<'; + *p++ = '/'; + pj_memcpy(p, node->name.ptr, node->name.slen); + p += node->name.slen; + *p++ = '>'; + +#undef SIZE_LEFT + + return (int)(p-buf); +} + +PJ_DEF(int) pj_xml_print(const pj_xml_node *node, char *buf, pj_size_t len, + pj_bool_t include_prolog) +{ + int prolog_len = 0; + int printed; + + if (!node || !buf || !len) + return 0; + + if (include_prolog) { + pj_str_t prolog = {"\n", 39}; + if ((int)len < prolog.slen) + return -1; + pj_memcpy(buf, prolog.ptr, prolog.slen); + prolog_len = (int)prolog.slen; + } + + printed = xml_print_node(node, 0, buf+prolog_len, len-prolog_len) + prolog_len; + if (printed > 0 && len-printed >= 1) { + buf[printed++] = '\n'; + } + return printed; +} + +PJ_DEF(pj_xml_node*) pj_xml_node_new(pj_pool_t *pool, const pj_str_t *name) +{ + pj_xml_node *node = alloc_node(pool); + pj_strdup(pool, &node->name, name); + return node; +} + +PJ_DEF(pj_xml_attr*) pj_xml_attr_new( pj_pool_t *pool, const pj_str_t *name, + const pj_str_t *value) +{ + pj_xml_attr *attr = alloc_attr(pool); + pj_strdup( pool, &attr->name, name); + pj_strdup( pool, &attr->value, value); + return attr; +} + +PJ_DEF(void) pj_xml_add_node( pj_xml_node *parent, pj_xml_node *node ) +{ + pj_list_push_back(&parent->node_head, node); +} + +PJ_DEF(void) pj_xml_add_attr( pj_xml_node *node, pj_xml_attr *attr ) +{ + pj_list_push_back(&node->attr_head, attr); +} + +PJ_DEF(pj_xml_node*) pj_xml_find_node(const pj_xml_node *parent, + const pj_str_t *name) +{ + const pj_xml_node *node = parent->node_head.next; + + PJ_CHECK_STACK(); + + while (node != (void*)&parent->node_head) { + if (pj_stricmp(&node->name, name) == 0) + return (pj_xml_node*)node; + node = node->next; + } + return NULL; +} + +PJ_DEF(pj_xml_node*) pj_xml_find_node_rec(const pj_xml_node *parent, + const pj_str_t *name) +{ + const pj_xml_node *node = parent->node_head.next; + + PJ_CHECK_STACK(); + + while (node != (void*)&parent->node_head) { + pj_xml_node *found; + if (pj_stricmp(&node->name, name) == 0) + return (pj_xml_node*)node; + found = pj_xml_find_node_rec(node, name); + if (found) + return (pj_xml_node*)found; + node = node->next; + } + return NULL; +} + +PJ_DEF(pj_xml_node*) pj_xml_find_next_node( const pj_xml_node *parent, + const pj_xml_node *node, + const pj_str_t *name) +{ + PJ_CHECK_STACK(); + + node = node->next; + while (node != (void*)&parent->node_head) { + if (pj_stricmp(&node->name, name) == 0) + return (pj_xml_node*)node; + node = node->next; + } + return NULL; +} + + +PJ_DEF(pj_xml_attr*) pj_xml_find_attr( const pj_xml_node *node, + const pj_str_t *name, + const pj_str_t *value) +{ + const pj_xml_attr *attr = node->attr_head.next; + while (attr != (void*)&node->attr_head) { + if (pj_stricmp(&attr->name, name)==0) { + if (value) { + if (pj_stricmp(&attr->value, value)==0) + return (pj_xml_attr*)attr; + } else { + return (pj_xml_attr*)attr; + } + } + attr = attr->next; + } + return NULL; +} + + + +PJ_DEF(pj_xml_node*) pj_xml_find( const pj_xml_node *parent, + const pj_str_t *name, + const void *data, + pj_bool_t (*match)(const pj_xml_node *, + const void*)) +{ + const pj_xml_node *node = (const pj_xml_node *)parent->node_head.next; + + if (!name && !match) + return NULL; + + while (node != (const pj_xml_node*) &parent->node_head) { + if (name) { + if (pj_stricmp(&node->name, name)!=0) { + node = node->next; + continue; + } + } + if (match) { + if (match(node, data)) + return (pj_xml_node*)node; + } else { + return (pj_xml_node*)node; + } + + node = node->next; + } + return NULL; +} + +PJ_DEF(pj_xml_node*) pj_xml_find_rec( const pj_xml_node *parent, + const pj_str_t *name, + const void *data, + pj_bool_t (*match)(const pj_xml_node*, + const void*)) +{ + const pj_xml_node *node = (const pj_xml_node *)parent->node_head.next; + + if (!name && !match) + return NULL; + + while (node != (const pj_xml_node*) &parent->node_head) { + pj_xml_node *found; + + if (name) { + if (pj_stricmp(&node->name, name)==0) { + if (match) { + if (match(node, data)) + return (pj_xml_node*)node; + } else { + return (pj_xml_node*)node; + } + } + + } else if (match) { + if (match(node, data)) + return (pj_xml_node*)node; + } + + found = pj_xml_find_rec(node, name, data, match); + if (found) + return found; + + node = node->next; + } + return NULL; +} + +PJ_DEF(pj_xml_node*) pj_xml_clone( pj_pool_t *pool, const pj_xml_node *rhs) +{ + pj_xml_node *node; + const pj_xml_attr *r_attr; + const pj_xml_node *child; + + node = alloc_node(pool); + + pj_strdup(pool, &node->name, &rhs->name); + pj_strdup(pool, &node->content, &rhs->content); + + /* Clone all attributes */ + r_attr = rhs->attr_head.next; + while (r_attr != &rhs->attr_head) { + + pj_xml_attr *attr; + + attr = alloc_attr(pool); + pj_strdup(pool, &attr->name, &r_attr->name); + pj_strdup(pool, &attr->value, &r_attr->value); + + pj_list_push_back(&node->attr_head, attr); + + r_attr = r_attr->next; + } + + /* Clone all child nodes. */ + child = rhs->node_head.next; + while (child != (pj_xml_node*) &rhs->node_head) { + pj_xml_node *new_child; + + new_child = pj_xml_clone(pool, child); + pj_list_push_back(&node->node_head, new_child); + + child = child->next; + } + + return node; +} diff --git a/pjlib-util/src/pjlib-util/xml_wrap.cpp b/pjlib-util/src/pjlib-util/xml_wrap.cpp new file mode 100644 index 0000000..1478542 --- /dev/null +++ b/pjlib-util/src/pjlib-util/xml_wrap.cpp @@ -0,0 +1,24 @@ +/* $Id: xml_wrap.cpp 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * This file is a C++ wrapper, see ticket #886 for details. + */ + +#include "xml.c" diff --git a/pjlib/build/Makefile b/pjlib/build/Makefile new file mode 100644 index 0000000..1e64950 --- /dev/null +++ b/pjlib/build/Makefile @@ -0,0 +1,138 @@ +include ../../build.mak +include ../../version.mak +include $(PJDIR)/build/common.mak + +export LIBDIR := ../lib +export BINDIR := ../bin + +RULES_MAK := $(PJDIR)/build/rules.mak + +export PJLIB_LIB := libpj-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export PJLIB_SONAME := libpj.$(SHLIB_SUFFIX) +export PJLIB_SHLIB := $(PJLIB_SONAME).$(PJ_VERSION_MAJOR) +endif + +############################################################################### +# Gather all flags. +# +export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ + $(CFLAGS) $(CC_INC)../include +export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ + $(HOST_CXXFLAGS) $(CXXFLAGS) +export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ + $(APP_LDFLAGS) $(LDFLAGS) + + +############################################################################### +# Defines for building PJLIB library +# +export PJLIB_SRCDIR = ../src/pj +export PJLIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + activesock.o array.o config.o ctype.o errno.o except.o fifobuf.o \ + guid.o hash.o ip_helper_generic.o list.o lock.o log.o os_time_common.o \ + os_info.o pool.o pool_buf.o pool_caching.o pool_dbg.o rand.o \ + rbtree.o sock_common.o sock_qos_common.o sock_qos_bsd.o \ + ssl_sock_common.o ssl_sock_ossl.o ssl_sock_dump.o \ + string.o timer.o types.o +export PJLIB_CFLAGS += $(_CFLAGS) +export PJLIB_CXXFLAGS += $(_CXXFLAGS) +export PJLIB_LDFLAGS += $(_LDFLAGS) + +############################################################################### +# Defines for building test application +# +export TEST_SRCDIR = ../src/pjlib-test +export TEST_OBJS += activesock.o atomic.o echo_clt.o errno.o exception.o \ + fifobuf.o file.o hash_test.o ioq_perf.o ioq_udp.o \ + ioq_unreg.o ioq_tcp.o \ + list.o mutex.o os.o pool.o pool_perf.o rand.o rbtree.o \ + select.o sleep.o sock.o sock_perf.o ssl_sock.o \ + string.o test.o thread.o timer.o timestamp.o \ + udp_echo_srv_sync.o udp_echo_srv_ioqueue.o \ + util.o +export TEST_CFLAGS += $(_CFLAGS) +export TEST_CXXFLAGS += $(_CXXFLAGS) +export TEST_LDFLAGS += $(PJLIB_LDLIB) $(_LDFLAGS) +export TEST_EXE := pjlib-test-$(TARGET_NAME)$(HOST_EXE) + + +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. +# + +all: $(TARGETS) $(TARGETS_EXE) + +lib: $(TARGETS) + +doc: + cd .. && rm -rf docs/$(PJ_VERSION) && doxygen docs/doxygen.cfg + @if [ -n "$(WWWDIR)" ] && ! [ -d "$(WWWDIR)/docs/$(PJ_VERSION)/pjlib/docs/html" ] ; then \ + echo "Creating docs/$(PJ_VERSION)/pjlib/docs/html" ; \ + mkdir -p $(WWWDIR)/docs/$(PJ_VERSION)/pjlib/docs/html ; \ + fi + @if [ -n "$(WWWDIR)" ] && [ -d "$(WWWDIR)/docs/$(PJ_VERSION)/pjlib/docs/html" ] ; then \ + echo "Copying docs/$(PJ_VERSION) to $(WWWDIR)/docs/$(PJ_VERSION)/pjlib/docs/html.." ; \ + cp -v -a ../docs/$(PJ_VERSION)/html/* $(WWWDIR)/docs/$(PJ_VERSION)/pjlib/docs/html/ ; \ + fi +print: + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib print_lib + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test print_bin + +depend: ../include/pj/config_site.h + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib depend + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test depend + echo '$(BINDIR)/$(TEST_EXE): $(LIBDIR)/$(PJLIB_LIB)' >> .pjlib-test-$(TARGET_NAME).depend + + +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(PJLIB_LIB) $(PJLIB_SONAME) +.PHONY: $(TEST_EXE) + +dep: depend + +pjlib: $(PJLIB_LIB) +$(PJLIB_LIB): ../include/pj/config_site.h + +$(PJLIB_SONAME): $(PJLIB_LIB) +$(PJLIB_LIB) $(PJLIB_SONAME): + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +../include/pj/config_site.h: + touch ../include/pj/config_site.h + +pjlib-test: $(TEST_EXE) +$(TEST_EXE): $(PJLIB_LIB) $(PJLIB_SONAME) + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $(subst /,$(HOST_PSEP),$(BINDIR)/$@) + +.PHONY: pjlib.ko +pjlib.ko: + echo Making $@ + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +.PHONY: pjlib-test.ko +pjlib-test.ko: + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +clean: + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib clean + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test clean + +realclean: + $(subst @@,$(subst /,$(HOST_PSEP),.pjlib-$(TARGET_NAME).depend),$(HOST_RMR)) + $(subst @@,$(subst /,$(HOST_PSEP),.pjlib-test-$(TARGET_NAME).depend),$(HOST_RMR)) + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib realclean + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test realclean + +distclean: realclean + +gcov-report: + $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib gcov-report + $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test gcov-report + diff --git a/pjlib/build/cacert.pem b/pjlib/build/cacert.pem new file mode 100644 index 0000000..cfce092 --- /dev/null +++ b/pjlib/build/cacert.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICNDCCAZ2gAwIBAgIJAIa9mZggMk2WMA0GCSqGSIb3DQEBBAUAMDMxEjAQBgNV +BAMTCXBqc2lwLmxhYjEdMBsGCSqGSIb3DQEJARYOdGVzdEBwanNpcC5sYWIwHhcN +MTAwMjEwMDkwNTQ0WhcNMjAwMjA4MDkwNTQ0WjAzMRIwEAYDVQQDEwlwanNpcC5s +YWIxHTAbBgkqhkiG9w0BCQEWDnRlc3RAcGpzaXAubGFiMIGfMA0GCSqGSIb3DQEB +AQUAA4GNADCBiQKBgQDI9T0Pf+1gKOTOAGEpZ481Q6xfm5vz6n1+6udxzQtfPKlQ +rPD5x5im2u3tmy6ABxZeY5tCdeikBPiGlc5bRIRng6KM8kidkg3gEhwhRUxHCMWb +mBpkz7rFERf/pWAOCqYCiy1RT8QrK+XOFoFdJhdF85UPDEUw+pHEsYetTDs9RQID +AQABo1AwTjBMBgNVHREERTBDgglwanNpcC5sYWKCDXNpcC5wanNpcC5sYWKBDnRl +c3RAcGpzaXAubGFihhFzaXA6c2lwLnBqc2lwLmxhYocEfwAAATANBgkqhkiG9w0B +AQQFAAOBgQCLPl/WF1QvjT36kVLH0nxfHwDOJuAzlh6nv9rYBviOLw9FTEMgW6hA +oG55YSdVjTnMynTMOH/kVp4Vxlk46A8neE+/LI8RPh6lJh52vb+iPAtBpsQoq06T ++u4DfJcN8Y/jy+QAn78jryKjwKuZWfuWny9gxsLWMUbH5Bc6v6wfQQ== +-----END CERTIFICATE----- diff --git a/pjlib/build/os-auto.mak.in b/pjlib/build/os-auto.mak.in new file mode 100644 index 0000000..478cc80 --- /dev/null +++ b/pjlib/build/os-auto.mak.in @@ -0,0 +1,36 @@ +# @configure_input@ + +# Determine OS specific files +AC_OS_OBJS=@ac_os_objs@ + +# +# PJLIB_OBJS specified here are object files to be included in PJLIB +# (the library) for this specific operating system. Object files common +# to all operating systems should go in Makefile instead. +# +export PJLIB_OBJS += $(AC_OS_OBJS) \ + addr_resolv_sock.o \ + log_writer_stdout.o \ + os_timestamp_common.o \ + pool_policy_malloc.o sock_bsd.o sock_select.o + +# +# TEST_OBJS are operating system specific object files to be included in +# the test application. +# +export TEST_OBJS += @ac_main_obj@ + +# +# Additional LDFLAGS for pjlib-test +# +# Disabled, as this causes duplicated LDFLAGS, which may raise linking errors +#export TEST_LDFLAGS += @LDFLAGS@ @LIBS@ + +# +# TARGETS are make targets in the Makefile, to be executed for this given +# operating system. +# +export TARGETS = $(PJLIB_LIB) $(PJLIB_SONAME) +export TARGETS_EXE = $(TEST_EXE) + + diff --git a/pjlib/build/os-darwinos.mak b/pjlib/build/os-darwinos.mak new file mode 100644 index 0000000..a0d99e7 --- /dev/null +++ b/pjlib/build/os-darwinos.mak @@ -0,0 +1,37 @@ +# +# PJLIB OS specific configuration for Darwin/MacOSX target. +# + +# +# PJLIB_OBJS specified here are object files to be included in PJLIB +# (the library) for this specific operating system. Object files common +# to all operating systems should go in Makefile instead. +# +export PJLIB_OBJS += addr_resolv_sock.o guid_simple.o \ + log_writer_stdout.o os_core_unix.o \ + os_error_unix.o os_time_unix.o \ + os_timestamp_common.o os_timestamp_posix.o \ + pool_policy_malloc.o sock_bsd.o sock_select.o + +export PJLIB_OBJS += ioqueue_select.o +#export PJLIB_OBJS += ioqueue_epoll.o + +export PJLIB_OBJS += file_access_unistd.o file_io_ansi.o + +# +# TEST_OBJS are operating system specific object files to be included in +# the test application. +# +export TEST_OBJS += main.o + +# +# Additional LDFLAGS for pjlib-test +# +export TEST_LDFLAGS += -lm + +# +# TARGETS are make targets in the Makefile, to be executed for this given +# operating system. +# +export TARGETS = $(PJLIB_LIB) $(PJLIB_SONAME) $(TEST_EXE) + diff --git a/pjlib/build/os-linux-kernel.mak b/pjlib/build/os-linux-kernel.mak new file mode 100644 index 0000000..28cfbc7 --- /dev/null +++ b/pjlib/build/os-linux-kernel.mak @@ -0,0 +1,47 @@ +# +# OS specific configuration for Linux Kernel module target. +# + +# +# PJLIB_OBJS specified here are object files to be included in PJLIB +# (the library) for this specific operating system. Object files common +# to all operating systems should go in Makefile instead. +# +export PJLIB_OBJS += compat/sigjmp.o compat/setjmp_i386.o \ + compat/longjmp_i386.o compat/string.o \ + addr_resolv_linux_kernel.o \ + guid_simple.o \ + log_writer_printk.o pool_policy_kmalloc.o \ + os_error_linux_kernel.o os_core_linux_kernel.o \ + os_time_linux_kernel.o os_timestamp_common.o \ + os_timestamp_linux_kernel.o \ + sock_linux_kernel.o sock_select.o + +# For IOQueue, we can use either epoll or select +export PJLIB_OBJS += ioqueue_epoll.o +#export PJLIB_OBJS += ioqueue_select.o + +# +# TEST_OBJS are operating system specific object files to be included in +# the test application. +# +export TEST_OBJS += main_mod.o + +# +# Additional CFLAGS +# +export TEST_CFLAGS += -msoft-float + +# +# Additional LD_FLAGS for this target. +# +export TEST_LDFLAGS += -lgcc + + +# +# TARGETS are make targets in the Makefile, to be executed for this given +# operating system. +# +export TARGETS := pjlib.ko pjlib-test.ko + + diff --git a/pjlib/build/os-linux.mak b/pjlib/build/os-linux.mak new file mode 100644 index 0000000..78123ef --- /dev/null +++ b/pjlib/build/os-linux.mak @@ -0,0 +1,39 @@ +# +# OS specific configuration for Linux OS target. +# + +# +# PJLIB_OBJS specified here are object files to be included in PJLIB +# (the library) for this specific operating system. Object files common +# to all operating systems should go in Makefile instead. +# +export PJLIB_OBJS += addr_resolv_sock.o file_access_unistd.o \ + file_io_ansi.o guid_simple.o \ + log_writer_stdout.o os_core_unix.o \ + os_error_unix.o os_time_unix.o \ + os_timestamp_common.o os_timestamp_posix.o \ + pool_policy_malloc.o sock_bsd.o sock_select.o + +ifeq (epoll,$(LINUX_POLL)) +export PJLIB_OBJS += ioqueue_epoll.o +else +export PJLIB_OBJS += ioqueue_select.o +endif + +# +# TEST_OBJS are operating system specific object files to be included in +# the test application. +# +export TEST_OBJS += main.o + +# +# Additional LDFLAGS for pjlib-test +# +export TEST_LDFLAGS += -lm + +# +# TARGETS are make targets in the Makefile, to be executed for this given +# operating system. +# +export TARGETS = $(PJLIB_LIB) $(PJLIB_SONAME) $(TEST_EXE) + diff --git a/pjlib/build/os-rtems.mak b/pjlib/build/os-rtems.mak new file mode 100644 index 0000000..30a81f9 --- /dev/null +++ b/pjlib/build/os-rtems.mak @@ -0,0 +1,46 @@ +# +# PJLIB OS specific configuration for RTEMS +# +# Thanks Zetron, Inc. and Phil Torre for donating PJLIB +# port to RTEMS. +# + +# +# PJLIB_OBJS specified here are object files to be included in PJLIB +# (the library) for this specific operating system. Object files common +# to all operating systems should go in Makefile instead. +# +export PJLIB_OBJS += addr_resolv_sock.o guid_simple.o \ + log_writer_stdout.o os_core_unix.o \ + os_error_unix.o os_time_unix.o \ + os_timestamp_common.o os_timestamp_posix.o \ + pool_policy_malloc.o sock_bsd.o sock_select.o + +export PJLIB_OBJS += ioqueue_select.o +export PJLIB_OBJS += file_access_unistd.o file_io_ansi.o + +# +# TEST_OBJS are operating system specific object files to be included in +# the test application. +# +export TEST_OBJS += main_rtems.o + +# +# RTEMS_LIBRARY_PATH points to the installed RTEMS libraries for the +# desired target. pjlib-test can't link without this. +# +export RTEMS_LIBRARY_PATH := $(RTEMS_LIBRARY_PATH) + +# +# Additional LDFLAGS for pjlib-test +# +export TEST_LDFLAGS += + +# +# TARGETS are make targets in the Makefile, to be executed for this given +# operating system. +# +export TARGETS = $(PJLIB_LIB) $(TEST_EXE) + + + diff --git a/pjlib/build/os-sunos.mak b/pjlib/build/os-sunos.mak new file mode 100644 index 0000000..7aa658d --- /dev/null +++ b/pjlib/build/os-sunos.mak @@ -0,0 +1,36 @@ +# +# PJLIB OS specific configuration for SunOS target. +# + +# +# PJLIB_OBJS specified here are object files to be included in PJLIB +# (the library) for this specific operating system. Object files common +# to all operating systems should go in Makefile instead. +# +export PJLIB_OBJS += addr_resolv_sock.o file_access_unistd.o \ + file_io_ansi.o guid_simple.o \ + log_writer_stdout.o os_core_unix.o \ + os_error_unix.o os_time_unix.o \ + os_timestamp_common.o os_timestamp_posix.o \ + pool_policy_malloc.o sock_bsd.o sock_select.o + +export PJLIB_OBJS += ioqueue_select.o +#export PJLIB_OBJS += ioqueue_epoll.o + +# +# TEST_OBJS are operating system specific object files to be included in +# the test application. +# +export TEST_OBJS += main.o + +# +# Additional LDFLAGS for pjlib-test +# +export TEST_LDFLAGS += -lm + +# +# TARGETS are make targets in the Makefile, to be executed for this given +# operating system. +# +export TARGETS = $(PJLIB_LIB) $(PJLIB_SONAME) $(TEST_EXE) + diff --git a/pjlib/build/os-win32.mak b/pjlib/build/os-win32.mak new file mode 100644 index 0000000..5be3c8e --- /dev/null +++ b/pjlib/build/os-win32.mak @@ -0,0 +1,33 @@ +# +# OS specific configuration for Win32 OS target. +# + +# +# PJLIB_OBJS specified here are object files to be included in PJLIB +# (the library) for this specific operating system. Object files common +# to all operating systems should go in Makefile instead. +# +export PJLIB_OBJS += addr_resolv_sock.o guid_win32.o \ + log_writer_stdout.o os_core_win32.o \ + os_error_win32.o os_time_bsd.o os_timestamp_common.o \ + os_timestamp_win32.o \ + pool_policy_malloc.o sock_bsd.o sock_select.o + +#export PJLIB_OBJS += ioqueue_winnt.o +export PJLIB_OBJS += ioqueue_select.o + +export PJLIB_OBJS += file_io_win32.o file_access_win32.o +#export PJLIB_OBJS += file_io_ansi.o + +# +# TEST_OBJS are operating system specific object files to be included in +# the test application. +# +export TEST_OBJS += main.o + +# +# TARGETS are make targets in the Makefile, to be executed for this given +# operating system. +# +export TARGETS = $(PJLIB_LIB) $(TEST_EXE) + diff --git a/pjlib/build/pjlib.vcproj b/pjlib/build/pjlib.vcproj new file mode 100644 index 0000000..cfa2237 --- /dev/null +++ b/pjlib/build/pjlib.vcproj @@ -0,0 +1,15176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pjlib/build/pjlib_samples.mak b/pjlib/build/pjlib_samples.mak new file mode 100644 index 0000000..9425d14 --- /dev/null +++ b/pjlib/build/pjlib_samples.mak @@ -0,0 +1,36 @@ + +OUTDIR=.\output\pjlib-samples-i386-win32-$(VC)-$(MODE) + +SRCDIR=../src/pjlib-samples + +SAMPLES=$(OUTDIR)/except.exe \ + $(OUTDIR)/log.exe \ + $(OUTDIR)/list.exe \ + +!IF "$(MODE)" == "debug" +MODE_CFLAGS=/MTd +!ELSE +MODE_CFLAGS=/MT +!ENDIF + +CFLAGS=/nologo /W4 $(MODE_CFLAGS) /DPJ_WIN32=1 /DPJ_M_I386=1 /I../include + +PJLIB=../lib/pjlib-i386-win32-$(VC)-$(MODE).lib + +DEPEND=$(PJLIB) +LIBS=netapi32.lib mswsock.lib ws2_32.lib ole32.lib advapi32.lib +CL=cl.exe + +all: "$(OUTDIR)" $(SAMPLES) + +$(SAMPLES): "$(SRCDIR)/$(@B).c" $(DEPEND) + $(CL) /Fe$@ \ + /Fo$(@R).obj \ + $(CFLAGS) \ + $** $(LIBS) + +"$(OUTDIR)" : + @IF NOT EXIST "$(OUTDIR)" MKDIR "$(OUTDIR)" + +clean : + @IF EXIST "$(OUTDIR)" DEL /Q "$(OUTDIR)\*.*" && RMDIR "$(OUTDIR)" diff --git a/pjlib/build/pjlib_test.vcproj b/pjlib/build/pjlib_test.vcproj new file mode 100644 index 0000000..b23d7c9 --- /dev/null +++ b/pjlib/build/pjlib_test.vcproj @@ -0,0 +1,7467 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pjlib/build/privkey.pem b/pjlib/build/privkey.pem new file mode 100644 index 0000000..44c4b4e --- /dev/null +++ b/pjlib/build/privkey.pem @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDI9T0Pf+1gKOTOAGEpZ481Q6xfm5vz6n1+6udxzQtfPKlQrPD5 +x5im2u3tmy6ABxZeY5tCdeikBPiGlc5bRIRng6KM8kidkg3gEhwhRUxHCMWbmBpk +z7rFERf/pWAOCqYCiy1RT8QrK+XOFoFdJhdF85UPDEUw+pHEsYetTDs9RQIDAQAB +AoGAGV+1xQY/H7wqH8S2f/begzg3RJ8uUt8R13urm5frTqwnKNOdXbyRDshn8G9+ +sJW0gliLWxnuNP+Xrc6ujqGZIguK/yAxJ3LprAN2Ay1lW2ONyZNMquBeIY5Txhyy +SnU7U+NQYgA3+w9T7O7YQ575TTDm2gri558jIx8t55Wo9sUCQQDtjfGZ3sYXwpxR +MvtdtfwDxSKhf6glT6dn7/37KITBZXFy6Eb/tHrEEUuwR46g30vTd2JElCB+QExu +4sZDt813AkEA2I/WXdGVRXtHzVivf3AnqWyXfrfAAXlBmEkgPyIPwE1+mxeNxkU7 +TRn0MOqAfbQW4+GRIYCKSBLodRnRq2iKIwJBAJLYa8DyNQH7CyYmnbwQAvlRo1ax +0v89ff6CHD5ljar/SmH9s+XdawZIqsENet13KyhNZDGAX5WrqZPiGy1BMYECQQC1 +FREawfUfdEZF3rJgzVdcxACpZNyYXtwKipr8L28cTbBf3wIdmCZOAjW98VgfxEaf +pi3E5ca7HZRi1oQL4A4hAkEA5koHCQYl+5PDjbLtxl0VyVCpmT9BrcZ99MS+ZEaW +2+HpKIhXrEFxePQaWbCaW7gjKmKUwC0qqu0moedqJC3mzg== +-----END RSA PRIVATE KEY----- diff --git a/pjlib/build/wince-evc4/pjlib_test_wince.vcp b/pjlib/build/wince-evc4/pjlib_test_wince.vcp new file mode 100644 index 0000000..fc36ce6 --- /dev/null +++ b/pjlib/build/wince-evc4/pjlib_test_wince.vcp @@ -0,0 +1,39723 @@ +# Microsoft eMbedded Visual Tools Project File - Name="pjlib_test_wince" - Package Owner=<4> +# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (WCE MIPSIV_FP) Application" 0x9201 +# TARGTYPE "Win32 (WCE x86) Application" 0x8301 +# TARGTYPE "Win32 (WCE ARMV4) Application" 0xa301 +# TARGTYPE "Win32 (WCE MIPS16) Application" 0x8901 +# TARGTYPE "Win32 (WCE SH3) Application" 0x8101 +# TARGTYPE "Win32 (WCE ARMV4I) Application" 0xa501 +# TARGTYPE "Win32 (WCE SH4) Application" 0x8601 +# TARGTYPE "Win32 (WCE MIPSII_FP) Application" 0xa201 +# TARGTYPE "Win32 (WCE emulator) Application" 0xa601 +# TARGTYPE "Win32 (WCE MIPSIV) Application" 0x9601 +# TARGTYPE "Win32 (WCE ARMV4T) Application" 0xa401 +# TARGTYPE "Win32 (WCE MIPSII) Application" 0xa101 + +CFG=pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "pjlib_test_wince.vcn". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "pjlib_test_wince.vcn" CFG="pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" (based on "Win32 (WCE MIPSII_FP) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" (based on "Win32 (WCE MIPSII_FP) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE MIPSII) Release" (based on "Win32 (WCE MIPSII) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE MIPSII) Debug" (based on "Win32 (WCE MIPSII) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE SH4) Release" (based on "Win32 (WCE SH4) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE SH4) Debug" (based on "Win32 (WCE SH4) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE SH3) Release" (based on "Win32 (WCE SH3) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE SH3) Debug" (based on "Win32 (WCE SH3) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE MIPSIV) Release" (based on "Win32 (WCE MIPSIV) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" (based on "Win32 (WCE MIPSIV) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE emulator) Release" (based on "Win32 (WCE emulator) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE emulator) Debug" (based on "Win32 (WCE emulator) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE ARMV4I) Release" (based on "Win32 (WCE ARMV4I) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" (based on "Win32 (WCE ARMV4I) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" (based on "Win32 (WCE MIPSIV_FP) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" (based on "Win32 (WCE MIPSIV_FP) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE ARMV4) Release" (based on "Win32 (WCE ARMV4) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE ARMV4) Debug" (based on "Win32 (WCE ARMV4) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE MIPS16) Release" (based on "Win32 (WCE MIPS16) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE MIPS16) Debug" (based on "Win32 (WCE MIPS16) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE ARMV4T) Release" (based on "Win32 (WCE ARMV4T) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" (based on "Win32 (WCE ARMV4T) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Application") +!MESSAGE "pjlib_test_wince - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +# PROP ATL_Project 2 + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_test_MIPSII_FPRel" +# PROP BASE Intermediate_Dir "./output/pjlib_test_MIPSII_FPRel" +# PROP BASE CPU_ID "{D8AC856C-B213-4895-9E83-9EC51A55201E}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_test_MIPSII_FPRel" +# PROP Intermediate_Dir "./output/pjlib_test_MIPSII_FPRel" +# PROP CPU_ID "{D8AC856C-B213-4895-9E83-9EC51A55201E}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPSII_FP" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPSII_FP" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPSII_FP" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QMmips2 /QMFPE- /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPSII_FP" /D "NDEBUG" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips2 /QMFPE- /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_test_MIPSII_FPDbg" +# PROP BASE Intermediate_Dir "./output/pjlib_test_MIPSII_FPDbg" +# PROP BASE CPU_ID "{D8AC856C-B213-4895-9E83-9EC51A55201E}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_test_MIPSII_FPDbg" +# PROP Intermediate_Dir "./output/pjlib_test_MIPSII_FPDbg" +# PROP CPU_ID "{D8AC856C-B213-4895-9E83-9EC51A55201E}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPSII_FP" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPSII_FP" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPSII_FP" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips2 /QMFPE- /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPSII_FP" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips2 /QMFPE- /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_test_MIPSIIRel" +# PROP BASE Intermediate_Dir "./output/pjlib_test_MIPSIIRel" +# PROP BASE CPU_ID "{689DDC64-9D9D-11D5-96F8-00207802C01C}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_test_MIPSIIRel" +# PROP Intermediate_Dir "./output/pjlib_test_MIPSIIRel" +# PROP CPU_ID "{689DDC64-9D9D-11D5-96F8-00207802C01C}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QMmips2 /QMFPE /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "NDEBUG" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips2 /QMFPE /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_test_MIPSIIDbg" +# PROP BASE Intermediate_Dir "./output/pjlib_test_MIPSIIDbg" +# PROP BASE CPU_ID "{689DDC64-9D9D-11D5-96F8-00207802C01C}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_test_MIPSIIDbg" +# PROP Intermediate_Dir "./output/pjlib_test_MIPSIIDbg" +# PROP CPU_ID "{689DDC64-9D9D-11D5-96F8-00207802C01C}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips2 /QMFPE /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips2 /QMFPE /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_test_SH4Rel" +# PROP BASE Intermediate_Dir "./output/pjlib_test_SH4Rel" +# PROP BASE CPU_ID "{D6519021-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_test_SH4Rel" +# PROP Intermediate_Dir "./output/pjlib_test_SH4Rel" +# PROP CPU_ID "{D6519021-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "SHx" /d "SH4" /d "_SH4_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "SHx" /d "SH4" /d "_SH4_" /r +CPP=shcl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /Qsh4 /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /D "SHx" /D "SH4" /D "_SH4_" /D "NDEBUG" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /Qsh4 /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH4 +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH4 + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_test_SH4Dbg" +# PROP BASE Intermediate_Dir "./output/pjlib_test_SH4Dbg" +# PROP BASE CPU_ID "{D6519021-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_test_SH4Dbg" +# PROP Intermediate_Dir "./output/pjlib_test_SH4Dbg" +# PROP CPU_ID "{D6519021-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "SHx" /d "SH4" /d "_SH4_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "SHx" /d "SH4" /d "_SH4_" /r +CPP=shcl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /Qsh4 /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /Qsh4 /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH4 +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH4 + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_test_SH3Rel" +# PROP BASE Intermediate_Dir "./output/pjlib_test_SH3Rel" +# PROP BASE CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_test_SH3Rel" +# PROP Intermediate_Dir "./output/pjlib_test_SH3Rel" +# PROP CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r +CPP=shcl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /D "SHx" /D "SH3" /D "_SH3_" /D "NDEBUG" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3 /align:4096 +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3 /align:4096 + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_test_SH3Dbg" +# PROP BASE Intermediate_Dir "./output/pjlib_test_SH3Dbg" +# PROP BASE CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_test_SH3Dbg" +# PROP Intermediate_Dir "./output/pjlib_test_SH3Dbg" +# PROP CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r +CPP=shcl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3 /align:4096 +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3 /align:4096 + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_test_MIPSIVRel" +# PROP BASE Intermediate_Dir "./output/pjlib_test_MIPSIVRel" +# PROP BASE CPU_ID "{0B2FE524-26C5-4194-8CEF-B1582DEB5A98}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_test_MIPSIVRel" +# PROP Intermediate_Dir "./output/pjlib_test_MIPSIVRel" +# PROP CPU_ID "{0B2FE524-26C5-4194-8CEF-B1582DEB5A98}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QMmips4 /QMn32 /QMFPE /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D "NDEBUG" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips4 /QMn32 /QMFPE /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_test_MIPSIVDbg" +# PROP BASE Intermediate_Dir "./output/pjlib_test_MIPSIVDbg" +# PROP BASE CPU_ID "{0B2FE524-26C5-4194-8CEF-B1582DEB5A98}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_test_MIPSIVDbg" +# PROP Intermediate_Dir "./output/pjlib_test_MIPSIVDbg" +# PROP CPU_ID "{0B2FE524-26C5-4194-8CEF-B1582DEB5A98}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips4 /QMn32 /QMFPE /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips4 /QMn32 /QMFPE /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_test_emulatorRel" +# PROP BASE Intermediate_Dir "./output/pjlib_test_emulatorRel" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_test_emulatorRel" +# PROP Intermediate_Dir "./output/pjlib_test_emulatorRel" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /YX /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /D "_i386_" /D "i_386_" /D "_X86_" /D "x86" /D "NDEBUG" /D PJ_WIN32_WINCE=1 /D PJ_M_I386=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /Gs8192 /GF /O2 /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 +# ADD LINK32 $(CEx86Corelibc) winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_test_emulatorDbg" +# PROP BASE Intermediate_Dir "./output/pjlib_test_emulatorDbg" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_test_emulatorDbg" +# PROP Intermediate_Dir "./output/pjlib_test_emulatorDbg" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r +# ADD RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "_i386_" /D "i_386_" /D "_X86_" /D "x86" /D PJ_WIN32_WINCE=1 /D PJ_M_I386=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /FR /YX /Gs8192 /GF /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 +# ADD LINK32 $(CEx86Corelibc) winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_test_ARMV4IRel" +# PROP BASE Intermediate_Dir "./output/pjlib_test_ARMV4IRel" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_test_ARMV4IRel" +# PROP Intermediate_Dir "./output/pjlib_test_ARMV4IRel" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /D "ARM" /D "_ARM_" /D "ARMV4I" /D "NDEBUG" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_test_ARMV4IDbg" +# PROP BASE Intermediate_Dir "./output/pjlib_test_ARMV4IDbg" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_test_ARMV4IDbg" +# PROP Intermediate_Dir "./output/pjlib_test_ARMV4IDbg" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4I" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_test_MIPSIV_FPRel" +# PROP BASE Intermediate_Dir "./output/pjlib_test_MIPSIV_FPRel" +# PROP BASE CPU_ID "{046A430D-7770-48AB-89B5-24C2D300B03F}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_test_MIPSIV_FPRel" +# PROP Intermediate_Dir "./output/pjlib_test_MIPSIV_FPRel" +# PROP CPU_ID "{046A430D-7770-48AB-89B5-24C2D300B03F}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D "MIPSIV_FP" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QMmips4 /QMn32 /QMFPE- /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D "MIPSIV_FP" /D "NDEBUG" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips4 /QMn32 /QMFPE- /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_test_MIPSIV_FPDbg" +# PROP BASE Intermediate_Dir "./output/pjlib_test_MIPSIV_FPDbg" +# PROP BASE CPU_ID "{046A430D-7770-48AB-89B5-24C2D300B03F}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_test_MIPSIV_FPDbg" +# PROP Intermediate_Dir "./output/pjlib_test_MIPSIV_FPDbg" +# PROP CPU_ID "{046A430D-7770-48AB-89B5-24C2D300B03F}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D "MIPSIV_FP" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips4 /QMn32 /QMFPE- /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D "MIPSIV_FP" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips4 /QMn32 /QMFPE- /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_test_ARMV4Rel" +# PROP BASE Intermediate_Dir "./output/pjlib_test_ARMV4Rel" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_test_ARMV4Rel" +# PROP Intermediate_Dir "./output/pjlib_test_ARMV4Rel" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /D "ARM" /D "_ARM_" /D "ARMV4" /D "NDEBUG" /D PJ_WIN32_WINCE=1 /D PJ_M_ARMV4=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_test_ARMV4Dbg" +# PROP BASE Intermediate_Dir "./output/pjlib_test_ARMV4Dbg" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_test_ARMV4Dbg" +# PROP Intermediate_Dir "./output/pjlib_test_ARMV4Dbg" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D PJ_WIN32_WINCE=1 /D PJ_M_ARMV4=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /FR /YX /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_test_MIPS16Rel" +# PROP BASE Intermediate_Dir "./output/pjlib_test_MIPS16Rel" +# PROP BASE CPU_ID "{D6519013-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_test_MIPS16Rel" +# PROP Intermediate_Dir "./output/pjlib_test_MIPS16Rel" +# PROP CPU_ID "{D6519013-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "MIPS16SUPPORT" /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPS16" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "MIPS16SUPPORT" /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPS16" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPS16" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_MIPS16_" /D "MIPS16SUPPORT" /YX /QMmips16 /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPS16" /D "NDEBUG" /D "_MIPS16_" /D "MIPS16SUPPORT" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips16 /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS16 /ALIGN:4096 +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS16 /ALIGN:4096 + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_test_MIPS16Dbg" +# PROP BASE Intermediate_Dir "./output/pjlib_test_MIPS16Dbg" +# PROP BASE CPU_ID "{D6519013-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_test_MIPS16Dbg" +# PROP Intermediate_Dir "./output/pjlib_test_MIPS16Dbg" +# PROP CPU_ID "{D6519013-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "MIPS16SUPPORT" /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPS16" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "MIPS16SUPPORT" /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPS16" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPS16" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_MIPS16_" /D "MIPS16SUPPORT" /YX /QMmips16 /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPS16" /D "_MIPS16_" /D "MIPS16SUPPORT" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QMmips16 /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS16 /ALIGN:4096 +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS16 /ALIGN:4096 + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_test_ARMV4TRel" +# PROP BASE Intermediate_Dir "./output/pjlib_test_ARMV4TRel" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_test_ARMV4TRel" +# PROP Intermediate_Dir "./output/pjlib_test_ARMV4TRel" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /D "ARM" /D "_ARM_" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D "NDEBUG" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_test_ARMV4TDbg" +# PROP BASE Intermediate_Dir "./output/pjlib_test_ARMV4TDbg" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_test_ARMV4TDbg" +# PROP Intermediate_Dir "./output/pjlib_test_ARMV4TDbg" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D "ARM" /D "_ARM_" /D PJ_WIN32_WINCE=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB +# ADD LINK32 winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_test_X86Rel" +# PROP BASE Intermediate_Dir "./output/pjlib_test_X86Rel" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_test_X86Rel" +# PROP Intermediate_Dir "./output/pjlib_test_X86Rel" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /YX /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /D "_i386_" /D "i_386_" /D "_X86_" /D "x86" /D "NDEBUG" /D PJ_WIN32_WINCE=1 /D PJ_M_I386=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /Gs8192 /GF /O2 /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 +# ADD LINK32 $(CEx86Corelibc) winsock.lib ws2.lib commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_test_X86Dbg" +# PROP BASE Intermediate_Dir "./output/pjlib_test_X86Dbg" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_test_X86Dbg" +# PROP Intermediate_Dir "./output/pjlib_test_X86Dbg" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r +# ADD RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "_i386_" /D "i_386_" /D "_X86_" /D "x86" /D PJ_WIN32_WINCE=1 /D PJ_M_I386=1 /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /Gs8192 /GF /c +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 +# ADD LINK32 winsock.lib ws2.lib $(CEx86Corelibc) commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 + +!ENDIF + +# Begin Target + +# Name "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" +# Name "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" +# Name "pjlib_test_wince - Win32 (WCE MIPSII) Release" +# Name "pjlib_test_wince - Win32 (WCE MIPSII) Debug" +# Name "pjlib_test_wince - Win32 (WCE SH4) Release" +# Name "pjlib_test_wince - Win32 (WCE SH4) Debug" +# Name "pjlib_test_wince - Win32 (WCE SH3) Release" +# Name "pjlib_test_wince - Win32 (WCE SH3) Debug" +# Name "pjlib_test_wince - Win32 (WCE MIPSIV) Release" +# Name "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" +# Name "pjlib_test_wince - Win32 (WCE emulator) Release" +# Name "pjlib_test_wince - Win32 (WCE emulator) Debug" +# Name "pjlib_test_wince - Win32 (WCE ARMV4I) Release" +# Name "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" +# Name "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" +# Name "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" +# Name "pjlib_test_wince - Win32 (WCE ARMV4) Release" +# Name "pjlib_test_wince - Win32 (WCE ARMV4) Debug" +# Name "pjlib_test_wince - Win32 (WCE MIPS16) Release" +# Name "pjlib_test_wince - Win32 (WCE MIPS16) Debug" +# Name "pjlib_test_wince - Win32 (WCE ARMV4T) Release" +# Name "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" +# Name "pjlib_test_wince - Win32 (WCE x86) Release" +# Name "pjlib_test_wince - Win32 (WCE x86) Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE="..\..\src\pjlib-test\atomic.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ATOMI=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ATOMI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\echo_clt.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ECHO_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ECHO_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\errno.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\exception.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\fifobuf.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\file.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\hash_test.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\ioq_perf.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_IOQ_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\ioq_tcp.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_T=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_IOQ_T=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\ioq_udp.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_IOQ_U=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_IOQ_U=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\ioq_unreg.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_IOQ_UN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\list.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\main.c" +DEP_CPP_MAIN_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\main_win32.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\unicode.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_MAIN_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\mutex.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_MUTEX=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_MUTEX=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\os.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\pool.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\pool_perf.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\rand.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RAND_=\ + "..\..\include\pj\compat\m_arm.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\rbtree.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\select.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SELEC=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SELEC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SELEC=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\sleep.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SLEEP=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SLEEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\sock.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pj\os_symbian.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\sock_perf.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_SOCK_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SOCK_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\string.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\test.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_TEST_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TEST_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_TEST_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\thread.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_THREA=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_THREA=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_THREA=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\timer.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\timestamp.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_TIMES=\ + "..\..\include\pj\compat\m_arm.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_TIMES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\udp_echo_srv_ioqueue.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_E=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_UDP_E=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\udp_echo_srv_sync.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UDP_EC=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_UDP_EC=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjlib-test\util.c" + +!IF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Release" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSII) Debug" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Release" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH4) Debug" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Release" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE SH3) Debug" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Release" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Release" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Release" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE MIPS16) Debug" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Release" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + +NODEP_CPP_UTIL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_test_wince - Win32 (WCE x86) Debug" + +DEP_CPP_UTIL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_armv4.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_powerpc.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\m_x86_64.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pjlib-test\test.h"\ + + +!ENDIF + +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE="..\..\src\pjlib-test\test.h" +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/pjlib/build/wince-evc4/pjlib_wince.vcp b/pjlib/build/wince-evc4/pjlib_wince.vcp new file mode 100644 index 0000000..5fba898 --- /dev/null +++ b/pjlib/build/wince-evc4/pjlib_wince.vcp @@ -0,0 +1,15361 @@ +# Microsoft eMbedded Visual Tools Project File - Name="pjlib_wince" - Package Owner=<4> +# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (WCE x86) Static Library" 0x8304 +# TARGTYPE "Win32 (WCE ARMV4) Static Library" 0xa304 +# TARGTYPE "Win32 (WCE ARMV4I) Static Library" 0xa504 +# TARGTYPE "Win32 (WCE emulator) Static Library" 0xa604 +# TARGTYPE "Win32 (WCE ARMV4T) Static Library" 0xa404 + +CFG=pjlib_wince - Win32 (WCE x86) Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "pjlib_wince.vcn". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "pjlib_wince.vcn" CFG="pjlib_wince - Win32 (WCE x86) Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "pjlib_wince - Win32 (WCE emulator) Release" (based on "Win32 (WCE emulator) Static Library") +!MESSAGE "pjlib_wince - Win32 (WCE emulator) Debug" (based on "Win32 (WCE emulator) Static Library") +!MESSAGE "pjlib_wince - Win32 (WCE ARMV4I) Release" (based on "Win32 (WCE ARMV4I) Static Library") +!MESSAGE "pjlib_wince - Win32 (WCE ARMV4I) Debug" (based on "Win32 (WCE ARMV4I) Static Library") +!MESSAGE "pjlib_wince - Win32 (WCE ARMV4) Release" (based on "Win32 (WCE ARMV4) Static Library") +!MESSAGE "pjlib_wince - Win32 (WCE ARMV4) Debug" (based on "Win32 (WCE ARMV4) Static Library") +!MESSAGE "pjlib_wince - Win32 (WCE ARMV4T) Release" (based on "Win32 (WCE ARMV4T) Static Library") +!MESSAGE "pjlib_wince - Win32 (WCE ARMV4T) Debug" (based on "Win32 (WCE ARMV4T) Static Library") +!MESSAGE "pjlib_wince - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Static Library") +!MESSAGE "pjlib_wince - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +# PROP ATL_Project 2 + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_emulatorRel" +# PROP BASE Intermediate_Dir "./output/pjlib_emulatorRel" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_emulatorRel" +# PROP Intermediate_Dir "./output/pjlib_emulatorRel" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /D "NDEBUG" /D "_i386_" /D "_X86_" /D "x86" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /O2 /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_emulatorDbg" +# PROP BASE Intermediate_Dir "./output/pjlib_emulatorDbg" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_emulatorDbg" +# PROP Intermediate_Dir "./output/pjlib_emulatorDbg" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "_i386_" /D "_X86_" /D "x86" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_ARMV4IRel" +# PROP BASE Intermediate_Dir "./output/pjlib_ARMV4IRel" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_ARMV4IRel" +# PROP Intermediate_Dir "./output/pjlib_ARMV4IRel" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /D "ARMV4I" /D "NDEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_ARMV4IDbg" +# PROP BASE Intermediate_Dir "./output/pjlib_ARMV4IDbg" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_ARMV4IDbg" +# PROP Intermediate_Dir "./output/pjlib_ARMV4IDbg" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "ARMV4I" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_ARMV4Rel" +# PROP BASE Intermediate_Dir "./output/pjlib_ARMV4Rel" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_ARMV4Rel" +# PROP Intermediate_Dir "./output/pjlib_ARMV4Rel" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /Oxt /I "../../include" /D "NDEBUG" /D "ARMV4" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMT) /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_ARMV4Dbg" +# PROP BASE Intermediate_Dir "./output/pjlib_ARMV4Dbg" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_ARMV4Dbg" +# PROP Intermediate_Dir "./output/pjlib_ARMV4Dbg" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "ARMV4" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_ARMV4TRel" +# PROP BASE Intermediate_Dir "./output/pjlib_ARMV4TRel" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_ARMV4TRel" +# PROP Intermediate_Dir "./output/pjlib_ARMV4TRel" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D "NDEBUG" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_ARMV4TDbg" +# PROP BASE Intermediate_Dir "./output/pjlib_ARMV4TDbg" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_ARMV4TDbg" +# PROP Intermediate_Dir "./output/pjlib_ARMV4TDbg" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D "ARM" /D "_ARM_" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjlib_X86Rel" +# PROP BASE Intermediate_Dir "./output/pjlib_X86Rel" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjlib_X86Rel" +# PROP Intermediate_Dir "./output/pjlib_X86Rel" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /D "NDEBUG" /D "_i386_" /D "_X86_" /D "x86" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /O2 /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjlib_X86Dbg" +# PROP BASE Intermediate_Dir "./output/pjlib_X86Dbg" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjlib_X86Dbg" +# PROP Intermediate_Dir "./output/pjlib_X86Dbg" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "_i386_" /D "_X86_" /D "x86" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ENDIF + +# Begin Target + +# Name "pjlib_wince - Win32 (WCE emulator) Release" +# Name "pjlib_wince - Win32 (WCE emulator) Debug" +# Name "pjlib_wince - Win32 (WCE ARMV4I) Release" +# Name "pjlib_wince - Win32 (WCE ARMV4I) Debug" +# Name "pjlib_wince - Win32 (WCE ARMV4) Release" +# Name "pjlib_wince - Win32 (WCE ARMV4) Debug" +# Name "pjlib_wince - Win32 (WCE ARMV4T) Release" +# Name "pjlib_wince - Win32 (WCE ARMV4T) Debug" +# Name "pjlib_wince - Win32 (WCE x86) Release" +# Name "pjlib_wince - Win32 (WCE x86) Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\src\pj\activesock.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ACTIV=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ACTIV=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ACTIV=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ACTIV=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ACTIV=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ACTIV=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ACTIV=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ACTIV=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_ACTIV=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ACTIV=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\addr_resolv_sock.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ADDR_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ADDR_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ADDR_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ADDR_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ADDR_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ADDR_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ADDR_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ADDR_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ADDR_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ADDR_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ADDR_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ADDR_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ADDR_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ADDR_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_ADDR_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ADDR_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ADDR_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\array.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ARRAY=\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ARRAY=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ARRAY=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ARRAY=\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ARRAY=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ARRAY=\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ARRAY=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ARRAY=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ARRAY=\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ARRAY=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ARRAY=\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ARRAY=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ARRAY=\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ARRAY=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_ARRAY=\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ARRAY=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ARRAY=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\config.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_CONFI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_CONFI=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_CONFI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_CONFI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_CONFI=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_CONFI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_CONFI=\ + "..\..\include\pj\compat\m_arm.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_CONFI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_CONFI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_CONFI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_CONFI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\ctype.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_CTYPE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_CTYPE=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_CTYPE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_CTYPE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_CTYPE=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_CTYPE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_CTYPE=\ + "..\..\include\pj\compat\m_arm.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_CTYPE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_CTYPE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_CTYPE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_CTYPE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\errno.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ERRNO=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\except.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_EXCEP=\ + "..\..\include\pj\compat\m_arm.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_EXCEP=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\fifobuf.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_FIFOB=\ + "..\..\include\pj\compat\m_arm.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_FIFOB=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\file_access_win32.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_FILE_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\unicode.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_FILE_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_FILE_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\file_io_win32.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_FILE_I=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_FILE_I=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_FILE_I=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_FILE_I=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_FILE_I=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_FILE_I=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_FILE_I=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\unicode.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_FILE_I=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_FILE_I=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_FILE_I=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_FILE_I=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\guid.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_GUID_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_GUID_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_GUID_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_GUID_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_GUID_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_GUID_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_GUID_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_GUID_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_GUID_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_GUID_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_GUID_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_GUID_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_GUID_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_GUID_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_GUID_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_GUID_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_GUID_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\guid_simple.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_GUID_S=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_GUID_S=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_GUID_S=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_GUID_S=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_GUID_S=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_GUID_S=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_GUID_S=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_GUID_S=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_GUID_S=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_GUID_S=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_GUID_S=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_GUID_S=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_GUID_S=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_GUID_S=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_GUID_S=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_GUID_S=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_GUID_S=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\hash.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_HASH_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_HASH_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_HASH_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_HASH_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_HASH_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_HASH_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_HASH_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_HASH_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_HASH_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\ioqueue_common_abs.c +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\ioqueue_common_abs.h +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\ioqueue_select.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_IOQUE=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pj\ioqueue_common_abs.c"\ + "..\..\src\pj\ioqueue_common_abs.h"\ + +NODEP_CPP_IOQUE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_IOQUE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pj\ioqueue_common_abs.c"\ + "..\..\src\pj\ioqueue_common_abs.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_IOQUE=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pj\ioqueue_common_abs.c"\ + "..\..\src\pj\ioqueue_common_abs.h"\ + +NODEP_CPP_IOQUE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_IOQUE=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pj\ioqueue_common_abs.c"\ + "..\..\src\pj\ioqueue_common_abs.h"\ + +NODEP_CPP_IOQUE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_IOQUE=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pj\ioqueue_common_abs.c"\ + "..\..\src\pj\ioqueue_common_abs.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_IOQUE=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pj\ioqueue_common_abs.c"\ + "..\..\src\pj\ioqueue_common_abs.h"\ + +NODEP_CPP_IOQUE=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_IOQUE=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pj\ioqueue_common_abs.c"\ + "..\..\src\pj\ioqueue_common_abs.h"\ + +NODEP_CPP_IOQUE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_IOQUE=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pj\ioqueue_common_abs.c"\ + "..\..\src\pj\ioqueue_common_abs.h"\ + +NODEP_CPP_IOQUE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_IOQUE=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + "..\..\src\pj\ioqueue_common_abs.c"\ + "..\..\src\pj\ioqueue_common_abs.h"\ + +NODEP_CPP_IOQUE=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_IOQUE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pj\ioqueue_common_abs.c"\ + "..\..\src\pj\ioqueue_common_abs.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\ip_helper_win32.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_IP_HE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + +NODEP_CPP_IP_HE=\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + ".\pexport.h"\ + ".\phlpapi.h"\ + ".\ptypes.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_IP_HE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + +NODEP_CPP_IP_HE=\ + ".\pexport.h"\ + ".\phlpapi.h"\ + ".\ptypes.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_IP_HE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + +NODEP_CPP_IP_HE=\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + ".\pexport.h"\ + ".\phlpapi.h"\ + ".\ptypes.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_IP_HE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + +NODEP_CPP_IP_HE=\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + ".\pexport.h"\ + ".\phlpapi.h"\ + ".\ptypes.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_IP_HE=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + +NODEP_CPP_IP_HE=\ + ".\pexport.h"\ + ".\phlpapi.h"\ + ".\ptypes.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_IP_HE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + +NODEP_CPP_IP_HE=\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + ".\pexport.h"\ + ".\phlpapi.h"\ + ".\ptypes.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_IP_HE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + +NODEP_CPP_IP_HE=\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + ".\pexport.h"\ + ".\phlpapi.h"\ + ".\ptypes.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_IP_HE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + +NODEP_CPP_IP_HE=\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + ".\pexport.h"\ + ".\phlpapi.h"\ + ".\ptypes.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_IP_HE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + +NODEP_CPP_IP_HE=\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + ".\pexport.h"\ + ".\phlpapi.h"\ + ".\ptypes.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_IP_HE=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + +NODEP_CPP_IP_HE=\ + ".\pexport.h"\ + ".\phlpapi.h"\ + ".\ptypes.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\list.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LIST_=\ + "..\..\include\pj\compat\m_arm.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_LIST_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_LIST_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\lock.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_LOCK_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_LOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_LOCK_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_LOCK_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_LOCK_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_LOCK_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOCK_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_LOCK_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_LOCK_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_LOCK_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_LOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\log.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_LOG_C=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOG_C=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_LOG_C=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_LOG_C=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOG_C=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_LOG_C=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOG_C=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_LOG_C=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_LOG_C=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOG_C=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_LOG_C=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOG_C=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_LOG_C=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOG_C=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_LOG_C=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOG_C=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_LOG_C=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\log_writer_stdout.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_LOG_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdfileio.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_LOG_W=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdfileio.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_LOG_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdfileio.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_LOG_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdfileio.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_LOG_W=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdfileio.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_LOG_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdfileio.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_LOG_W=\ + "..\..\include\pj\compat\m_arm.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_LOG_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdfileio.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_LOG_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdfileio.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_LOG_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdfileio.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_LOG_W=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdfileio.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\os_core_win32.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_OS_CO=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_CO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_OS_CO=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pj\os_rwmutex.c"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_OS_CO=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_CO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_OS_CO=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_CO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_OS_CO=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pj\os_rwmutex.c"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_OS_CO=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_CO=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_OS_CO=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_CO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_OS_CO=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_CO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_OS_CO=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_CO=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_OS_CO=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pj\os_rwmutex.c"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\os_error_win32.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_OS_ER=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_ER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_OS_ER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_OS_ER=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_ER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_OS_ER=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_ER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_OS_ER=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_OS_ER=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_ER=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_OS_ER=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_ER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_OS_ER=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_ER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_OS_ER=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_ER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_OS_ER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\os_time_win32.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_OS_TI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_OS_TI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_OS_TI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_OS_TI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_OS_TI=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_OS_TI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_TI=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_OS_TI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_OS_TI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_OS_TI=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_OS_TI=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\os_timestamp_common.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_OS_TIM=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_OS_TIM=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_OS_TIM=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_OS_TIM=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_OS_TIM=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_OS_TIM=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_TIM=\ + "..\..\include\pj\compat\m_arm.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_OS_TIM=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_OS_TIM=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_OS_TIM=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_OS_TIM=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\os_timestamp_win32.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_OS_TIME=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_OS_TIME=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_OS_TIME=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_OS_TIME=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_OS_TIME=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_OS_TIME=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_OS_TIME=\ + "..\..\include\pj\compat\m_arm.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_OS_TIME=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_OS_TIME=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_OS_TIME=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_OS_TIME=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\pool.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_POOL_=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_POOL_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\pool_buf.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_POOL_B=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_POOL_B=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_POOL_B=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_POOL_B=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_POOL_B=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_POOL_B=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_POOL_B=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_POOL_B=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_POOL_B=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_POOL_B=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\pool_caching.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_POOL_C=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_C=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_POOL_C=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_POOL_C=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_C=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_POOL_C=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_C=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_POOL_C=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_POOL_C=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_C=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_POOL_C=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_C=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_POOL_C=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_C=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_POOL_C=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_C=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_POOL_C=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\pool_policy_malloc.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pj\pool_signature.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + "..\..\src\pj\pool_signature.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_POOL_P=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_POOL_P=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\malloc.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\rand.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\rand.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\rand.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\rand.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\rand.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\rand.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\rand.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_RAND_=\ + "..\..\include\pj\compat\m_arm.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\rand.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\rand.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\rand.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_RAND_=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\rand.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\rbtree.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_RBTRE=\ + "..\..\include\pj\compat\m_arm.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_RBTRE=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\sock_bsd.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_SOCK_=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SOCK_=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\sock_common.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SOCK_C=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SOCK_C=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SOCK_C=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SOCK_C=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SOCK_C=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SOCK_C=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SOCK_C=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SOCK_C=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_SOCK_C=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SOCK_C=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\sock_select.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SOCK_S=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SOCK_S=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SOCK_S=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SOCK_S=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SOCK_S=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SOCK_S=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_SOCK_S=\ + "..\..\include\pj\compat\m_arm.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SOCK_S=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SOCK_S=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_SOCK_S=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SOCK_S=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\socket.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\string.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_STRIN=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_STRIN=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_STRIN=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\timer.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_TIMER=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_TIMER=\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_TIMER=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\types.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_TYPES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_TYPES=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_TYPES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_TYPES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_TYPES=\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_TYPES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_TYPES=\ + "..\..\include\pj\compat\m_arm.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_TYPES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_TYPES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_TYPES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_TYPES=\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pj\unicode_win32.c + +!IF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Release" + +DEP_CPP_UNICO=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_UNICO=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_UNICO=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_UNICO=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_UNICO=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_UNICO=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_UNICO=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_UNICO=\ + "..\..\include\pj\activesock.h"\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_armcc.h"\ + "..\..\include\pj\compat\cc_codew.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_gcce.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\cc_mwcc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\m_auto.h"\ + "..\..\include\pj\compat\os_auto.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_symbian.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\stdarg.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\config_site_sample.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\math.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_UNICO=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_UNICO=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_UNICO=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_UNICO=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_UNICO=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_UNICO=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Release" + +DEP_CPP_UNICO=\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\m_alpha.h"\ + "..\..\include\pj\compat\m_i386.h"\ + "..\..\include\pj\compat\m_m68k.h"\ + "..\..\include\pj\compat\m_sparc.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\types.h"\ + +NODEP_CPP_UNICO=\ + "..\..\include\pj\compat\m_arm.h"\ + "..\..\include\pj\compat\sprintf.h"\ + "..\..\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjlib_wince - Win32 (WCE x86) Debug" + +DEP_CPP_UNICO=\ + "..\..\include\pj\addr_resolv.h"\ + "..\..\include\pj\array.h"\ + "..\..\include\pj\assert.h"\ + "..\..\include\pj\compat\assert.h"\ + "..\..\include\pj\compat\cc_gcc.h"\ + "..\..\include\pj\compat\cc_msvc.h"\ + "..\..\include\pj\compat\ctype.h"\ + "..\..\include\pj\compat\errno.h"\ + "..\..\include\pj\compat\high_precision.h"\ + "..\..\include\pj\compat\os_darwinos.h"\ + "..\..\include\pj\compat\os_linux.h"\ + "..\..\include\pj\compat\os_linux_kernel.h"\ + "..\..\include\pj\compat\os_palmos.h"\ + "..\..\include\pj\compat\os_rtems.h"\ + "..\..\include\pj\compat\os_sunos.h"\ + "..\..\include\pj\compat\os_win32.h"\ + "..\..\include\pj\compat\os_win32_wince.h"\ + "..\..\include\pj\compat\setjmp.h"\ + "..\..\include\pj\compat\size_t.h"\ + "..\..\include\pj\compat\string.h"\ + "..\..\include\pj\config.h"\ + "..\..\include\pj\config_site.h"\ + "..\..\include\pj\ctype.h"\ + "..\..\include\pj\errno.h"\ + "..\..\include\pj\except.h"\ + "..\..\include\pj\fifobuf.h"\ + "..\..\include\pj\file_access.h"\ + "..\..\include\pj\file_io.h"\ + "..\..\include\pj\guid.h"\ + "..\..\include\pj\hash.h"\ + "..\..\include\pj\ioqueue.h"\ + "..\..\include\pj\ip_helper.h"\ + "..\..\include\pj\list.h"\ + "..\..\include\pj\list_i.h"\ + "..\..\include\pj\lock.h"\ + "..\..\include\pj\log.h"\ + "..\..\include\pj\os.h"\ + "..\..\include\pj\pool.h"\ + "..\..\include\pj\pool_alt.h"\ + "..\..\include\pj\pool_buf.h"\ + "..\..\include\pj\pool_i.h"\ + "..\..\include\pj\rand.h"\ + "..\..\include\pj\rbtree.h"\ + "..\..\include\pj\sock.h"\ + "..\..\include\pj\sock_select.h"\ + "..\..\include\pj\string.h"\ + "..\..\include\pj\string_i.h"\ + "..\..\include\pj\timer.h"\ + "..\..\include\pj\types.h"\ + "..\..\include\pj\unicode.h"\ + "..\..\include\pjlib.h"\ + + +!ENDIF + +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Group "compat" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\include\pj\compat\assert.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\cc_gcc.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\cc_msvc.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\ctype.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\errno.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\high_precision.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\m_armv4.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\m_i386.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\malloc.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\os_win32_wince.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\rand.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\setjmp.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\size_t.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\socket.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\sprintf.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\stdarg.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\stdfileio.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\string.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\time.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\compat\vsprintf.h +# End Source File +# End Group +# Begin Source File + +SOURCE=..\..\include\pj\activesock.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\addr_resolv.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\array.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\assert.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\config.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\config_site.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\config_site_sample.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\ctype.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\doxygen.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\errno.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\except.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\fifobuf.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\file_access.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\file_io.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\guid.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\hash.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\ioqueue.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\ip_helper.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\list.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\list_i.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\lock.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\log.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\math.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\os.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjlib.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\pool.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\pool_buf.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\pool_i.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\rand.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\rbtree.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\sock.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\sock_select.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\string.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\string_i.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\timer.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\types.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pj\unicode.h +# End Source File +# End Group +# End Target +# End Project diff --git a/pjlib/build/wince-evc4/pjlib_wince.vcw b/pjlib/build/wince-evc4/pjlib_wince.vcw new file mode 100644 index 0000000..663394a --- /dev/null +++ b/pjlib/build/wince-evc4/pjlib_wince.vcw @@ -0,0 +1,44 @@ +Microsoft eMbedded Visual Tools Workspace File, Format Version 4.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "pjlib_test_wince"=".\pjlib_test_wince.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name pjlib_wince + End Project Dependency +}}} + +############################################################################### + +Project: "pjlib_wince"=".\pjlib_wince.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/pjlib/docs/doxygen.cfg b/pjlib/docs/doxygen.cfg new file mode 100644 index 0000000..802484c --- /dev/null +++ b/pjlib/docs/doxygen.cfg @@ -0,0 +1,1052 @@ +# Doxyfile 1.3-rc3 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# General configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "PJLIB Reference" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = $(PJ_VERSION) + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = docs/$(PJ_VERSION) + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, +# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en +# (Japanese with english messages), Korean, Norwegian, Polish, Portuguese, +# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish and Ukrainian. + +OUTPUT_LANGUAGE = English + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these class will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited +# members of a class in the documentation of that class as if those members were +# ordinary class members. Constructors, destructors and assignment operators of +# the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. It is allowed to use relative paths in the argument list. + +STRIP_FROM_PATH = "c:\project\pjproject" + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower case letters. If set to YES upper case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# users are adviced to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explict @brief command for a brief description. + +JAVADOC_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = YES + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# reimplements. + +INHERIT_DOCS = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consist of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. +# For instance some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources +# only. Doxygen will then generate output that is more tailored for Java. +# For instance namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES +TYPEDEF_HIDES_STRUCT = YES + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = include/pj src/pjlib-samples src/pjlib-test + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# *.h++ *.idl *.odl + +FILE_PATTERNS = *.h *.c + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories +# that are symbolic links (a Unix filesystem feature) are excluded from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. + +EXCLUDE_PATTERNS = "*_i.h" "*/compat/*" "*/config_site.h" + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = . + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = YES + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. + +INPUT_FILTER = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .htm + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = docs/header.html + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = docs/footer.html + +# The HTML_STYLESHEET tag can be used to specify a user defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet + +HTML_STYLESHEET = docs/doxygen.css + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output dir. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non empty doxygen will try to run +# the html help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the Html help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = YES + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimised for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assigments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_XML = NO + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = YES + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_PREDEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. + +PREDEFINED = PJ_DECL(x)=x PJ_DEF(x)=x PJ_IDECL(x)=x \ + PJ_IDEF(x)=x PJ_INLINE(x)=x \ + PJ_DECL_DATA(x)=x \ + PJ_DECL_NO_RETURN(x)=x \ + PJ_NO_RETURN=x \ + PJ_HAS_HIGH_RES_TIMER=1 \ + PJ_LOG_MAX_LEVEL=4 \ + PJ_HAS_SEMAPHORE=1 \ + PJ_HAS_EVENT_OBJ=1 \ + PJ_HAS_TCP=1 + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse the +# parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES tag can be used to specify one or more tagfiles. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = docs/pjlib.tag + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +#PERL_PATH = /usr/bin/perl +PERL_PATH = /c/Perl/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or +# super classes. Setting the tag to NO turns the diagrams off. Note that this +# option is superceded by the HAVE_DOT option below. This is only a fallback. It is +# recommended to install and use dot, since it yield more powerful graphs. + +CLASS_DIAGRAMS = NO + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_WIDTH = 1024 + +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_HEIGHT = 1024 + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermedate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO + +# The CGI_NAME tag should be the name of the CGI script that +# starts the search engine (doxysearch) with the correct parameters. +# A script with this name will be generated by doxygen. + +#CGI_NAME = search.cgi + +# The CGI_URL tag should be the absolute URL to the directory where the +# cgi binaries are located. See the documentation of your http daemon for +# details. + +#CGI_URL = + +# The DOC_URL tag should be the absolute URL to the directory where the +# documentation is located. If left blank the absolute path to the +# documentation, with file:// prepended to it, will be used. + +#DOC_URL = + +# The DOC_ABSPATH tag should be the absolute path to the directory where the +# documentation is located. If left blank the directory on the local machine +# will be used. + +#DOC_ABSPATH = + +# The BIN_ABSPATH tag must point to the directory where the doxysearch binary +# is installed. + +#BIN_ABSPATH = /usr/local/bin/ + +# The EXT_DOC_PATHS tag can be used to specify one or more paths to +# documentation generated for other projects. This allows doxysearch to search +# the documentation for these projects as well. + +#EXT_DOC_PATHS = diff --git a/pjlib/docs/doxygen.css b/pjlib/docs/doxygen.css new file mode 100644 index 0000000..015c0c2 --- /dev/null +++ b/pjlib/docs/doxygen.css @@ -0,0 +1,305 @@ +BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { + font-family: Geneva, Arial, Helvetica, sans-serif; +} +BODY,TD { + font-size: 80%; +} +CODE { + font-size: 120%; + font-family: monospace; +} +.fragment, pre { + font-size: 110%; + font-family: monospace; +} +H1 { + text-align: center; + font-size: 240%; +} +H2 { + font-size: 200%; + margin-top : 60px; +} +H3 { + font-size: 160%; +} +H4 { + font-size: 120%; +} +CAPTION { font-weight: bold } +DIV.qindex { + width: 100%; + background-color: #eeeeff; + border: 1px solid #b0b0b0; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.nav { + width: 100%; + background-color: #eeeeff; + border: 1px solid #b0b0b0; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +A.qindex { + text-decoration: none; + font-size: 120%; + color: #1A419D; +} +A.qindex:visited { + text-decoration: none; + color: #1A419D +} +A.qindex:hover { + text-decoration: none; + background-color: #ddddff; +} +A.qindexHL { + text-decoration: none; + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} +A.qindexHL:hover { + text-decoration: none; + background-color: #6666cc; + color: #ffffff; +} +A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } +A.el { text-decoration: none; font-weight: bold } +A.elRef { font-weight: bold } +A.code:link { text-decoration: none; font-weight: normal; color: #0000FF; } +A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} +A.codeRef:link { font-weight: normal; color: #0000FF} +A.codeRef:visited { font-weight: normal; color: #0000FF} +A:hover { text-decoration: none; background-color: #f2f2ff } +DL.el { margin-left: -1cm } +PRE.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + margin-top: 4px; + margin-bottom: 4px; + margin-left: 2px; + margin-right: 8px; + padding-left: 6px; + padding-right: 6px; + padding-top: 4px; + padding-bottom: 4px; +} +DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } +TD.md { background-color: #F4F4FB; font-weight: bold; } +TD.mdPrefix { + background-color: #F4F4FB; + color: #606060; + font-size: 80%; +} +TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; } +TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; } +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} +DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } +BODY { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} +TD.indexkey { + background-color: #eeeeff; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TD.indexvalue { + background-color: #eeeeff; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TR.memlist { + background-color: #f0f0f0; +} +P.formulaDsp { text-align: center; } +IMG.formulaDsp { } +IMG.formulaInl { vertical-align: middle; } +SPAN.keyword { color: #008000 } +SPAN.keywordtype { color: #604020 } +SPAN.keywordflow { color: #e08000 } +SPAN.comment { color: #800000 } +SPAN.preprocessor { color: #806020 } +SPAN.stringliteral { color: #002080 } +SPAN.charliteral { color: #008080 } +.mdTable { + border: 1px solid #868686; + background-color: #F4F4FB; +} +.mdRow { + padding: 8px 10px; +} +.mdescLeft { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.mdescRight { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.memItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplParams { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + color: #606060; + background-color: #FAFAFA; + font-size: 80%; +} +.search { color: #003399; + font-weight: bold; +} +FORM.search { + margin-bottom: 0px; + margin-top: 0px; +} +INPUT.search { font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #eeeeff; +} +TD.tiny { font-size: 75%; +} +a { + color: #252E78; +} +a:visited { + color: #3D2185; +} +.dirtab { padding: 4px; + border-collapse: collapse; + border: 1px solid #b0b0b0; +} +TH.dirtab { background: #eeeeff; + font-weight: bold; +} +HR { height: 1px; + border: none; + border-top: 1px solid black; +} diff --git a/pjlib/docs/footer.html b/pjlib/docs/footer.html new file mode 100644 index 0000000..8b1e479 --- /dev/null +++ b/pjlib/docs/footer.html @@ -0,0 +1,11 @@ +

 

+
+PJLIB Open Source, high performance, small footprint, and very very portable framework
+Copyright (C) 2006-2009 Teluu Inc. +
+ + + + + + diff --git a/pjlib/docs/header.html b/pjlib/docs/header.html new file mode 100644 index 0000000..e7187ee --- /dev/null +++ b/pjlib/docs/header.html @@ -0,0 +1,9 @@ + + +$title ($projectnumber) + + + +

Home --> Documentations --> PJLIB Reference

+ + diff --git a/pjlib/include/pj++/file.hpp b/pjlib/include/pj++/file.hpp new file mode 100644 index 0000000..d37defc --- /dev/null +++ b/pjlib/include/pj++/file.hpp @@ -0,0 +1,188 @@ +/* $Id: file.hpp 2394 2008-12-23 17:27:53Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJPP_FILE_HPP__ +#define __PJPP_FILE_HPP__ + +#include +#include +#include +#include + +// +// File API. +// +class Pj_File_API +{ +public: + // + // Check file existance. + // + static bool file_exists(const char *filename) + { + return pj_file_exists(filename) != 0; + } + + // + // Get file size. + // + static pj_off_t file_size(const char *filename) + { + return pj_file_size(filename); + } + + // + // Delete file. + // + static pj_status_t file_delete(const char *filename) + { + return pj_file_delete(filename); + } + + // + // Move/rename file. + // + static pj_status_t file_move(const char *oldname, const char *newname) + { + return pj_file_move(oldname, newname); + } + + // + // Get stat. + // + static pj_status_t file_stat(const char *filename, pj_file_stat *buf) + { + return pj_file_getstat(filename, buf); + } +}; + + +// +// File. +// +class Pj_File : public Pj_Object +{ +public: + // + // Offset type to be used in setpos. + // + enum Offset_Type + { + PJ_SEEK_SET = PJ_SEEK_SET, + PJ_SEEK_CUR = PJ_SEEK_CUR, + PJ_SEEK_END = PJ_SEEK_END, + }; + + // + // Default constructor. + // + Pj_File() + : hnd_(0) + { + } + + // + // Construct and open a file. + // + Pj_File(Pj_Pool *pool, const char *filename, + unsigned access = PJ_O_RDONLY) + : hnd_(NULL) + { + open(pool, filename, access); + } + + // + // Destructor closes the file. + // + ~Pj_File() + { + close(); + } + + // + // Open a file. + // + pj_status_t open(Pj_Pool *pool, const char *filename, + unsigned access = PJ_O_RDONLY ) + { + close(); + return pj_file_open(pool->pool_(), filename, access, &hnd_); + } + + // + // Close a file. + // + void close() + { + if (hnd_ != 0) { + pj_file_close(hnd_); + hnd_ = 0; + } + } + + // + // Write data. + // + pj_ssize_t write(const void *buff, pj_size_t size) + { + pj_ssize_t bytes = size; + if (pj_file_write(hnd_, buff, &bytes) != PJ_SUCCESS) + return -1; + return bytes; + } + + // + // Read data. + // + pj_ssize_t read(void *buf, pj_size_t size) + { + pj_ssize_t bytes = size; + if (pj_file_read(hnd_, buf, &bytes) != PJ_SUCCESS) + return -1; + return bytes; + } + + // + // Set file position. + // + pj_status_t setpos(pj_off_t offset, Offset_Type whence) + { + return pj_file_setpos(hnd_, offset, + (enum pj_file_seek_type)whence); + } + + // + // Get file position. + // + pj_off_t getpos() + { + pj_off_t pos; + if (pj_file_getpos(hnd_, &pos) != PJ_SUCCESS) + return -1; + return pos; + } + +private: + pj_oshandle_t hnd_; +}; + + + +#endif /* __PJPP_FILE_HPP__ */ + diff --git a/pjlib/include/pj++/hash.hpp b/pjlib/include/pj++/hash.hpp new file mode 100644 index 0000000..b8b0a9a --- /dev/null +++ b/pjlib/include/pj++/hash.hpp @@ -0,0 +1,156 @@ +/* $Id: hash.hpp 2394 2008-12-23 17:27:53Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJPP_HASH_HPP__ +#define __PJPP_HASH_HPP__ + +#include +#include +#include + +// +// Hash table. +// +class Pj_Hash_Table : public Pj_Object +{ +public: + // + // Hash table iterator. + // + class iterator + { + public: + iterator() + { + } + explicit iterator(pj_hash_table_t *h, pj_hash_iterator_t *i) + : ht_(h), it_(i) + { + } + iterator(const iterator &rhs) + : ht_(rhs.ht_), it_(rhs.it_) + { + } + void operator++() + { + it_ = pj_hash_next(ht_, it_); + } + bool operator==(const iterator &rhs) + { + return ht_ == rhs.ht_ && it_ == rhs.it_; + } + iterator & operator=(const iterator &rhs) + { + ht_=rhs.ht_; it_=rhs.it_; + return *this; + } + private: + pj_hash_table_t *ht_; + pj_hash_iterator_t it_val_; + pj_hash_iterator_t *it_; + + friend class Pj_Hash_Table; + }; + + // + // Construct hash table. + // + Pj_Hash_Table(Pj_Pool *pool, unsigned size) + { + table_ = pj_hash_create(pool->pool_(), size); + } + + // + // Destroy hash table. + // + ~Pj_Hash_Table() + { + } + + // + // Calculate hash value. + // + static pj_uint32_t calc( pj_uint32_t initial_hval, + const void *key, + unsigned keylen = PJ_HASH_KEY_STRING) + { + return pj_hash_calc(initial_hval, key, keylen); + } + + // + // Return pjlib compatible hash table object. + // + pj_hash_table_t *pj_hash_table_t_() + { + return table_; + } + + // + // Get the value associated with the specified key. + // + void *get(const void *key, unsigned keylen = PJ_HASH_KEY_STRING) + { + return pj_hash_get(table_, key, keylen); + } + + // + // Associate a value with a key. + // Set the value to NULL to delete the key from the hash table. + // + void set(Pj_Pool *pool, + const void *key, + void *value, + unsigned keylen = PJ_HASH_KEY_STRING) + { + pj_hash_set(pool->pool_(), table_, key, keylen, value); + } + + // + // Get number of items in the hash table. + // + unsigned count() + { + return pj_hash_count(table_); + } + + // + // Iterate hash table. + // + iterator begin() + { + iterator it(table_, NULL); + it.it_ = pj_hash_first(table_, &it.it_val_); + return it; + } + + // + // End of items. + // + iterator end() + { + return iterator(table_, NULL); + } + +private: + pj_hash_table_t *table_; +}; + + +#endif /* __PJPP_HASH_HPP__ */ + diff --git a/pjlib/include/pj++/list.hpp b/pjlib/include/pj++/list.hpp new file mode 100644 index 0000000..24217c9 --- /dev/null +++ b/pjlib/include/pj++/list.hpp @@ -0,0 +1,352 @@ +/* $Id: list.hpp 2394 2008-12-23 17:27:53Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJPP_LIST_HPP__ +#define __PJPP_LIST_HPP__ + +#include +#include + + +// +// Linked-list. +// +// Note: +// List_Node must have public member next and prev. Normally +// it will be declared like: +// +// struct my_node +// { +// PJ_DECL_LIST_MEMBER(struct my_node); +// .. +// }; +// +// +template +class Pj_List : public Pj_Object +{ +public: + // + // List const_iterator. + // + class const_iterator + { + public: + const_iterator() + : node_(NULL) + {} + const_iterator(const List_Node *nd) + : node_((List_Node*)nd) + {} + const List_Node * operator *() + { + return node_; + } + const List_Node * operator -> () + { + return node_; + } + const_iterator operator++() + { + return const_iterator((const List_Node *)node_->next); + } + bool operator==(const const_iterator &rhs) + { + return node_ == rhs.node_; + } + bool operator!=(const const_iterator &rhs) + { + return node_ != rhs.node_; + } + + protected: + List_Node *node_; + }; + + // + // List iterator. + // + class iterator : public const_iterator + { + public: + iterator() + {} + iterator(List_Node *nd) + : const_iterator(nd) + {} + List_Node * operator *() + { + return node_; + } + List_Node * operator -> () + { + return node_; + } + iterator operator++() + { + return iterator((List_Node*)node_->next); + } + bool operator==(const iterator &rhs) + { + return node_ == rhs.node_; + } + bool operator!=(const iterator &rhs) + { + return node_ != rhs.node_; + } + }; + + // + // Default constructor. + // + Pj_List() + { + pj_list_init(&root_); + if (0) compiletest(); + } + + // + // You can cast Pj_List to pj_list + // + operator pj_list&() + { + return (pj_list&)root_; + } + operator const pj_list&() + { + return (const pj_list&)root_; + } + + // + // You can cast Pj_List to pj_list* too + // + operator pj_list*() + { + return (pj_list*)&root_; + } + operator const pj_list*() + { + return (const pj_list*)&root_; + } + + // + // Check if list is empty. + // + bool empty() const + { + return pj_list_empty(&root_); + } + + // + // Get first element. + // + iterator begin() + { + return iterator(root_.next); + } + + // + // Get first element. + // + const_iterator begin() const + { + return const_iterator(root_.next); + } + + // + // Get end-of-element + // + const_iterator end() const + { + return const_iterator((List_Node*)&root_); + } + + // + // Get end-of-element + // + iterator end() + { + return iterator((List_Node*)&root_); + } + + // + // Insert node. + // + void insert_before (iterator &pos, List_Node *node) + { + pj_list_insert_before( *pos, node ); + } + + // + // Insert node. + // + void insert_after(iterator &pos, List_Node *node) + { + pj_list_insert_after(*pos, node); + } + + // + // Merge list. + // + void merge_first(List_Node *list2) + { + pj_list_merge_first(&root_, list2); + } + + // + // Merge list. + // + void merge_last(Pj_List *list) + { + pj_list_merge_last(&root_, &list->root_); + } + + // + // Insert list. + // + void insert_nodes_before(iterator &pos, Pj_List *list2) + { + pj_list_insert_nodes_before(*pos, &list2->root_); + } + + // + // Insert list. + // + void insert_nodes_after(iterator &pos, Pj_List *list2) + { + pj_list_insert_nodes_after(*pos, &list2->root_); + } + + // + // Erase an element. + // + void erase(iterator &it) + { + pj_list_erase(*it); + } + + // + // Get first element. + // + List_Node *front() + { + return root_.next; + } + + // + // Get first element. + // + const List_Node *front() const + { + return root_.next; + } + + // + // Remove first element. + // + void pop_front() + { + pj_list_erase(root_.next); + } + + // + // Get last element. + // + List_Node *back() + { + return root_.prev; + } + + // + // Get last element. + // + const List_Node *back() const + { + return root_.prev; + } + + // + // Remove last element. + // + void pop_back() + { + pj_list_erase(root_.prev); + } + + // + // Find a node. + // + iterator find(List_Node *node) + { + List_Node *n = pj_list_find_node(&root_, node); + return n ? iterator(n) : end(); + } + + // + // Find a node. + // + const_iterator find(List_Node *node) const + { + List_Node *n = pj_list_find_node(&root_, node); + return n ? const_iterator(n) : end(); + } + + // + // Insert a node in the back. + // + void push_back(List_Node *node) + { + pj_list_insert_after(root_.prev, node); + } + + // + // Insert a node in the front. + // + void push_front(List_Node *node) + { + pj_list_insert_before(root_.next, node); + } + + // + // Remove all elements. + // + void clear() + { + root_.next = &root_; + root_.prev = &root_; + } + +private: + struct RootNode + { + PJ_DECL_LIST_MEMBER(List_Node); + } root_; + + void compiletest() + { + // If you see error in this line, + // it's because List_Node is not derived from Pj_List_Node. + List_Node *n = (List_Node*)0; + n = (List_Node *)n->next; n = (List_Node *)n->prev; + } +}; + + +#endif /* __PJPP_LIST_HPP__ */ + diff --git a/pjlib/include/pj++/lock.hpp b/pjlib/include/pj++/lock.hpp new file mode 100644 index 0000000..43779a6 --- /dev/null +++ b/pjlib/include/pj++/lock.hpp @@ -0,0 +1,149 @@ +/* $Id: lock.hpp 2394 2008-12-23 17:27:53Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJPP_LOCK_HPP__ +#define __PJPP_LOCK_HPP__ + +#include +#include +#include + +////////////////////////////////////////////////////////////////////////////// +// Lock object. +// +class Pj_Lock : public Pj_Object +{ +public: + // + // Constructor. + // + explicit Pj_Lock(pj_lock_t *lock) + : lock_(lock) + { + } + + // + // Destructor. + // + ~Pj_Lock() + { + if (lock_) + pj_lock_destroy(lock_); + } + + // + // Get pjlib compatible lock object. + // + pj_lock_t *pj_lock_t_() + { + return lock_; + } + + // + // acquire lock. + // + pj_status_t acquire() + { + return pj_lock_acquire(lock_); + } + + // + // release lock,. + // + pj_status_t release() + { + return pj_lock_release(lock_); + } + +protected: + pj_lock_t *lock_; +}; + + +////////////////////////////////////////////////////////////////////////////// +// Null lock object. +// +class Pj_Null_Lock : public Pj_Lock +{ +public: + // + // Default constructor. + // + explicit Pj_Null_Lock(Pj_Pool *pool, const char *name = NULL) + : Pj_Lock(NULL) + { + pj_lock_create_null_mutex(pool->pool_(), name, &lock_); + } +}; + +////////////////////////////////////////////////////////////////////////////// +// Simple mutex lock object. +// +class Pj_Simple_Mutex_Lock : public Pj_Lock +{ +public: + // + // Default constructor. + // + explicit Pj_Simple_Mutex_Lock(Pj_Pool *pool, const char *name = NULL) + : Pj_Lock(NULL) + { + pj_lock_create_simple_mutex(pool->pool_(), name, &lock_); + } +}; + +////////////////////////////////////////////////////////////////////////////// +// Recursive mutex lock object. +// +class Pj_Recursive_Mutex_Lock : public Pj_Lock +{ +public: + // + // Default constructor. + // + explicit Pj_Recursive_Mutex_Lock(Pj_Pool *pool, const char *name = NULL) + : Pj_Lock(NULL) + { + pj_lock_create_recursive_mutex(pool->pool_(), name, &lock_); + } +}; + +////////////////////////////////////////////////////////////////////////////// +// Semaphore lock object. +// +class Pj_Semaphore_Lock : public Pj_Lock +{ +public: + // + // Default constructor. + // + explicit Pj_Semaphore_Lock(Pj_Pool *pool, + unsigned max=PJ_MAXINT32, + unsigned initial=0, + const char *name=NULL) + : Pj_Lock(NULL) + { + pj_lock_create_semaphore(pool->pool_(), name, initial, max, &lock_); + } +}; + + + +#endif /* __PJPP_LOCK_HPP__ */ + diff --git a/pjlib/include/pj++/os.hpp b/pjlib/include/pj++/os.hpp new file mode 100644 index 0000000..6c87f31 --- /dev/null +++ b/pjlib/include/pj++/os.hpp @@ -0,0 +1,870 @@ +/* $Id: os.hpp 2394 2008-12-23 17:27:53Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJPP_OS_HPP__ +#define __PJPP_OS_HPP__ + +#include +#include +#include +#include + +class Pj_Thread; + +// +// Thread API. +// +class Pj_Thread_API +{ +public: + // + // Create a thread. + // + static pj_status_t create( Pj_Pool *pool, pj_thread_t **thread, + pj_thread_proc *proc, void *arg, + unsigned flags = 0, + const char *name = NULL, + pj_size_t stack_size = 0 ) + { + return pj_thread_create(pool->pool_(), name, proc, arg, stack_size, + flags, thread); + } + + // + // Register a thread. + // + static pj_status_t register_this_thread( pj_thread_desc desc, + pj_thread_t **thread, + const char *name = NULL ) + { + return pj_thread_register( name, desc, thread ); + } + + // + // Get current thread. + // Will return pj_thread_t (sorry folks, not Pj_Thread). + // + static pj_thread_t *this_thread() + { + return pj_thread_this(); + } + + // + // Get thread name. + // + static const char *get_name(pj_thread_t *thread) + { + return pj_thread_get_name(thread); + } + + // + // Resume thread. + // + static pj_status_t resume(pj_thread_t *thread) + { + return pj_thread_resume(thread); + } + + // + // Sleep. + // + static pj_status_t sleep(unsigned msec) + { + return pj_thread_sleep(msec); + } + + // + // Join the specified thread. + // + static pj_status_t join(pj_thread_t *thread) + { + return pj_thread_join(thread); + } + + // + // Destroy thread + // + static pj_status_t destroy(pj_thread_t *thread) + { + return pj_thread_destroy(thread); + } +}; + + + +// +// Thread object. +// +// How to use: +// Derive a class from this class, then override main(). +// +class Pj_Thread : public Pj_Object +{ +public: + enum Flags + { + FLAG_SUSPENDED = PJ_THREAD_SUSPENDED + }; + + // + // Default constructor. + // + Pj_Thread() + : thread_(NULL) + { + } + + // + // Destroy thread. + // + ~Pj_Thread() + { + destroy(); + } + + // + // This is the main thread function. + // + virtual int main() = 0; + + // + // Start a thread. + // + pj_status_t create( Pj_Pool *pool, + unsigned flags = 0, + const char *thread_name = NULL, + pj_size_t stack_size = PJ_THREAD_DEFAULT_STACK_SIZE) + { + destroy(); + return Pj_Thread_API::create( pool, &thread_, &thread_proc, this, + flags, thread_name, stack_size); + } + + // + // Get pjlib compatible thread object. + // + pj_thread_t *pj_thread_t_() + { + return thread_; + } + + // + // Get thread name. + // + const char *get_name() + { + return Pj_Thread_API::get_name(thread_); + } + + // + // Resume a suspended thread. + // + pj_status_t resume() + { + return Pj_Thread_API::resume(thread_); + } + + // + // Join this thread. + // + pj_status_t join() + { + return Pj_Thread_API::join(thread_); + } + + // + // Destroy thread. + // + pj_status_t destroy() + { + if (thread_) { + Pj_Thread_API::destroy(thread_); + thread_ = NULL; + } + } + +protected: + pj_thread_t *thread_; + + static int PJ_THREAD_FUNC thread_proc(void *obj) + { + Pj_Thread *thread_class = (Pj_Thread*)obj; + return thread_class->main(); + } +}; + + +// +// External Thread +// (threads that were started by external means, i.e. not +// with Pj_Thread::create). +// +// This class will normally be defined as local variable in +// external thread's stack, normally inside thread's main proc. +// But be aware that the handle will be destroyed on destructor! +// +class Pj_External_Thread : public Pj_Thread +{ +public: + Pj_External_Thread() + { + } + + // + // Register external thread so that pjlib functions can work + // in that thread. + // + pj_status_t register_this_thread( const char *name=NULL ) + { + return Pj_Thread_API::register_this_thread(desc_, &thread_,name); + } + +private: + pj_thread_desc desc_; +}; + + +// +// Thread specific data/thread local storage/TLS. +// +class Pj_Thread_Local_API +{ +public: + // + // Allocate thread local storage (TLS) index. + // + static pj_status_t alloc(long *index) + { + return pj_thread_local_alloc(index); + } + + // + // Free TLS index. + // + static void free(long index) + { + pj_thread_local_free(index); + } + + // + // Set thread specific data. + // + static pj_status_t set(long index, void *value) + { + return pj_thread_local_set(index, value); + } + + // + // Get thread specific data. + // + static void *get(long index) + { + return pj_thread_local_get(index); + } + +}; + +// +// Atomic variable +// +// How to use: +// Pj_Atomic_Var var(pool, 0); +// var.set(..); +// +class Pj_Atomic_Var : public Pj_Object +{ +public: + // + // Default constructor, initialize variable with NULL. + // + Pj_Atomic_Var() + : var_(NULL) + { + } + + // + // Construct atomic variable. + // + Pj_Atomic_Var(Pj_Pool *pool, pj_atomic_value_t value) + : var_(NULL) + { + create(pool, value); + } + + // + // Destructor. + // + ~Pj_Atomic_Var() + { + destroy(); + } + + // + // Create atomic variable. + // + pj_status_t create( Pj_Pool *pool, pj_atomic_value_t value) + { + destroy(); + return pj_atomic_create(pool->pool_(), value, &var_); + } + + // + // Destroy. + // + void destroy() + { + if (var_) { + pj_atomic_destroy(var_); + var_ = NULL; + } + } + + // + // Get pjlib compatible atomic variable. + // + pj_atomic_t *pj_atomic_t_() + { + return var_; + } + + // + // Set the value. + // + void set(pj_atomic_value_t val) + { + pj_atomic_set(var_, val); + } + + // + // Get the value. + // + pj_atomic_value_t get() + { + return pj_atomic_get(var_); + } + + // + // Increment. + // + void inc() + { + pj_atomic_inc(var_); + } + + // + // Increment and get the result. + // + pj_atomic_value_t inc_and_get() + { + return pj_atomic_inc_and_get(var_); + } + + // + // Decrement. + // + void dec() + { + pj_atomic_dec(var_); + } + + // + // Decrement and get the result. + // + pj_atomic_value_t dec_and_get() + { + return pj_atomic_dec_and_get(var_); + } + + // + // Add the variable. + // + void add(pj_atomic_value_t value) + { + pj_atomic_add(var_, value); + } + + // + // Add the variable and get the value. + // + pj_atomic_value_t add_and_get(pj_atomic_value_t value) + { + return pj_atomic_add_and_get(var_, value ); + } + +private: + pj_atomic_t *var_; +}; + + +// +// Mutex +// +class Pj_Mutex : public Pj_Object +{ +public: + // + // Mutex type. + // + enum Type + { + DEFAULT = PJ_MUTEX_DEFAULT, + SIMPLE = PJ_MUTEX_SIMPLE, + RECURSE = PJ_MUTEX_RECURSE, + }; + + // + // Default constructor will create default mutex. + // + explicit Pj_Mutex(Pj_Pool *pool, Type type = DEFAULT, + const char *name = NULL) + : mutex_(NULL) + { + create(pool, type, name); + } + + // + // Destructor. + // + ~Pj_Mutex() + { + destroy(); + } + + // + // Create mutex. + // + pj_status_t create( Pj_Pool *pool, Type type, const char *name = NULL) + { + destroy(); + return pj_mutex_create( pool->pool_(), name, type, + &mutex_ ); + } + + // + // Create simple mutex. + // + pj_status_t create_simple( Pj_Pool *pool,const char *name = NULL) + { + return create(pool, SIMPLE, name); + } + + // + // Create recursive mutex. + // + pj_status_t create_recursive( Pj_Pool *pool, const char *name = NULL ) + { + return create(pool, RECURSE, name); + } + + // + // Get pjlib compatible mutex object. + // + pj_mutex_t *pj_mutex_t_() + { + return mutex_; + } + + // + // Destroy mutex. + // + void destroy() + { + if (mutex_) { + pj_mutex_destroy(mutex_); + mutex_ = NULL; + } + } + + // + // Lock mutex. + // + pj_status_t acquire() + { + return pj_mutex_lock(mutex_); + } + + // + // Unlock mutex. + // + pj_status_t release() + { + return pj_mutex_unlock(mutex_); + } + + // + // Try locking the mutex. + // + pj_status_t tryacquire() + { + return pj_mutex_trylock(mutex_); + } + +private: + pj_mutex_t *mutex_; +}; + + +// +// Semaphore +// +class Pj_Semaphore : public Pj_Object +{ +public: + // + // Construct semaphore + // + Pj_Semaphore(Pj_Pool *pool, unsigned max, + unsigned initial = 0, const char *name = NULL) + : sem_(NULL) + { + create(pool, max, initial, name); + } + + // + // Destructor. + // + ~Pj_Semaphore() + { + destroy(); + } + + // + // Create semaphore + // + pj_status_t create( Pj_Pool *pool, unsigned max, + unsigned initial = 0, const char *name = NULL ) + { + destroy(); + return pj_sem_create( pool->pool_(), name, initial, max, &sem_); + } + + // + // Destroy semaphore. + // + void destroy() + { + if (sem_) { + pj_sem_destroy(sem_); + sem_ = NULL; + } + } + + // + // Get pjlib compatible semaphore object. + // + pj_sem_t *pj_sem_t_() + { + return (pj_sem_t*)this; + } + + // + // Wait semaphore. + // + pj_status_t wait() + { + return pj_sem_wait(this->pj_sem_t_()); + } + + // + // Wait semaphore. + // + pj_status_t acquire() + { + return wait(); + } + + // + // Try wait semaphore. + // + pj_status_t trywait() + { + return pj_sem_trywait(this->pj_sem_t_()); + } + + // + // Try wait semaphore. + // + pj_status_t tryacquire() + { + return trywait(); + } + + // + // Post semaphore. + // + pj_status_t post() + { + return pj_sem_post(this->pj_sem_t_()); + } + + // + // Post semaphore. + // + pj_status_t release() + { + return post(); + } + +private: + pj_sem_t *sem_; +}; + + +// +// Event object. +// +class Pj_Event +{ +public: + // + // Construct event object. + // + Pj_Event( Pj_Pool *pool, bool manual_reset = false, + bool initial = false, const char *name = NULL ) + : event_(NULL) + { + create(pool, manual_reset, initial, name); + } + + // + // Destructor. + // + ~Pj_Event() + { + destroy(); + } + + // + // Create event object. + // + pj_status_t create( Pj_Pool *pool, bool manual_reset = false, + bool initial = false, const char *name = NULL) + { + destroy(); + return pj_event_create(pool->pool_(), name, manual_reset, initial, + &event_); + } + + // + // Get pjlib compatible event object. + // + pj_event_t *pj_event_t_() + { + return event_; + } + + // + // Destroy event object. + // + void destroy() + { + if (event_) { + pj_event_destroy(event_); + event_ = NULL; + } + } + + // + // Wait. + // + pj_status_t wait() + { + return pj_event_wait(event_); + } + + // + // Try wait. + // + pj_status_t trywait() + { + return pj_event_trywait(event_); + } + + // + // Set event state to signalled. + // + pj_status_t set() + { + return pj_event_set(this->pj_event_t_()); + } + + // + // Release one waiting thread. + // + pj_status_t pulse() + { + return pj_event_pulse(this->pj_event_t_()); + } + + // + // Set a non-signalled. + // + pj_status_t reset() + { + return pj_event_reset(this->pj_event_t_()); + } + +private: + pj_event_t *event_; +}; + +// +// Timestamp +// +class Pj_Timestamp +{ +public: + pj_status_t get_timestamp() + { + return pj_get_timestamp(&ts_); + } + + Pj_Timestamp& operator += (const Pj_Timestamp &rhs) + { + pj_add_timestamp(&ts_, &rhs.ts_); + return *this; + } + + Pj_Timestamp& operator -= (const Pj_Timestamp &rhs) + { + pj_sub_timestamp(&ts_, &rhs.ts_); + return *this; + } + + Pj_Time_Val to_time() const + { + Pj_Timestamp zero; + pj_memset(&zero, 0, sizeof(zero)); + return Pj_Time_Val(pj_elapsed_time(&zero.ts_, &ts_)); + } + + pj_uint32_t to_msec() const + { + Pj_Timestamp zero; + pj_memset(&zero, 0, sizeof(zero)); + return pj_elapsed_msec(&zero.ts_, &ts_); + } + + pj_uint32_t to_usec() const + { + Pj_Timestamp zero; + pj_memset(&zero, 0, sizeof(zero)); + return pj_elapsed_usec(&zero.ts_, &ts_); + } + + pj_uint32_t to_nanosec() const + { + Pj_Timestamp zero; + pj_memset(&zero, 0, sizeof(zero)); + return pj_elapsed_nanosec(&zero.ts_, &ts_); + } + + pj_uint32_t to_cycle() const + { + Pj_Timestamp zero; + pj_memset(&zero, 0, sizeof(zero)); + return pj_elapsed_cycle(&zero.ts_, &ts_); + } + +private: + pj_timestamp ts_; +}; + + +// +// OS abstraction. +// +class Pj_OS_API +{ +public: + // + // Get current time. + // + static pj_status_t gettimeofday( Pj_Time_Val *tv ) + { + return pj_gettimeofday(tv); + } + + // + // Parse to time of day. + // + static pj_status_t time_decode( const Pj_Time_Val *tv, + pj_parsed_time *pt ) + { + return pj_time_decode(tv, pt); + } + + // + // Parse from time of day. + // + static pj_status_t time_encode( const pj_parsed_time *pt, + Pj_Time_Val *tv) + { + return pj_time_encode(pt, tv); + } + + // + // Convert to GMT. + // + static pj_status_t time_local_to_gmt( Pj_Time_Val *tv ) + { + return pj_time_local_to_gmt( tv ); + } + + // + // Convert time to local. + // + static pj_status_t time_gmt_to_local( Pj_Time_Val *tv) + { + return pj_time_gmt_to_local( tv ); + } +}; + +// +// Timeval inlines. +// +inline pj_status_t Pj_Time_Val::gettimeofday() +{ + return Pj_OS_API::gettimeofday(this); +} + +inline pj_parsed_time Pj_Time_Val::decode() +{ + pj_parsed_time pt; + Pj_OS_API::time_decode(this, &pt); + return pt; +} + +inline pj_status_t Pj_Time_Val::encode(const pj_parsed_time *pt) +{ + return Pj_OS_API::time_encode(pt, this); +} + +inline pj_status_t Pj_Time_Val::to_gmt() +{ + return Pj_OS_API::time_local_to_gmt(this); +} + +inline pj_status_t Pj_Time_Val::to_local() +{ + return Pj_OS_API::time_gmt_to_local(this); +} + +#endif /* __PJPP_OS_HPP__ */ + diff --git a/pjlib/include/pj++/pool.hpp b/pjlib/include/pj++/pool.hpp new file mode 100644 index 0000000..8800ddb --- /dev/null +++ b/pjlib/include/pj++/pool.hpp @@ -0,0 +1,279 @@ +/* $Id: pool.hpp 2394 2008-12-23 17:27:53Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJPP_POOL_HPP__ +#define __PJPP_POOL_HPP__ + +#include + +class Pj_Pool; +class Pj_Caching_Pool; + +// +// Base class for all Pjlib objects +// +class Pj_Object +{ +public: + void *operator new(unsigned int class_size, Pj_Pool *pool); + void *operator new(unsigned int class_size, Pj_Pool &pool); + + void operator delete(void*) + { + } + + void operator delete(void*, Pj_Pool*) + { + } + + void operator delete(void*, Pj_Pool&) + { + } + + // + // Inline implementations at the end of this file. + // + +private: + // Can not use normal new operator; must use pool. + // e.g.: + // obj = new(pool) Pj_The_Object(pool, ...); + // + void *operator new(unsigned int) + {} +}; + + +// +// Pool. +// +class Pj_Pool : public Pj_Object +{ +public: + // + // Default constructor, initializes internal pool to NULL. + // Application must call attach() some time later. + // + Pj_Pool() + : p_(NULL) + { + } + + // + // Create pool. + // + Pj_Pool(Pj_Caching_Pool &caching_pool, + pj_size_t initial_size, + pj_size_t increment_size, + const char *name = NULL, + pj_pool_callback *callback = NULL); + + // + // Construct from existing pool. + // + explicit Pj_Pool(pj_pool_t *pool) + : p_(pool) + { + } + + // + // Attach existing pool. + // + void attach(pj_pool_t *pool) + { + p_ = pool; + } + + // + // Destructor. + // + // Release pool back to factory. Remember: if you delete pool, then + // make sure that all objects that have been allocated from this pool + // have been properly destroyed. + // + // This is where C++ is trickier than plain C!! + // + ~Pj_Pool() + { + if (p_) + pj_pool_release(p_); + } + + // + // Get name. + // + const char *getobjname() const + { + return pj_pool_getobjname(p_); + } + + // + // You can cast Pj_Pool to pj_pool_t* + // + operator pj_pool_t*() + { + return p_; + } + + // + // Get pjlib compatible pool object. + // + pj_pool_t *pool_() + { + return p_; + } + + // + // Get pjlib compatible pool object. + // + const pj_pool_t *pool_() const + { + return p_; + } + + // + // Get pjlib compatible pool object. + // + pj_pool_t *pj_pool_t_() + { + return p_; + } + + // + // Reset pool. + // + void reset() + { + pj_pool_reset(p_); + } + + // + // Get current capacity. + // + pj_size_t get_capacity() + { + pj_pool_get_capacity(p_); + } + + // + // Get current total bytes allocated from the pool. + // + pj_size_t get_used_size() + { + pj_pool_get_used_size(p_); + } + + // + // Allocate. + // + void *alloc(pj_size_t size) + { + return pj_pool_alloc(p_, size); + } + + // + // Allocate elements and zero fill the memory. + // + void *calloc(pj_size_t count, pj_size_t elem) + { + return pj_pool_calloc(p_, count, elem); + } + + // + // Allocate and zero fill memory. + // + void *zalloc(pj_size_t size) + { + return pj_pool_zalloc(p_, size); + } + +private: + pj_pool_t *p_; +}; + + +// +// Caching pool. +// +class Pj_Caching_Pool +{ +public: + // + // Construct caching pool. + // + Pj_Caching_Pool( pj_size_t cache_capacity = 0, + const pj_pool_factory_policy *pol=&pj_pool_factory_default_policy) + { + pj_caching_pool_init(&cp_, pol, cache_capacity); + } + + // + // Destroy caching pool. + // + ~Pj_Caching_Pool() + { + pj_caching_pool_destroy(&cp_); + } + + // + // Create pool. + // + pj_pool_t *create_pool( pj_size_t initial_size, + pj_size_t increment_size, + const char *name = NULL, + pj_pool_callback *callback = NULL) + { + return (pj_pool_t*)(*cp_.factory.create_pool)(&cp_.factory, name, + initial_size, + increment_size, + callback); + } + +private: + pj_caching_pool cp_; +}; + +// +// Inlines for Pj_Object +// +inline void *Pj_Object::operator new(unsigned int class_size, Pj_Pool *pool) +{ + return pool->alloc(class_size); +} +inline void *Pj_Object::operator new(unsigned int class_size, Pj_Pool &pool) +{ + return pool.alloc(class_size); +} + +// +// Inlines for Pj_Pool +// +inline Pj_Pool::Pj_Pool( Pj_Caching_Pool &caching_pool, + pj_size_t initial_size, + pj_size_t increment_size, + const char *name, + pj_pool_callback *callback) +{ + p_ = caching_pool.create_pool(initial_size, increment_size, name, + callback); +} + + +#endif /* __PJPP_POOL_HPP__ */ + diff --git a/pjlib/include/pj++/proactor.hpp b/pjlib/include/pj++/proactor.hpp new file mode 100644 index 0000000..7e33564 --- /dev/null +++ b/pjlib/include/pj++/proactor.hpp @@ -0,0 +1,515 @@ +/* $Id: proactor.hpp 2394 2008-12-23 17:27:53Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJPP_PROACTOR_HPP__ +#define __PJPP_PROACTOR_HPP__ + +#include +#include +#include +#include +#include + +class Pj_Proactor; +class Pj_Event_Handler; + + +////////////////////////////////////////////////////////////////////////////// +// Asynchronous operation key. +// +// Applications may inheric this class to put their application +// specific data. +// +class Pj_Async_Op : public pj_ioqueue_op_key_t +{ +public: + // + // Construct with null handler. + // App must call set_handler() before use. + // + Pj_Async_Op() + : handler_(NULL) + { + pj_ioqueue_op_key_init(this, sizeof(*this)); + } + + // + // Constructor. + // + explicit Pj_Async_Op(Pj_Event_Handler *handler) + : handler_(handler) + { + pj_ioqueue_op_key_init(this, sizeof(*this)); + } + + // + // Set handler. + // + void set_handler(Pj_Event_Handler *handler) + { + handler_ = handler; + } + + // + // Check whether operation is still pending for this key. + // + bool is_pending(); + + // + // Cancel the operation. + // + bool cancel(pj_ssize_t bytes_status=-PJ_ECANCELLED); + +protected: + Pj_Event_Handler *handler_; +}; + + +////////////////////////////////////////////////////////////////////////////// +// Event handler. +// +// Applications should inherit this class to receive various event +// notifications. +// +// Applications should implement get_socket_handle(). +// +class Pj_Event_Handler : public Pj_Object +{ + friend class Pj_Proactor; +public: + // + // Default constructor. + // + Pj_Event_Handler() + : key_(NULL) + { + pj_memset(&timer_, 0, sizeof(timer_)); + timer_.user_data = this; + timer_.cb = &timer_callback; + } + + // + // Destroy. + // + virtual ~Pj_Event_Handler() + { + unregister(); + } + + // + // Unregister this handler from the ioqueue. + // + void unregister() + { + if (key_) { + pj_ioqueue_unregister(key_); + key_ = NULL; + } + } + + // + // Get socket handle associated with this. + // + virtual pj_sock_t get_socket_handle() + { + return PJ_INVALID_SOCKET; + } + + // + // Start async receive. + // + pj_status_t recv( Pj_Async_Op *op_key, + void *buf, pj_ssize_t *len, + unsigned flags) + { + return pj_ioqueue_recv( key_, op_key, + buf, len, flags); + } + + // + // Start async recvfrom() + // + pj_status_t recvfrom( Pj_Async_Op *op_key, + void *buf, pj_ssize_t *len, unsigned flags, + Pj_Inet_Addr *addr) + { + addr->addrlen_ = sizeof(Pj_Inet_Addr); + return pj_ioqueue_recvfrom( key_, op_key, buf, len, flags, + addr, &addr->addrlen_ ); + } + + // + // Start async send() + // + pj_status_t send( Pj_Async_Op *op_key, + const void *data, pj_ssize_t *len, + unsigned flags) + { + return pj_ioqueue_send( key_, op_key, data, len, flags); + } + + // + // Start async sendto() + // + pj_status_t sendto( Pj_Async_Op *op_key, + const void *data, pj_ssize_t *len, unsigned flags, + const Pj_Inet_Addr &addr) + { + return pj_ioqueue_sendto(key_, op_key, data, len, flags, + &addr, sizeof(addr)); + } + +#if PJ_HAS_TCP + // + // Start async connect() + // + pj_status_t connect(const Pj_Inet_Addr &addr) + { + return pj_ioqueue_connect(key_, &addr, sizeof(addr)); + } + + // + // Start async accept(). + // + pj_status_t accept( Pj_Async_Op *op_key, + Pj_Socket *sock, + Pj_Inet_Addr *local = NULL, + Pj_Inet_Addr *remote = NULL) + { + int *addrlen = local ? &local->addrlen_ : NULL; + return pj_ioqueue_accept( key_, op_key, &sock->sock_, + local, remote, addrlen ); + } + +#endif + +protected: + ////////////////// + // Overridables + ////////////////// + + // + // Timeout callback. + // + virtual void on_timeout(int) + { + } + + // + // On read complete callback. + // + virtual void on_read_complete( Pj_Async_Op*, pj_ssize_t) + { + } + + // + // On write complete callback. + // + virtual void on_write_complete( Pj_Async_Op *, pj_ssize_t) + { + } + +#if PJ_HAS_TCP + // + // On connect complete callback. + // + virtual void on_connect_complete(pj_status_t) + { + } + + // + // On new connection callback. + // + virtual void on_accept_complete( Pj_Async_Op*, pj_sock_t, pj_status_t) + { + } + +#endif + + +private: + pj_ioqueue_key_t *key_; + pj_timer_entry timer_; + + friend class Pj_Proactor; + friend class Pj_Async_Op; + + // + // Static timer callback. + // + static void timer_callback( pj_timer_heap_t*, + struct pj_timer_entry *entry) + { + Pj_Event_Handler *handler = + (Pj_Event_Handler*) entry->user_data; + + handler->on_timeout(entry->id); + } +}; + +inline bool Pj_Async_Op::is_pending() +{ + return pj_ioqueue_is_pending(handler_->key_, this) != 0; +} + +inline bool Pj_Async_Op::cancel(pj_ssize_t bytes_status) +{ + return pj_ioqueue_post_completion(handler_->key_, this, + bytes_status) == PJ_SUCCESS; +} + +////////////////////////////////////////////////////////////////////////////// +// Proactor +// +class Pj_Proactor : public Pj_Object +{ +public: + // + // Default constructor, initializes to NULL. + // + Pj_Proactor() + : ioq_(NULL), th_(NULL) + { + cb_.on_read_complete = &read_complete_cb; + cb_.on_write_complete = &write_complete_cb; + cb_.on_accept_complete = &accept_complete_cb; + cb_.on_connect_complete = &connect_complete_cb; + } + + // + // Construct proactor. + // + Pj_Proactor( Pj_Pool *pool, pj_size_t max_fd, + pj_size_t max_timer_entries ) + : ioq_(NULL), th_(NULL) + { + cb_.on_read_complete = &read_complete_cb; + cb_.on_write_complete = &write_complete_cb; + cb_.on_accept_complete = &accept_complete_cb; + cb_.on_connect_complete = &connect_complete_cb; + + create(pool, max_fd, max_timer_entries); + } + + // + // Destructor. + // + ~Pj_Proactor() + { + destroy(); + } + + // + // Create proactor. + // + pj_status_t create( Pj_Pool *pool, pj_size_t max_fd, + pj_size_t timer_entry_count) + { + pj_status_t status; + + destroy(); + + status = pj_ioqueue_create(pool->pool_(), max_fd, &ioq_); + if (status != PJ_SUCCESS) + return status; + + status = pj_timer_heap_create(pool->pool_(), + timer_entry_count, &th_); + if (status != PJ_SUCCESS) { + pj_ioqueue_destroy(ioq_); + ioq_ = NULL; + return NULL; + } + + return status; + } + + // + // Destroy proactor. + // + void destroy() + { + if (ioq_) { + pj_ioqueue_destroy(ioq_); + ioq_ = NULL; + } + if (th_) { + pj_timer_heap_destroy(th_); + th_ = NULL; + } + } + + // + // Register handler. + // This will call handler->get_socket_handle() + // + pj_status_t register_socket_handler(Pj_Pool *pool, + Pj_Event_Handler *handler) + { + return pj_ioqueue_register_sock( pool->pool_(), ioq_, + handler->get_socket_handle(), + handler, &cb_, &handler->key_ ); + } + + // + // Unregister handler. + // + static void unregister_handler(Pj_Event_Handler *handler) + { + if (handler->key_) { + pj_ioqueue_unregister( handler->key_ ); + handler->key_ = NULL; + } + } + + // + // Scheduler timer. + // + bool schedule_timer( Pj_Event_Handler *handler, + const Pj_Time_Val &delay, + int id=-1) + { + return schedule_timer(th_, handler, delay, id); + } + + // + // Cancel timer. + // + bool cancel_timer(Pj_Event_Handler *handler) + { + return pj_timer_heap_cancel(th_, &handler->timer_) == 1; + } + + // + // Handle events. + // + int handle_events(Pj_Time_Val *max_timeout) + { + Pj_Time_Val timeout(0, 0); + int timer_count; + + timer_count = pj_timer_heap_poll( th_, &timeout ); + + if (timeout.get_sec() < 0) + timeout.sec = PJ_MAXINT32; + + /* If caller specifies maximum time to wait, then compare the value + * with the timeout to wait from timer, and use the minimum value. + */ + if (max_timeout && timeout >= *max_timeout) { + timeout = *max_timeout; + } + + /* Poll events in ioqueue. */ + int ioqueue_count; + + ioqueue_count = pj_ioqueue_poll(ioq_, &timeout); + if (ioqueue_count < 0) + return ioqueue_count; + + return ioqueue_count + timer_count; + } + + // + // Get the internal ioqueue object. + // + pj_ioqueue_t *get_io_queue() + { + return ioq_; + } + + // + // Get the internal timer heap object. + // + pj_timer_heap_t *get_timer_heap() + { + return th_; + } + +private: + pj_ioqueue_t *ioq_; + pj_timer_heap_t *th_; + pj_ioqueue_callback cb_; + + static bool schedule_timer( pj_timer_heap_t *timer, + Pj_Event_Handler *handler, + const Pj_Time_Val &delay, + int id=-1) + { + handler->timer_.id = id; + return pj_timer_heap_schedule(timer, &handler->timer_, &delay) == 0; + } + + + // + // Static read completion callback. + // + static void read_complete_cb( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_read) + { + Pj_Event_Handler *handler = + (Pj_Event_Handler*) pj_ioqueue_get_user_data(key); + + handler->on_read_complete((Pj_Async_Op*)op_key, bytes_read); + } + + // + // Static write completion callback. + // + static void write_complete_cb(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_sent) + { + Pj_Event_Handler *handler = + (Pj_Event_Handler*) pj_ioqueue_get_user_data(key); + + handler->on_write_complete((Pj_Async_Op*)op_key, bytes_sent); + } + + // + // Static accept completion callback. + // + static void accept_complete_cb(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_sock_t new_sock, + pj_status_t status) + { + Pj_Event_Handler *handler = + (Pj_Event_Handler*) pj_ioqueue_get_user_data(key); + + handler->on_accept_complete((Pj_Async_Op*)op_key, new_sock, status); + } + + // + // Static connect completion callback. + // + static void connect_complete_cb(pj_ioqueue_key_t *key, + pj_status_t status) + { + Pj_Event_Handler *handler = + (Pj_Event_Handler*) pj_ioqueue_get_user_data(key); + + handler->on_connect_complete(status); + } + +}; + +#endif /* __PJPP_PROACTOR_HPP__ */ + diff --git a/pjlib/include/pj++/scanner.hpp b/pjlib/include/pj++/scanner.hpp new file mode 100644 index 0000000..a3de6d8 --- /dev/null +++ b/pjlib/include/pj++/scanner.hpp @@ -0,0 +1,246 @@ +/* $Id: scanner.hpp 2394 2008-12-23 17:27:53Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJPP_SCANNER_HPP__ +#define __PJPP_SCANNER_HPP__ + +#include +#include + +class Pj_Cis; +class Pj_Cis_Buffer; +class Pj_Scanner; + +class Pj_Cis_Buffer +{ + friend class Pj_Cis; + +public: + Pj_Cis_Buffer() + { + pj_cis_buf_init(&buf_); + } + +private: + pj_cis_buf_t buf_; +}; + + +class Pj_Cis +{ + friend class Pj_Scanner; + +public: + Pj_Cis(Pj_Cis_Buffer *buf) + { + pj_cis_init(&buf->buf_, &cis_); + } + + Pj_Cis(const Pj_Cis &rhs) + { + pj_cis_dup(&cis_, (pj_cis_t*)&rhs.cis_); + } + + void add_range(int start, int end) + { + pj_cis_add_range(&cis_, start, end); + } + + void add_alpha() + { + pj_cis_add_alpha(&cis_); + } + + void add_num() + { + pj_cis_add_num(&cis_); + } + + void add_str(const char *str) + { + pj_cis_add_str(&cis_, str); + } + + void add_cis(const Pj_Cis &rhs) + { + pj_cis_add_cis(&cis_, &rhs.cis_); + } + + void del_range(int start, int end) + { + pj_cis_del_range(&cis_, start, end); + } + + void del_str(const char *str) + { + pj_cis_del_str(&cis_, str); + } + + void invert() + { + pj_cis_invert(&cis_); + } + + bool match(int c) const + { + return pj_cis_match(&cis_, c) != 0; + } + +private: + pj_cis_t cis_; +}; + + + +class Pj_Scanner +{ +public: + Pj_Scanner() {} + + enum + { + SYNTAX_ERROR = 101 + }; + static void syntax_error_handler_throw_pj(pj_scanner *); + + typedef pj_scan_state State; + + void init(char *buf, int len, unsigned options=PJ_SCAN_AUTOSKIP_WS, + pj_syn_err_func_ptr callback = &syntax_error_handler_throw_pj) + { + pj_scan_init(&scanner_, buf, len, options, callback); + } + + void fini() + { + pj_scan_fini(&scanner_); + } + + int eof() const + { + return pj_scan_is_eof(&scanner_); + } + + int peek_char() const + { + return *scanner_.curptr; + } + + int peek(const Pj_Cis *cis, Pj_String *out) + { + return pj_scan_peek(&scanner_, &cis->cis_, out); + } + + int peek_n(pj_size_t len, Pj_String *out) + { + return pj_scan_peek_n(&scanner_, len, out); + } + + int peek_until(const Pj_Cis *cis, Pj_String *out) + { + return pj_scan_peek_until(&scanner_, &cis->cis_, out); + } + + void get(const Pj_Cis *cis, Pj_String *out) + { + pj_scan_get(&scanner_, &cis->cis_, out); + } + + void get_n(unsigned N, Pj_String *out) + { + pj_scan_get_n(&scanner_, N, out); + } + + int get_char() + { + return pj_scan_get_char(&scanner_); + } + + void get_quote(int begin_quote, int end_quote, Pj_String *out) + { + pj_scan_get_quote(&scanner_, begin_quote, end_quote, out); + } + + void get_newline() + { + pj_scan_get_newline(&scanner_); + } + + void get_until(const Pj_Cis *cis, Pj_String *out) + { + pj_scan_get_until(&scanner_, &cis->cis_, out); + } + + void get_until_ch(int until_ch, Pj_String *out) + { + pj_scan_get_until_ch(&scanner_, until_ch, out); + } + + void get_until_chr(const char *spec, Pj_String *out) + { + pj_scan_get_until_chr(&scanner_, spec, out); + } + + void advance_n(unsigned N, bool skip_ws=true) + { + pj_scan_advance_n(&scanner_, N, skip_ws); + } + + int strcmp(const char *s, int len) + { + return pj_scan_strcmp(&scanner_, s, len); + } + + int stricmp(const char *s, int len) + { + return pj_scan_stricmp(&scanner_, s, len); + } + + void skip_ws() + { + pj_scan_skip_whitespace(&scanner_); + } + + void save_state(State *state) const + { + pj_scan_save_state(&scanner_, state); + } + + void restore_state(State *state) + { + pj_scan_restore_state(&scanner_, state); + } + + int get_pos_line() const + { + return scanner_.line; + } + + int get_pos_col() const + { + return pj_scan_get_col(&scanner_); + } + + +private: + pj_scanner scanner_; +}; + +#endif /* __PJPP_SCANNER_HPP__ */ + diff --git a/pjlib/include/pj++/sock.hpp b/pjlib/include/pj++/sock.hpp new file mode 100644 index 0000000..1b2b67a --- /dev/null +++ b/pjlib/include/pj++/sock.hpp @@ -0,0 +1,444 @@ +/* $Id: sock.hpp 2394 2008-12-23 17:27:53Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJPP_SOCK_HPP__ +#define __PJPP_SOCK_HPP__ + +#include +#include + +class Pj_Event_Handler; + +// +// Base class for address. +// +class Pj_Addr +{ +}; + +// +// Internet address. +// +class Pj_Inet_Addr : public pj_sockaddr_in, public Pj_Addr +{ +public: + // + // Get port number. + // + pj_uint16_t get_port_number() const + { + return pj_sockaddr_in_get_port(this); + } + + // + // Set port number. + // + void set_port_number(pj_uint16_t port) + { + sin_family = PJ_AF_INET; + pj_sockaddr_in_set_port(this, port); + } + + // + // Get IP address. + // + pj_uint32_t get_ip_address() const + { + return pj_sockaddr_in_get_addr(this).s_addr; + } + + // + // Get address string. + // + const char *get_address() const + { + return pj_inet_ntoa(sin_addr); + } + + // + // Set IP address. + // + void set_ip_address(pj_uint32_t addr) + { + sin_family = PJ_AF_INET; + pj_sockaddr_in_set_addr(this, addr); + } + + // + // Set address. + // + pj_status_t set_address(const pj_str_t *addr) + { + return pj_sockaddr_in_set_str_addr(this, addr); + } + + // + // Set address. + // + pj_status_t set_address(const char *addr) + { + pj_str_t s; + return pj_sockaddr_in_set_str_addr(this, pj_cstr(&s, addr)); + } + + // + // Compare for equality. + // + bool operator==(const Pj_Inet_Addr &rhs) const + { + return sin_family == rhs.sin_family && + sin_addr.s_addr == rhs.sin_addr.s_addr && + sin_port == rhs.sin_port; + } + +private: + // + // Dummy length used in pj_ioqueue_recvfrom() etc + // + friend class Pj_Event_Handler; + friend class Pj_Socket; + friend class Pj_Sock_Stream; + friend class Pj_Sock_Dgram; + + int addrlen_; +}; + + +// +// Socket base class. +// +// Note: +// socket will not automatically be closed on destructor. +// +class Pj_Socket +{ +public: + // + // Default constructor. + // + Pj_Socket() + : sock_(PJ_INVALID_SOCKET) + { + } + + // + // Initialize from a socket handle. + // + explicit Pj_Socket(pj_sock_t sock) + : sock_(sock) + { + } + + // + // Copy constructor. + // + Pj_Socket(const Pj_Socket &rhs) + : sock_(rhs.sock_) + { + } + + // + // Destructor will not close the socket. + // You must call close() explicitly. + // + ~Pj_Socket() + { + } + + // + // Set socket handle. + // + void set_handle(pj_sock_t sock) + { + sock_ = sock; + } + + // + // Get socket handle. + // + pj_sock_t get_handle() const + { + return sock_; + } + + // + // Get socket handle. + // + pj_sock_t& get_handle() + { + return sock_; + } + + // + // See if the socket is valid. + // + bool is_valid() const + { + return sock_ != PJ_INVALID_SOCKET; + } + + // + // Create the socket. + // + pj_status_t create(int af, int type, int proto) + { + return pj_sock_socket(af, type, proto, &sock_); + } + + // + // Bind socket. + // + pj_status_t bind(const Pj_Inet_Addr &addr) + { + return pj_sock_bind(sock_, &addr, sizeof(Pj_Inet_Addr)); + } + + // + // Close socket. + // + pj_status_t close() + { + pj_sock_close(sock_); + } + + // + // Get peer socket name. + // + pj_status_t getpeername(Pj_Inet_Addr *addr) + { + return pj_sock_getpeername(sock_, addr, &addr->addrlen_); + } + + // + // getsockname + // + pj_status_t getsockname(Pj_Inet_Addr *addr) + { + return pj_sock_getsockname(sock_, addr, &addr->addrlen_); + } + + // + // getsockopt. + // + pj_status_t getsockopt(pj_uint16_t level, pj_uint16_t optname, + void *optval, int *optlen) + { + return pj_sock_getsockopt(sock_, level, optname, optval, optlen); + } + + // + // setsockopt + // + pj_status_t setsockopt(pj_uint16_t level, pj_uint16_t optname, + const void *optval, int optlen) + { + return pj_sock_setsockopt(sock_, level, optname, optval, optlen); + } + + // + // receive data. + // + pj_ssize_t recv(void *buf, pj_size_t len, int flag = 0) + { + pj_ssize_t bytes = len; + if (pj_sock_recv(sock_, buf, &bytes, flag) != PJ_SUCCESS) + return -1; + return bytes; + } + + // + // send data. + // + pj_ssize_t send(const void *buf, pj_ssize_t len, int flag = 0) + { + pj_ssize_t bytes = len; + if (pj_sock_send(sock_, buf, &bytes, flag) != PJ_SUCCESS) + return -1; + return bytes; + } + + // + // connect. + // + pj_status_t connect(const Pj_Inet_Addr &addr) + { + return pj_sock_connect(sock_, &addr, sizeof(Pj_Inet_Addr)); + } + + // + // assignment. + // + Pj_Socket &operator=(const Pj_Socket &rhs) + { + sock_ = rhs.sock_; + return *this; + } + +protected: + friend class Pj_Event_Handler; + pj_sock_t sock_; +}; + + +#if PJ_HAS_TCP +// +// Stream socket. +// +class Pj_Sock_Stream : public Pj_Socket +{ +public: + // + // Default constructor. + // + Pj_Sock_Stream() + { + } + + // + // Initialize from a socket handle. + // + explicit Pj_Sock_Stream(pj_sock_t sock) + : Pj_Socket(sock) + { + } + + // + // Copy constructor. + // + Pj_Sock_Stream(const Pj_Sock_Stream &rhs) : Pj_Socket(rhs) + { + } + + // + // Assignment. + // + Pj_Sock_Stream &operator=(const Pj_Sock_Stream &rhs) + { + sock_ = rhs.sock_; + return *this; + } + + // + // listen() + // + pj_status_t listen(int backlog = 5) + { + return pj_sock_listen(sock_, backlog); + } + + // + // blocking accept() + // + Pj_Sock_Stream accept(Pj_Inet_Addr *remote_addr = NULL) + { + pj_sock_t newsock; + int *addrlen = remote_addr ? &remote_addr->addrlen_ : NULL; + pj_status_t status; + + status = pj_sock_accept(sock_, &newsock, remote_addr, addrlen); + if (status != PJ_SUCCESS) + return Pj_Sock_Stream(-1); + + return Pj_Sock_Stream(newsock); + } + + // + // shutdown() + // + pj_status_t shutdown(int how = PJ_SHUT_RDWR) + { + return pj_sock_shutdown(sock_, how); + } + +}; +#endif + +// +// Datagram socket. +// +class Pj_Sock_Dgram : public Pj_Socket +{ +public: + // + // Default constructor. + // + Pj_Sock_Dgram() + { + } + + // + // Initialize from a socket handle. + // + explicit Pj_Sock_Dgram(pj_sock_t sock) + : Pj_Socket(sock) + { + } + + // + // Copy constructor. + // + Pj_Sock_Dgram(const Pj_Sock_Dgram &rhs) + : Pj_Socket(rhs) + { + } + + // + // Assignment. + // + Pj_Sock_Dgram &operator=(const Pj_Sock_Dgram &rhs) + { + Pj_Socket::operator =(rhs); + return *this; + } + + // + // recvfrom() + // + pj_ssize_t recvfrom( void *buf, pj_size_t len, int flag = 0, + Pj_Inet_Addr *fromaddr = NULL) + { + pj_ssize_t bytes = len; + int *addrlen = fromaddr ? &fromaddr->addrlen_ : NULL; + if (pj_sock_recvfrom( sock_, buf, &bytes, flag, + fromaddr, addrlen) != PJ_SUCCESS) + { + return -1; + } + return bytes; + } + + // + // sendto() + // + pj_ssize_t sendto( const void *buf, pj_size_t len, int flag, + const Pj_Inet_Addr &addr) + { + pj_ssize_t bytes = len; + if (pj_sock_sendto( sock_, buf, &bytes, flag, + &addr, sizeof(pj_sockaddr_in)) != PJ_SUCCESS) + { + return -1; + } + return bytes; + } +}; + + +#endif /* __PJPP_SOCK_HPP__ */ + diff --git a/pjlib/include/pj++/string.hpp b/pjlib/include/pj++/string.hpp new file mode 100644 index 0000000..3c21685 --- /dev/null +++ b/pjlib/include/pj++/string.hpp @@ -0,0 +1,468 @@ +/* $Id: string.hpp 2394 2008-12-23 17:27:53Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJPP_STRING_HPP__ +#define __PJPP_STRING_HPP__ + +#include +#include +#include + +// +// String wrapper class for pj_str_t. +// +class Pj_String : public pj_str_t +{ +public: + // + // Default constructor. + // + Pj_String() + { + pj_assert(sizeof(Pj_String) == sizeof(pj_str_t)); + ptr=NULL; + slen=0; + } + + // + // Construct the buffer from a char* (use with care) + // + Pj_String(char *str) + { + set(str); + } + + // + // Construct from a const char*. + // + Pj_String(Pj_Pool &pool, const char *src) + { + set(pool, src); + } + + // + // Construct from pj_str_t&. + // + explicit Pj_String(pj_str_t &s) + { + ptr = s.ptr; + slen = s.slen; + } + + // + // Construct from const pj_str_t& (use with care!). + // + explicit Pj_String(const pj_str_t &s) + { + ptr = (char*)s.ptr; + slen = s.slen; + } + + // + // Construct by copying from const pj_str_t*. + // + Pj_String(Pj_Pool &pool, const pj_str_t *s) + { + set(pool, s); + } + + // + // Construct by copying from Pj_String + // + Pj_String(Pj_Pool &pool, const Pj_String &rhs) + { + set(pool, rhs); + } + + // + // Construct from another Pj_String, use with care! + // + explicit Pj_String(const Pj_String &rhs) + { + ptr = rhs.ptr; + slen = rhs.slen; + } + + // + // Construct from a char* and a length. + // + Pj_String(char *str, pj_size_t len) + { + set(str, len); + } + + // + // Construct from pair of pointer. + // + Pj_String(char *begin, char *end) + { + pj_strset3(this, begin, end); + } + + // + // You can cast Pj_String to pj_str_t* + // + operator pj_str_t*() + { + return this; + } + + // + // You can cast const Pj_String to const pj_str_t* + // + operator const pj_str_t*() const + { + return this; + } + + // + // Get the length of the string. + // + pj_size_t length() const + { + return pj_strlen(this); + } + + // + // Get the length of the string. + // + pj_size_t size() const + { + return length(); + } + + // + // Get the string buffer. + // + const char *buf() const + { + return ptr; + } + + // + // Initialize buffer from char*. + // + void set(char *str) + { + pj_strset2(this, str); + } + + // + // Initialize by copying from a const char*. + // + void set(Pj_Pool &pool, const char *s) + { + pj_strdup2(pool, this, s); + } + + // + // Initialize from pj_str_t*. + // + void set(pj_str_t *s) + { + pj_strassign(this, s); + } + + // + // Initialize by copying from const pj_str_t*. + // + void set(Pj_Pool &pool, const pj_str_t *s) + { + pj_strdup(pool, this, s); + } + + // + // Initialize from char* and length. + // + void set(char *str, pj_size_t len) + { + pj_strset(this, str, len); + } + + // + // Initialize from pair of pointers. + // + void set(char *begin, char *end) + { + pj_strset3(this, begin, end); + } + + // + // Initialize from other Pj_String. + // + void set(Pj_String &rhs) + { + pj_strassign(this, &rhs); + } + + // + // Initialize by copying from a Pj_String*. + // + void set(Pj_Pool &pool, const Pj_String *s) + { + pj_strdup(pool, this, s); + } + + // + // Initialize by copying from other Pj_String. + // + void set(Pj_Pool &pool, const Pj_String &s) + { + pj_strdup(pool, this, &s); + } + + // + // Copy the contents of other string. + // + void strcpy(const pj_str_t *s) + { + pj_strcpy(this, s); + } + + // + // Copy the contents of other string. + // + void strcpy(const Pj_String &rhs) + { + pj_strcpy(this, &rhs); + } + + // + // Copy the contents of other string. + // + void strcpy(const char *s) + { + pj_strcpy2(this, s); + } + + // + // Compare string. + // + int strcmp(const char *s) const + { + return pj_strcmp2(this, s); + } + + // + // Compare string. + // + int strcmp(const pj_str_t *s) const + { + return pj_strcmp(this, s); + } + + // + // Compare string. + // + int strcmp(const Pj_String &rhs) const + { + return pj_strcmp(this, &rhs); + } + + // + // Compare string. + // + int strncmp(const char *s, pj_size_t len) const + { + return pj_strncmp2(this, s, len); + } + + // + // Compare string. + // + int strncmp(const pj_str_t *s, pj_size_t len) const + { + return pj_strncmp(this, s, len); + } + + // + // Compare string. + // + int strncmp(const Pj_String &rhs, pj_size_t len) const + { + return pj_strncmp(this, &rhs, len); + } + + // + // Compare string. + // + int stricmp(const char *s) const + { + return pj_stricmp2(this, s); + } + + // + // Compare string. + // + int stricmp(const pj_str_t *s) const + { + return pj_stricmp(this, s); + } + + // + // Compare string. + // + int stricmp(const Pj_String &rhs) const + { + return stricmp(&rhs); + } + + // + // Compare string. + // + int strnicmp(const char *s, pj_size_t len) const + { + return pj_strnicmp2(this, s, len); + } + + // + // Compare string. + // + int strnicmp(const pj_str_t *s, pj_size_t len) const + { + return pj_strnicmp(this, s, len); + } + + // + // Compare string. + // + int strnicmp(const Pj_String &rhs, pj_size_t len) const + { + return strnicmp(&rhs, len); + } + + // + // Compare contents for equality. + // + bool operator==(const char *s) const + { + return strcmp(s) == 0; + } + + // + // Compare contents for equality. + // + bool operator==(const pj_str_t *s) const + { + return strcmp(s) == 0; + } + + // + // Compare contents for equality. + // + bool operator==(const Pj_String &rhs) const + { + return pj_strcmp(this, &rhs) == 0; + } + + // + // Assign from char* + // + Pj_String& operator=(char *s) + { + set(s); + return *this; + } + + /// + // Assign from another Pj_String, use with care! + // + Pj_String& operator=(const Pj_String &rhs) + { + ptr = rhs.ptr; + slen = rhs.slen; + return *this; + } + + // + // Find a character in the string. + // + char *strchr(int chr) + { + return pj_strchr(this, chr); + } + + // + // Find a character in the string. + // + char *find(int chr) + { + return strchr(chr); + } + + // + // Concatenate string. + // + void strcat(const Pj_String &rhs) + { + pj_strcat(this, &rhs); + } + + // + // Left trim. + // + void ltrim() + { + pj_strltrim(this); + } + + // + // Right trim. + // + void rtrim() + { + pj_strrtrim(this); + } + + // + // Left and right trim. + // + void trim() + { + pj_strtrim(this); + } + + // + // Convert to unsigned long. + // + unsigned long to_ulong() const + { + return pj_strtoul(this); + } + + // + // Convert from unsigned long. + // + void from_ulong(unsigned long value) + { + slen = pj_utoa(value, ptr); + } + + // + // Convert from unsigned long with padding. + // + void from_ulong_with_pad(unsigned long value, int min_dig=0, int pad=' ') + { + slen = pj_utoa_pad(value, ptr, min_dig, pad); + } + +}; + +#endif /* __PJPP_STRING_HPP__ */ + diff --git a/pjlib/include/pj++/timer.hpp b/pjlib/include/pj++/timer.hpp new file mode 100644 index 0000000..c6bae69 --- /dev/null +++ b/pjlib/include/pj++/timer.hpp @@ -0,0 +1,198 @@ +/* $Id: timer.hpp 2394 2008-12-23 17:27:53Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJPP_TIMER_HPP__ +#define __PJPP_TIMER_HPP__ + +#include +#include +#include +#include + +class Pj_Timer_Heap; + +////////////////////////////////////////////////////////////////////////////// +// Timer entry. +// +// How to use: +// Derive class from Pj_Timer_Entry and override on_timeout(). +// Scheduler timer in Pj_Timer_Heap. +// +class Pj_Timer_Entry : public Pj_Object +{ + friend class Pj_Timer_Heap; + +public: + // + // Default constructor. + // + Pj_Timer_Entry() + { + entry_.user_data = this; + entry_.cb = &timer_heap_callback; + } + + // + // Destructor, do nothing. + // + ~Pj_Timer_Entry() + { + } + + // + // Override this to get the timeout notification. + // + virtual void on_timeout(int id) = 0; + +private: + pj_timer_entry entry_; + + static void timer_heap_callback(pj_timer_heap_t*, pj_timer_entry *e) + { + Pj_Timer_Entry *entry = (Pj_Timer_Entry*) e->user_data; + entry->on_timeout(e->id); + } + +}; + +////////////////////////////////////////////////////////////////////////////// +// Timer heap. +// +class Pj_Timer_Heap : public Pj_Object +{ +public: + // + // Default constructor. + // + Pj_Timer_Heap() + : ht_(NULL) + { + } + + // + // Construct timer heap. + // + Pj_Timer_Heap(Pj_Pool *pool, pj_size_t initial_count) + : ht_(NULL) + { + create(pool, initial_count); + } + + // + // Destructor. + // + ~Pj_Timer_Heap() + { + destroy(); + } + + // + // Create + // + pj_status_t create(Pj_Pool *pool, pj_size_t initial_count) + { + destroy(); + return pj_timer_heap_create(pool->pool_(), initial_count, &ht_); + } + + // + // Destroy + // + void destroy() + { + if (ht_) { + pj_timer_heap_destroy(ht_); + ht_ = NULL; + } + } + + // + // Get pjlib compatible timer heap object. + // + pj_timer_heap_t *get_timer_heap() + { + return ht_; + } + + // + // Set the lock object. + // + void set_lock( Pj_Lock *lock, bool auto_delete ) + { + pj_timer_heap_set_lock( ht_, lock->pj_lock_t_(), auto_delete); + } + + // + // Set maximum number of timed out entries to be processed per poll. + // + unsigned set_max_timed_out_per_poll(unsigned count) + { + return pj_timer_heap_set_max_timed_out_per_poll(ht_, count); + } + + // + // Schedule a timer. + // + bool schedule( Pj_Timer_Entry *ent, const Pj_Time_Val &delay, + int id) + { + ent->entry_.id = id; + return pj_timer_heap_schedule(ht_, &ent->entry_, &delay) == 0; + } + + // + // Cancel a timer. + // + bool cancel(Pj_Timer_Entry *ent) + { + return pj_timer_heap_cancel(ht_, &ent->entry_) == 1; + } + + // + // Get current number of timers + // + pj_size_t count() + { + return pj_timer_heap_count(ht_); + } + + // + // Get the earliest time. + // Return false if no timer is found. + // + bool earliest_time(Pj_Time_Val *t) + { + return pj_timer_heap_earliest_time(ht_, t) == PJ_SUCCESS; + } + + // + // Poll the timer. + // Return number of timed out entries has been called. + // + unsigned poll(Pj_Time_Val *next_delay = NULL) + { + return pj_timer_heap_poll(ht_, next_delay); + } + +private: + pj_timer_heap_t *ht_; +}; + +#endif /* __PJPP_TIMER_HPP__ */ + diff --git a/pjlib/include/pj++/tree.hpp b/pjlib/include/pj++/tree.hpp new file mode 100644 index 0000000..2c963ab --- /dev/null +++ b/pjlib/include/pj++/tree.hpp @@ -0,0 +1,129 @@ +/* $Id: tree.hpp 2394 2008-12-23 17:27:53Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJPP_TREE_HPP__ +#define __PJPP_TREE_HPP__ + +#include + +// +// Tree. +// +class PJ_Tree +{ +public: + typedef pj_rbtree_comp Comp; + class iterator; + class reverse_iterator; + + class Node : private pj_rbtree_node + { + friend class PJ_Tree; + friend class iterator; + friend class reverse_iterator; + + public: + Node() {} + explicit Node(void *data) { user_data = data; } + void set_user_data(void *data) { user_data = data; } + void *get_user_data() const { return user_data; } + }; + + class iterator + { + public: + iterator() {} + iterator(const iterator &rhs) : tr_(rhs.tr_), nd_(rhs.nd_) {} + iterator(pj_rbtree *tr, pj_rbtree_node *nd) : tr_(tr), nd_(nd) {} + Node *operator*() { return (Node*)nd_; } + bool operator==(const iterator &rhs) const { return tr_==rhs.tr_ && nd_==rhs.nd_; } + iterator &operator=(const iterator &rhs) { tr_=rhs.tr_; nd_=rhs.nd_; return *this; } + void operator++() { nd_=pj_rbtree_next(tr_, nd_); } + void operator--() { nd_=pj_rbtree_prev(tr_, nd_); } + protected: + pj_rbtree *tr_; + pj_rbtree_node *nd_; + }; + + class reverse_iterator : public iterator + { + public: + reverse_iterator() {} + reverse_iterator(const reverse_iterator &it) : iterator(it) {} + reverse_iterator(pj_rbtree *t, pj_rbtree_node *n) : iterator(t, n) {} + reverse_iterator &operator=(const reverse_iterator &rhs) { iterator::operator=(rhs); return *this; } + Node *operator*() { return (Node*)nd_; } + bool operator==(const reverse_iterator &rhs) const { return iterator::operator==(rhs); } + void operator++() { nd_=pj_rbtree_prev(tr_, nd_); } + void operator--() { nd_=pj_rbtree_next(tr_, nd_); } + }; + + explicit PJ_Tree(Comp *comp) { pj_rbtree_init(&t_, comp); } + + iterator begin() + { + return iterator(&t_, pj_rbtree_first(&t_)); + } + + iterator end() + { + return iterator(&t_, NULL); + } + + reverse_iterator rbegin() + { + return reverse_iterator(&t_, pj_rbtree_last(&t_)); + } + + reverse_iterator rend() + { + return reverse_iterator(&t_, NULL); + } + + bool insert(Node *node) + { + return pj_rbtree_insert(&t_, node)==0 ? true : false; + } + + Node *find(const void *key) + { + return (Node*)pj_rbtree_find(&t_, key); + } + + Node *erase(Node *node) + { + return (Node*)pj_rbtree_erase(&t_, node); + } + + unsigned max_height(Node *node=NULL) + { + return pj_rbtree_max_height(&t_, node); + } + + unsigned min_height(Node *node=NULL) + { + return pj_rbtree_min_height(&t_, node); + } + +private: + pj_rbtree t_; +}; + +#endif /* __PJPP_TREE_HPP__ */ + diff --git a/pjlib/include/pj++/types.hpp b/pjlib/include/pj++/types.hpp new file mode 100644 index 0000000..4140a34 --- /dev/null +++ b/pjlib/include/pj++/types.hpp @@ -0,0 +1,175 @@ +/* $Id: types.hpp 2394 2008-12-23 17:27:53Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJPP_TYPES_HPP__ +#define __PJPP_TYPES_HPP__ + +#include + +class Pj_Pool; +class Pj_Socket ; +class Pj_Lock; + + +// +// PJLIB initializer. +// +class Pjlib +{ +public: + Pjlib() + { + pj_init(); + } +}; + +// +// Class Pj_Object is declared in pool.hpp +// + +// +// Time value wrapper. +// +class Pj_Time_Val : public pj_time_val +{ +public: + Pj_Time_Val() + { + } + + Pj_Time_Val(long init_sec, long init_msec) + { + sec = init_sec; + msec = init_msec; + } + + Pj_Time_Val(const Pj_Time_Val &rhs) + { + sec=rhs.sec; + msec=rhs.msec; + } + + explicit Pj_Time_Val(const pj_time_val &tv) + { + sec = tv.sec; + msec = tv.msec; + } + + long get_sec() const + { + return sec; + } + + long get_msec() const + { + return msec; + } + + void set_sec (long s) + { + sec = s; + } + + void set_msec(long ms) + { + msec = ms; + normalize(); + } + + long to_msec() const + { + return PJ_TIME_VAL_MSEC((*this)); + } + + bool operator == (const Pj_Time_Val &rhs) const + { + return PJ_TIME_VAL_EQ((*this), rhs); + } + + bool operator > (const Pj_Time_Val &rhs) const + { + return PJ_TIME_VAL_GT((*this), rhs); + } + + bool operator >= (const Pj_Time_Val &rhs) const + { + return PJ_TIME_VAL_GTE((*this), rhs); + } + + bool operator < (const Pj_Time_Val &rhs) const + { + return PJ_TIME_VAL_LT((*this), rhs); + } + + bool operator <= (const Pj_Time_Val &rhs) const + { + return PJ_TIME_VAL_LTE((*this), rhs); + } + + Pj_Time_Val & operator = (const Pj_Time_Val &rhs) + { + sec = rhs.sec; + msec = rhs.msec; + return *this; + } + + Pj_Time_Val & operator += (const Pj_Time_Val &rhs) + { + PJ_TIME_VAL_ADD((*this), rhs); + return *this; + } + + Pj_Time_Val & operator -= (const Pj_Time_Val &rhs) + { + PJ_TIME_VAL_SUB((*this), rhs); + return *this; + } + + /* Must include os.hpp to use these, otherwise unresolved in linking */ + inline pj_status_t gettimeofday(); + inline pj_parsed_time decode(); + inline pj_status_t encode(const pj_parsed_time *pt); + inline pj_status_t to_gmt(); + inline pj_status_t to_local(); + + +private: + void normalize() + { + pj_time_val_normalize(this); + } + +}; + +// +// Macro to declare common object comparison operators. +// +#define PJ_DECLARE_OPERATORS(rhs_type) \ + bool operator!=(rhs_type rhs) const { \ + return !operator==(rhs); } \ + bool operator<=(rhs_type rhs) const { \ + return operator<(rhs) || operator==(rhs); } \ + bool operator>(rhs_type rhs) const { \ + return !operator<=(rhs); } \ + bool operator>=(rhs_type rhs) const { \ + return !operator<(rhs); } + + +#endif /* __PJPP_TYPES_HPP__ */ + diff --git a/pjlib/include/pj/activesock.h b/pjlib/include/pj/activesock.h new file mode 100644 index 0000000..40809c6 --- /dev/null +++ b/pjlib/include/pj/activesock.h @@ -0,0 +1,590 @@ +/* $Id: activesock.h 4461 2013-04-05 03:02:19Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_ASYNCSOCK_H__ +#define __PJ_ASYNCSOCK_H__ + +/** + * @file activesock.h + * @brief Active socket + */ + +#include +#include + + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_ACTIVESOCK Active socket I/O + * @brief Active socket performs active operations on socket. + * @ingroup PJ_IO + * @{ + * + * Active socket is a higher level abstraction to the ioqueue. It provides + * automation to socket operations which otherwise would have to be done + * manually by the applications. For example with socket recv(), recvfrom(), + * and accept() operations, application only needs to invoke these + * operation once, and it will be notified whenever data or incoming TCP + * connection (in the case of accept()) arrives. + */ + +/** + * This opaque structure describes the active socket. + */ +typedef struct pj_activesock_t pj_activesock_t; + +/** + * This structure contains the callbacks to be called by the active socket. + */ +typedef struct pj_activesock_cb +{ + /** + * This callback is called when a data arrives as the result of + * pj_activesock_start_read(). + * + * @param asock The active socket. + * @param data The buffer containing the new data, if any. If + * the status argument is non-PJ_SUCCESS, this + * argument may be NULL. + * @param size The length of data in the buffer. + * @param status The status of the read operation. This may contain + * non-PJ_SUCCESS for example when the TCP connection + * has been closed. In this case, the buffer may + * contain left over data from previous callback which + * the application may want to process. + * @param remainder If application wishes to leave some data in the + * buffer (common for TCP applications), it should + * move the remainder data to the front part of the + * buffer and set the remainder length here. The value + * of this parameter will be ignored for datagram + * sockets. + * + * @return PJ_TRUE if further read is desired, and PJ_FALSE + * when application no longer wants to receive data. + * Application may destroy the active socket in the + * callback and return PJ_FALSE here. + */ + pj_bool_t (*on_data_read)(pj_activesock_t *asock, + void *data, + pj_size_t size, + pj_status_t status, + pj_size_t *remainder); + /** + * This callback is called when a packet arrives as the result of + * pj_activesock_start_recvfrom(). + * + * @param asock The active socket. + * @param data The buffer containing the packet, if any. If + * the status argument is non-PJ_SUCCESS, this + * argument will be set to NULL. + * @param size The length of packet in the buffer. If + * the status argument is non-PJ_SUCCESS, this + * argument will be set to zero. + * @param src_addr Source address of the packet. + * @param addr_len Length of the source address. + * @param status This contains + * + * @return PJ_TRUE if further read is desired, and PJ_FALSE + * when application no longer wants to receive data. + * Application may destroy the active socket in the + * callback and return PJ_FALSE here. + */ + pj_bool_t (*on_data_recvfrom)(pj_activesock_t *asock, + void *data, + pj_size_t size, + const pj_sockaddr_t *src_addr, + int addr_len, + pj_status_t status); + + /** + * This callback is called when data has been sent. + * + * @param asock The active socket. + * @param send_key Key associated with the send operation. + * @param sent If value is positive non-zero it indicates the + * number of data sent. When the value is negative, + * it contains the error code which can be retrieved + * by negating the value (i.e. status=-sent). + * + * @return Application may destroy the active socket in the + * callback and return PJ_FALSE here. + */ + pj_bool_t (*on_data_sent)(pj_activesock_t *asock, + pj_ioqueue_op_key_t *send_key, + pj_ssize_t sent); + + /** + * This callback is called when new connection arrives as the result + * of pj_activesock_start_accept(). If the status of accept operation is + * needed use on_accept_complete2 instead of this callback. + * + * @param asock The active socket. + * @param newsock The new incoming socket. + * @param src_addr The source address of the connection. + * @param addr_len Length of the source address. + * + * @return PJ_TRUE if further accept() is desired, and PJ_FALSE + * when application no longer wants to accept incoming + * connection. Application may destroy the active socket + * in the callback and return PJ_FALSE here. + */ + pj_bool_t (*on_accept_complete)(pj_activesock_t *asock, + pj_sock_t newsock, + const pj_sockaddr_t *src_addr, + int src_addr_len); + + /** + * This callback is called when new connection arrives as the result + * of pj_activesock_start_accept(). + * + * @param asock The active socket. + * @param newsock The new incoming socket. + * @param src_addr The source address of the connection. + * @param addr_len Length of the source address. + * @param status The status of the accept operation. This may contain + * non-PJ_SUCCESS for example when the TCP listener is in + * bad state for example on iOS platform after the + * application waking up from background. + * + * @return PJ_TRUE if further accept() is desired, and PJ_FALSE + * when application no longer wants to accept incoming + * connection. Application may destroy the active socket + * in the callback and return PJ_FALSE here. + */ + pj_bool_t (*on_accept_complete2)(pj_activesock_t *asock, + pj_sock_t newsock, + const pj_sockaddr_t *src_addr, + int src_addr_len, + pj_status_t status); + + /** + * This callback is called when pending connect operation has been + * completed. + * + * @param asock The active socket. + * @param status The connection result. If connection has been + * successfully established, the status will contain + * PJ_SUCCESS. + * + * @return Application may destroy the active socket in the + * callback and return PJ_FALSE here. + */ + pj_bool_t (*on_connect_complete)(pj_activesock_t *asock, + pj_status_t status); + +} pj_activesock_cb; + + +/** + * Settings that can be given during active socket creation. Application + * must initialize this structure with #pj_activesock_cfg_default(). + */ +typedef struct pj_activesock_cfg +{ + /** + * Optional group lock to be assigned to the ioqueue key. + */ + pj_grp_lock_t *grp_lock; + + /** + * Number of concurrent asynchronous operations that is to be supported + * by the active socket. This value only affects socket receive and + * accept operations -- the active socket will issue one or more + * asynchronous read and accept operations based on the value of this + * field. Setting this field to more than one will allow more than one + * incoming data or incoming connections to be processed simultaneously + * on multiprocessor systems, when the ioqueue is polled by more than + * one threads. + * + * The default value is 1. + */ + unsigned async_cnt; + + /** + * The ioqueue concurrency to be forced on the socket when it is + * registered to the ioqueue. See #pj_ioqueue_set_concurrency() for more + * info about ioqueue concurrency. + * + * When this value is -1, the concurrency setting will not be forced for + * this socket, and the socket will inherit the concurrency setting of + * the ioqueue. When this value is zero, the active socket will disable + * concurrency for the socket. When this value is +1, the active socket + * will enable concurrency for the socket. + * + * The default value is -1. + */ + int concurrency; + + /** + * If this option is specified, the active socket will make sure that + * asynchronous send operation with stream oriented socket will only + * call the callback after all data has been sent. This means that the + * active socket will automatically resend the remaining data until + * all data has been sent. + * + * Please note that when this option is specified, it is possible that + * error is reported after partial data has been sent. Also setting + * this will disable the ioqueue concurrency for the socket. + * + * Default value is 1. + */ + pj_bool_t whole_data; + +} pj_activesock_cfg; + + +/** + * Initialize the active socket configuration with the default values. + * + * @param cfg The configuration to be initialized. + */ +PJ_DECL(void) pj_activesock_cfg_default(pj_activesock_cfg *cfg); + + +/** + * Create the active socket for the specified socket. This will register + * the socket to the specified ioqueue. + * + * @param pool Pool to allocate memory from. + * @param sock The socket handle. + * @param sock_type Specify socket type, either pj_SOCK_DGRAM() or + * pj_SOCK_STREAM(). The active socket needs this + * information to handle connection closure for + * connection oriented sockets. + * @param ioqueue The ioqueue to use. + * @param opt Optional settings. When this setting is not specifed, + * the default values will be used. + * @param cb Pointer to structure containing application + * callbacks. + * @param user_data Arbitrary user data to be associated with this + * active socket. + * @param p_asock Pointer to receive the active socket instance. + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_activesock_create(pj_pool_t *pool, + pj_sock_t sock, + int sock_type, + const pj_activesock_cfg *opt, + pj_ioqueue_t *ioqueue, + const pj_activesock_cb *cb, + void *user_data, + pj_activesock_t **p_asock); + +/** + * Create UDP socket descriptor, bind it to the specified address, and + * create the active socket for the socket descriptor. + * + * @param pool Pool to allocate memory from. + * @param addr Specifies the address family of the socket and the + * address where the socket should be bound to. If + * this argument is NULL, then AF_INET is assumed and + * the socket will be bound to any addresses and port. + * @param opt Optional settings. When this setting is not specifed, + * the default values will be used. + * @param cb Pointer to structure containing application + * callbacks. + * @param user_data Arbitrary user data to be associated with this + * active socket. + * @param p_asock Pointer to receive the active socket instance. + * @param bound_addr If this argument is specified, it will be filled with + * the bound address on return. + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_activesock_create_udp(pj_pool_t *pool, + const pj_sockaddr *addr, + const pj_activesock_cfg *opt, + pj_ioqueue_t *ioqueue, + const pj_activesock_cb *cb, + void *user_data, + pj_activesock_t **p_asock, + pj_sockaddr *bound_addr); + +/** + * Close the active socket. This will unregister the socket from the + * ioqueue and ultimately close the socket. + * + * @param asock The active socket. + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_activesock_close(pj_activesock_t *asock); + +#if (defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0) || \ + defined(DOXYGEN) +/** + * Set iPhone OS background mode setting. Setting to 1 will enable TCP + * active socket to receive incoming data when application is in the + * background. Setting to 0 will disable it. Default value of this + * setting is PJ_ACTIVESOCK_TCP_IPHONE_OS_BG. + * + * This API is only available if PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT + * is set to non-zero. + * + * @param asock The active socket. + * @param val The value of background mode setting. + * + */ +PJ_DECL(void) pj_activesock_set_iphone_os_bg(pj_activesock_t *asock, + int val); + +/** + * Enable/disable support for iPhone OS background mode. This setting + * will apply globally and will affect any active sockets created + * afterwards, if you want to change the setting for a particular + * active socket, use #pj_activesock_set_iphone_os_bg() instead. + * By default, this setting is enabled. + * + * This API is only available if PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT + * is set to non-zero. + * + * @param val The value of global background mode setting. + * + */ +PJ_DECL(void) pj_activesock_enable_iphone_os_bg(pj_bool_t val); +#endif + +/** + * Associate arbitrary data with the active socket. Application may + * inspect this data in the callbacks and associate it with higher + * level processing. + * + * @param asock The active socket. + * @param user_data The user data to be associated with the active + * socket. + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_activesock_set_user_data(pj_activesock_t *asock, + void *user_data); + +/** + * Retrieve the user data previously associated with this active + * socket. + * + * @param asock The active socket. + * + * @return The user data. + */ +PJ_DECL(void*) pj_activesock_get_user_data(pj_activesock_t *asock); + + +/** + * Starts read operation on this active socket. This function will create + * \a async_cnt number of buffers (the \a async_cnt parameter was given + * in \a pj_activesock_create() function) where each buffer is \a buff_size + * long. The buffers are allocated from the specified \a pool. Once the + * buffers are created, it then issues \a async_cnt number of asynchronous + * \a recv() operations to the socket and returns back to caller. Incoming + * data on the socket will be reported back to application via the + * \a on_data_read() callback. + * + * Application only needs to call this function once to initiate read + * operations. Further read operations will be done automatically by the + * active socket when \a on_data_read() callback returns non-zero. + * + * @param asock The active socket. + * @param pool Pool used to allocate buffers for incoming data. + * @param buff_size The size of each buffer, in bytes. + * @param flags Flags to be given to pj_ioqueue_recv(). + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_activesock_start_read(pj_activesock_t *asock, + pj_pool_t *pool, + unsigned buff_size, + pj_uint32_t flags); + +/** + * Same as #pj_activesock_start_read(), except that the application + * supplies the buffers for the read operation so that the acive socket + * does not have to allocate the buffers. + * + * @param asock The active socket. + * @param pool Pool used to allocate buffers for incoming data. + * @param buff_size The size of each buffer, in bytes. + * @param readbuf Array of packet buffers, each has buff_size size. + * @param flags Flags to be given to pj_ioqueue_recv(). + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_activesock_start_read2(pj_activesock_t *asock, + pj_pool_t *pool, + unsigned buff_size, + void *readbuf[], + pj_uint32_t flags); + +/** + * Same as pj_activesock_start_read(), except that this function is used + * only for datagram sockets, and it will trigger \a on_data_recvfrom() + * callback instead. + * + * @param asock The active socket. + * @param pool Pool used to allocate buffers for incoming data. + * @param buff_size The size of each buffer, in bytes. + * @param flags Flags to be given to pj_ioqueue_recvfrom(). + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_activesock_start_recvfrom(pj_activesock_t *asock, + pj_pool_t *pool, + unsigned buff_size, + pj_uint32_t flags); + +/** + * Same as #pj_activesock_start_recvfrom() except that the recvfrom() + * operation takes the buffer from the argument rather than creating + * new ones. + * + * @param asock The active socket. + * @param pool Pool used to allocate buffers for incoming data. + * @param buff_size The size of each buffer, in bytes. + * @param readbuf Array of packet buffers, each has buff_size size. + * @param flags Flags to be given to pj_ioqueue_recvfrom(). + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_activesock_start_recvfrom2(pj_activesock_t *asock, + pj_pool_t *pool, + unsigned buff_size, + void *readbuf[], + pj_uint32_t flags); + +/** + * Send data using the socket. + * + * @param asock The active socket. + * @param send_key The operation key to send the data, which is useful + * if application wants to submit multiple pending + * send operations and want to track which exact data + * has been sent in the \a on_data_sent() callback. + * @param data The data to be sent. This data must remain valid + * until the data has been sent. + * @param size The size of the data. + * @param flags Flags to be given to pj_ioqueue_send(). + * + * + * @return PJ_SUCCESS if data has been sent immediately, or + * PJ_EPENDING if data cannot be sent immediately. In + * this case the \a on_data_sent() callback will be + * called when data is actually sent. Any other return + * value indicates error condition. + */ +PJ_DECL(pj_status_t) pj_activesock_send(pj_activesock_t *asock, + pj_ioqueue_op_key_t *send_key, + const void *data, + pj_ssize_t *size, + unsigned flags); + +/** + * Send datagram using the socket. + * + * @param asock The active socket. + * @param send_key The operation key to send the data, which is useful + * if application wants to submit multiple pending + * send operations and want to track which exact data + * has been sent in the \a on_data_sent() callback. + * @param data The data to be sent. This data must remain valid + * until the data has been sent. + * @param size The size of the data. + * @param flags Flags to be given to pj_ioqueue_send(). + * @param addr The destination address. + * @param addr_len The length of the address. + * + * @return PJ_SUCCESS if data has been sent immediately, or + * PJ_EPENDING if data cannot be sent immediately. In + * this case the \a on_data_sent() callback will be + * called when data is actually sent. Any other return + * value indicates error condition. + */ +PJ_DECL(pj_status_t) pj_activesock_sendto(pj_activesock_t *asock, + pj_ioqueue_op_key_t *send_key, + const void *data, + pj_ssize_t *size, + unsigned flags, + const pj_sockaddr_t *addr, + int addr_len); + +#if PJ_HAS_TCP +/** + * Starts asynchronous socket accept() operations on this active socket. + * Application must bind the socket before calling this function. This + * function will issue \a async_cnt number of asynchronous \a accept() + * operations to the socket and returns back to caller. Incoming + * connection on the socket will be reported back to application via the + * \a on_accept_complete() callback. + * + * Application only needs to call this function once to initiate accept() + * operations. Further accept() operations will be done automatically by + * the active socket when \a on_accept_complete() callback returns non-zero. + * + * @param asock The active socket. + * @param pool Pool used to allocate some internal data for the + * operation. + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_activesock_start_accept(pj_activesock_t *asock, + pj_pool_t *pool); + +/** + * Starts asynchronous socket connect() operation for this socket. Once + * the connection is done (either successfully or not), the + * \a on_connect_complete() callback will be called. + * + * @param asock The active socket. + * @param pool The pool to allocate some internal data for the + * operation. + * @param remaddr Remote address. + * @param addr_len Length of the remote address. + * + * @return PJ_SUCCESS if connection can be established immediately, + * or PJ_EPENDING if connection cannot be established + * immediately. In this case the \a on_connect_complete() + * callback will be called when connection is complete. + * Any other return value indicates error condition. + */ +PJ_DECL(pj_status_t) pj_activesock_start_connect(pj_activesock_t *asock, + pj_pool_t *pool, + const pj_sockaddr_t *remaddr, + int addr_len); + + +#endif /* PJ_HAS_TCP */ + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJ_ASYNCSOCK_H__ */ + diff --git a/pjlib/include/pj/addr_resolv.h b/pjlib/include/pj/addr_resolv.h new file mode 100644 index 0000000..41eacc8 --- /dev/null +++ b/pjlib/include/pj/addr_resolv.h @@ -0,0 +1,190 @@ +/* $Id: addr_resolv.h 4218 2012-08-07 02:18:15Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_ADDR_RESOLV_H__ +#define __PJ_ADDR_RESOLV_H__ + +/** + * @file addr_resolv.h + * @brief IP address resolution. + */ + +#include + +PJ_BEGIN_DECL + +/** + * @defgroup pj_addr_resolve Network Address Resolution + * @ingroup PJ_IO + * @{ + * + * This module provides function to resolve Internet address of the + * specified host name. To resolve a particular host name, application + * can just call #pj_gethostbyname(). + * + * Example: + *
+ *   ...
+ *   pj_hostent he;
+ *   pj_status_t rc;
+ *   pj_str_t host = pj_str("host.example.com");
+ *   
+ *   rc = pj_gethostbyname( &host, &he);
+ *   if (rc != PJ_SUCCESS) {
+ *      char errbuf[80];
+ *      pj_strerror( rc, errbuf, sizeof(errbuf));
+ *      PJ_LOG(2,("sample", "Unable to resolve host, error=%s", errbuf));
+ *      return rc;
+ *   }
+ *
+ *   // process address...
+ *   addr.sin_addr.s_addr = *(pj_uint32_t*)he.h_addr;
+ *   ...
+ * 
+ * + * It's pretty simple really... + */ + +/** This structure describes an Internet host address. */ +typedef struct pj_hostent +{ + char *h_name; /**< The official name of the host. */ + char **h_aliases; /**< Aliases list. */ + int h_addrtype; /**< Host address type. */ + int h_length; /**< Length of address. */ + char **h_addr_list; /**< List of addresses. */ +} pj_hostent; + +/** Shortcut to h_addr_list[0] */ +#define h_addr h_addr_list[0] + +/** + * This structure describes address information pj_getaddrinfo(). + */ +typedef struct pj_addrinfo +{ + char ai_canonname[PJ_MAX_HOSTNAME]; /**< Canonical name for host*/ + pj_sockaddr ai_addr; /**< Binary address. */ +} pj_addrinfo; + + +/** + * This function fills the structure of type pj_hostent for a given host name. + * For host resolution function that also works with IPv6, please see + * #pj_getaddrinfo(). + * + * @param name Host name to resolve. Specifying IPv4 address here + * may fail on some platforms (e.g. Windows) + * @param he The pj_hostent structure to be filled. Note that + * the pointers in this structure points to temporary + * variables which value will be reset upon subsequent + * invocation. + * + * @return PJ_SUCCESS, or the appropriate error codes. + */ +PJ_DECL(pj_status_t) pj_gethostbyname(const pj_str_t *name, pj_hostent *he); + + +/** + * Resolve the primary IP address of local host. + * + * @param af The desired address family to query. Valid values + * are pj_AF_INET() or pj_AF_INET6(). + * @param addr On successful resolution, the address family and address + * part of this socket address will be filled up with the host + * IP address, in network byte order. Other parts of the socket + * address are untouched. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_gethostip(int af, pj_sockaddr *addr); + + +/** + * Get the interface IP address to send data to the specified destination. + * + * @param af The desired address family to query. Valid values + * are pj_AF_INET() or pj_AF_INET6(). + * @param dst The destination host. + * @param itf_addr On successful resolution, the address family and address + * part of this socket address will be filled up with the host + * IP address, in network byte order. Other parts of the socket + * address should be ignored. + * @param allow_resolve If \a dst may contain hostname (instead of IP + * address), specify whether hostname resolution should + * be performed. If not, default interface address will + * be returned. + * @param p_dst_addr If not NULL, it will be filled with the IP address of + * the destination host. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_getipinterface(int af, + const pj_str_t *dst, + pj_sockaddr *itf_addr, + pj_bool_t allow_resolve, + pj_sockaddr *p_dst_addr); + +/** + * Get the IP address of the default interface. Default interface is the + * interface of the default route. + * + * @param af The desired address family to query. Valid values + * are pj_AF_INET() or pj_AF_INET6(). + * @param addr On successful resolution, the address family and address + * part of this socket address will be filled up with the host + * IP address, in network byte order. Other parts of the socket + * address are untouched. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_getdefaultipinterface(int af, + pj_sockaddr *addr); + + +/** + * This function translates the name of a service location (for example, + * a host name) and returns a set of addresses and associated information + * to be used in creating a socket with which to address the specified + * service. + * + * @param af The desired address family to query. Valid values + * are pj_AF_INET(), pj_AF_INET6(), or pj_AF_UNSPEC(). + * @param name Descriptive name or an address string, such as host + * name. + * @param count On input, it specifies the number of elements in + * \a ai array. On output, this will be set with the + * number of address informations found for the + * specified name. + * @param ai Array of address info to be filled with the information + * about the host. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_getaddrinfo(int af, const pj_str_t *name, + unsigned *count, pj_addrinfo ai[]); + + + +/** @} */ + +PJ_END_DECL + +#endif /* __PJ_ADDR_RESOLV_H__ */ + diff --git a/pjlib/include/pj/array.h b/pjlib/include/pj/array.h new file mode 100644 index 0000000..9b93727 --- /dev/null +++ b/pjlib/include/pj/array.h @@ -0,0 +1,96 @@ +/* $Id: array.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_ARRAY_H__ +#define __PJ_ARRAY_H__ + +/** + * @file array.h + * @brief PJLIB Array helper. + */ +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_ARRAY Array helper. + * @ingroup PJ_DS + * @{ + * + * This module provides helper to manipulate array of elements of any size. + * It provides most used array operations such as insert, erase, and search. + */ + +/** + * Insert value to the array at the given position, and rearrange the + * remaining nodes after the position. + * + * @param array the array. + * @param elem_size the size of the individual element. + * @param count the CURRENT number of elements in the array. + * @param pos the position where the new element is put. + * @param value the value to copy to the new element. + */ +PJ_DECL(void) pj_array_insert( void *array, + unsigned elem_size, + unsigned count, + unsigned pos, + const void *value); + +/** + * Erase a value from the array at given position, and rearrange the remaining + * elements post the erased element. + * + * @param array the array. + * @param elem_size the size of the individual element. + * @param count the current number of elements in the array. + * @param pos the index/position to delete. + */ +PJ_DECL(void) pj_array_erase( void *array, + unsigned elem_size, + unsigned count, + unsigned pos); + +/** + * Search the first value in the array according to matching function. + * + * @param array the array. + * @param elem_size the individual size of the element. + * @param count the number of elements. + * @param matching the matching function, which MUST return PJ_SUCCESS if + * the specified element match. + * @param result the pointer to the value found. + * + * @return PJ_SUCCESS if value is found, otherwise the error code. + */ +PJ_DECL(pj_status_t) pj_array_find( const void *array, + unsigned elem_size, + unsigned count, + pj_status_t (*matching)(const void *value), + void **result); + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJ_ARRAY_H__ */ + diff --git a/pjlib/include/pj/assert.h b/pjlib/include/pj/assert.h new file mode 100644 index 0000000..41a5d11 --- /dev/null +++ b/pjlib/include/pj/assert.h @@ -0,0 +1,95 @@ +/* $Id: assert.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_ASSERT_H__ +#define __PJ_ASSERT_H__ + +/** + * @file assert.h + * @brief Assertion macro pj_assert(). + */ + +#include +#include + +/** + * @defgroup pj_assert Assertion Macro + * @ingroup PJ_MISC + * @{ + * + * Assertion and other helper macros for sanity checking. + */ + +/** + * @hideinitializer + * Check during debug build that an expression is true. If the expression + * computes to false during run-time, then the program will stop at the + * offending statements. + * For release build, this macro will not do anything. + * + * @param expr The expression to be evaluated. + */ +#ifndef pj_assert +# define pj_assert(expr) assert(expr) +#endif + + +/** + * @hideinitializer + * If #PJ_ENABLE_EXTRA_CHECK is declared and the value is non-zero, then + * #PJ_ASSERT_RETURN macro will evaluate the expression in @a expr during + * run-time. If the expression yields false, assertion will be triggered + * and the current function will return with the specified return value. + * + * If #PJ_ENABLE_EXTRA_CHECK is not declared or is zero, then no run-time + * checking will be performed. The macro simply evaluates to pj_assert(expr). + */ +#if defined(PJ_ENABLE_EXTRA_CHECK) && PJ_ENABLE_EXTRA_CHECK != 0 +# define PJ_ASSERT_RETURN(expr,retval) \ + do { \ + if (!(expr)) { pj_assert(expr); return retval; } \ + } while (0) +#else +# define PJ_ASSERT_RETURN(expr,retval) pj_assert(expr) +#endif + +/** + * @hideinitializer + * If #PJ_ENABLE_EXTRA_CHECK is declared and non-zero, then + * #PJ_ASSERT_ON_FAIL macro will evaluate the expression in @a expr during + * run-time. If the expression yields false, assertion will be triggered + * and @a exec_on_fail will be executed. + * + * If #PJ_ENABLE_EXTRA_CHECK is not declared or is zero, then no run-time + * checking will be performed. The macro simply evaluates to pj_assert(expr). + */ +#if defined(PJ_ENABLE_EXTRA_CHECK) && PJ_ENABLE_EXTRA_CHECK != 0 +# define PJ_ASSERT_ON_FAIL(expr,exec_on_fail) \ + do { \ + pj_assert(expr); \ + if (!(expr)) exec_on_fail; \ + } while (0) +#else +# define PJ_ASSERT_ON_FAIL(expr,exec_on_fail) pj_assert(expr) +#endif + +/** @} */ + +#endif /* __PJ_ASSERT_H__ */ + diff --git a/pjlib/include/pj/compat/assert.h b/pjlib/include/pj/compat/assert.h new file mode 100644 index 0000000..f1b5c96 --- /dev/null +++ b/pjlib/include/pj/compat/assert.h @@ -0,0 +1,44 @@ +/* $Id: assert.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_ASSERT_H__ +#define __PJ_COMPAT_ASSERT_H__ + +/** + * @file assert.h + * @brief Provides assert() macro. + */ + +#if defined(PJ_HAS_ASSERT_H) && PJ_HAS_ASSERT_H != 0 +# include + +#elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0 +# define assert(expr) do { \ + if (!(expr)) \ + printk("!!ASSERTION FAILED: [%s:%d] \"" #expr "\"\n",\ + __FILE__, __LINE__); \ + } while (0) + +#else +# warning "assert() is not implemented" +# define assert(expr) +#endif + +#endif /* __PJ_COMPAT_ASSERT_H__ */ + diff --git a/pjlib/include/pj/compat/cc_armcc.h b/pjlib/include/pj/compat/cc_armcc.h new file mode 100644 index 0000000..f775e2a --- /dev/null +++ b/pjlib/include/pj/compat/cc_armcc.h @@ -0,0 +1,58 @@ +/* $Id: cc_armcc.h 4624 2013-10-21 06:37:30Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_CC_ARMCC_H__ +#define __PJ_COMPAT_CC_ARMCC_H__ + +/** + * @file cc_armcc.h + * @brief Describes ARMCC compiler specifics. + */ + +#ifndef __ARMCC__ +# error "This file is only for armcc!" +#endif + +#define PJ_CC_NAME "armcc" +#define PJ_CC_VER_1 (__ARMCC_VERSION/100000) +#define PJ_CC_VER_2 ((__ARMCC_VERSION%100000)/10000) +#define PJ_CC_VER_3 (__ARMCC_VERSION%10000) + +#ifdef __cplusplus +# define PJ_INLINE_SPECIFIER inline +#else +# define PJ_INLINE_SPECIFIER static __inline +#endif + +#define PJ_THREAD_FUNC +#define PJ_NORETURN +#define PJ_ATTR_NORETURN __attribute__ ((noreturn)) +#define PJ_ATTR_MAY_ALIAS __attribute__ ((__may_alias__)) + +#define PJ_HAS_INT64 1 + +typedef long long pj_int64_t; +typedef unsigned long long pj_uint64_t; + +#define PJ_INT64_FMT "L" + +#define PJ_UNREACHED(x) + +#endif /* __PJ_COMPAT_CC_ARMCC_H__ */ + diff --git a/pjlib/include/pj/compat/cc_codew.h b/pjlib/include/pj/compat/cc_codew.h new file mode 100644 index 0000000..2f6eb4a --- /dev/null +++ b/pjlib/include/pj/compat/cc_codew.h @@ -0,0 +1,56 @@ +/* $Id: cc_codew.h 4624 2013-10-21 06:37:30Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_CC_CODEW_H__ +#define __PJ_COMPAT_CC_CODEW_H__ + +/** + * @file cc_codew.h + * @brief Describes MetroWerks Code Warrior compiler specifics. + */ + +#ifndef __MWERKS__ +# error "This file is only for Code Warrior!" +#endif + +#define PJ_CC_NAME "codewarrior" +#define PJ_CC_VER_1 ((__MWERKS__ & 0xF000) >> 12) +#define PJ_CC_VER_2 ((__MWERKS__ & 0x0F00) >> 8) +#define PJ_CC_VER_3 ((__MWERKS__ & 0xFF)) + + +#define PJ_INLINE_SPECIFIER static inline +#define PJ_THREAD_FUNC +#define PJ_NORETURN +#define PJ_ATTR_NORETURN +#define PJ_ATTR_MAY_ALIAS + +#define PJ_HAS_INT64 1 + +typedef long long pj_int64_t; +typedef unsigned long long pj_uint64_t; + +#define PJ_INT64(val) val##LL +#define PJ_UINT64(val) val##LLU +#define PJ_INT64_FMT "L" + +#define PJ_UNREACHED(x) + +#endif /* __PJ_COMPAT_CC_CODEW_H__ */ + diff --git a/pjlib/include/pj/compat/cc_gcc.h b/pjlib/include/pj/compat/cc_gcc.h new file mode 100644 index 0000000..1011728 --- /dev/null +++ b/pjlib/include/pj/compat/cc_gcc.h @@ -0,0 +1,80 @@ +/* $Id: cc_gcc.h 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_CC_GCC_H__ +#define __PJ_COMPAT_CC_GCC_H__ + +/** + * @file cc_gcc.h + * @brief Describes GCC compiler specifics. + */ + +#ifndef __GNUC__ +# error "This file is only for gcc!" +#endif + +#define PJ_CC_NAME "gcc" +#define PJ_CC_VER_1 __GNUC__ +#define PJ_CC_VER_2 __GNUC_MINOR__ + +/* __GNUC_PATCHLEVEL__ doesn't exist in gcc-2.9x.x */ +#ifdef __GNUC_PATCHLEVEL__ +# define PJ_CC_VER_3 __GNUC_PATCHLEVEL__ +#else +# define PJ_CC_VER_3 0 +#endif + + + +#define PJ_THREAD_FUNC +#define PJ_NORETURN + +#define PJ_HAS_INT64 1 + +#ifdef __STRICT_ANSI__ + #include + typedef int64_t pj_int64_t; + typedef uint64_t pj_uint64_t; + #define PJ_INLINE_SPECIFIER static __inline + #define PJ_ATTR_NORETURN + #define PJ_ATTR_MAY_ALIAS +#else + typedef long long pj_int64_t; + typedef unsigned long long pj_uint64_t; + #define PJ_INLINE_SPECIFIER static inline + #define PJ_ATTR_NORETURN __attribute__ ((noreturn)) + #define PJ_ATTR_MAY_ALIAS __attribute__((__may_alias__)) +#endif + +#define PJ_INT64(val) val##LL +#define PJ_UINT64(val) val##ULL +#define PJ_INT64_FMT "L" + + +#ifdef __GLIBC__ +# define PJ_HAS_BZERO 1 +#endif + +#define PJ_UNREACHED(x) + +#define PJ_ALIGN_DATA(declaration, alignment) declaration __attribute__((aligned (alignment))) + + +#endif /* __PJ_COMPAT_CC_GCC_H__ */ + diff --git a/pjlib/include/pj/compat/cc_gcce.h b/pjlib/include/pj/compat/cc_gcce.h new file mode 100644 index 0000000..4bafca0 --- /dev/null +++ b/pjlib/include/pj/compat/cc_gcce.h @@ -0,0 +1,55 @@ +/* $Id: cc_gcce.h 4624 2013-10-21 06:37:30Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_CC_GCCE_H__ +#define __PJ_COMPAT_CC_GCCE_H__ + +/** + * @file cc_gcce.h + * @brief Describes GCCE compiler specifics. + */ + +#ifndef __GCCE__ +# error "This file is only for gcce!" +#endif + +#define PJ_CC_NAME "gcce" +#define PJ_CC_VER_1 __GCCE__ +#define PJ_CC_VER_2 __GCCE_MINOR__ +#define PJ_CC_VER_3 __GCCE_PATCHLEVEL__ + + +#define PJ_INLINE_SPECIFIER static inline +#define PJ_THREAD_FUNC +#define PJ_NORETURN +#define PJ_ATTR_NORETURN __attribute__ ((noreturn)) +#define PJ_ATTR_MAY_ALIAS __attribute__ ((__may_alias__)) + +#define PJ_HAS_INT64 1 + +typedef long long pj_int64_t; +typedef unsigned long long pj_uint64_t; + +#define PJ_INT64(val) val##LL +#define PJ_UINT64(val) val##LLU +#define PJ_INT64_FMT "L" + + +#endif /* __PJ_COMPAT_CC_GCCE_H__ */ + diff --git a/pjlib/include/pj/compat/cc_msvc.h b/pjlib/include/pj/compat/cc_msvc.h new file mode 100644 index 0000000..15fd526 --- /dev/null +++ b/pjlib/include/pj/compat/cc_msvc.h @@ -0,0 +1,88 @@ +/* $Id: cc_msvc.h 4624 2013-10-21 06:37:30Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_CC_MSVC_H__ +#define __PJ_COMPAT_CC_MSVC_H__ + +/** + * @file cc_msvc.h + * @brief Describes Microsoft Visual C compiler specifics. + */ + +#ifndef _MSC_VER +# error "This header file is only for Visual C compiler!" +#endif + +#define PJ_CC_NAME "msvc" +#define PJ_CC_VER_1 (_MSC_VER/100) +#define PJ_CC_VER_2 (_MSC_VER%100) +#define PJ_CC_VER_3 0 + +/* Disable CRT deprecation warnings. */ +#if PJ_CC_VER_1 >= 8 && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif +#if PJ_CC_VER_1 >= 8 && !defined(_CRT_SECURE_NO_WARNINGS) +# define _CRT_SECURE_NO_WARNINGS + /* The above doesn't seem to work, at least on VS2005, so lets use + * this construct as well. + */ +# pragma warning(disable: 4996) +#endif + +#pragma warning(disable: 4127) // conditional expression is constant +#pragma warning(disable: 4611) // not wise to mix setjmp with C++ +#pragma warning(disable: 4514) // unref. inline function has been removed +#ifdef NDEBUG +# pragma warning(disable: 4702) // unreachable code +# pragma warning(disable: 4710) // function is not inlined. +# pragma warning(disable: 4711) // function selected for auto inline expansion +#endif + +#ifdef __cplusplus +# define PJ_INLINE_SPECIFIER inline +#else +# define PJ_INLINE_SPECIFIER static __inline +#endif + +#define PJ_EXPORT_DECL_SPECIFIER __declspec(dllexport) +#define PJ_EXPORT_DEF_SPECIFIER __declspec(dllexport) +#define PJ_IMPORT_DECL_SPECIFIER __declspec(dllimport) + +#define PJ_THREAD_FUNC +#define PJ_NORETURN __declspec(noreturn) +#define PJ_ATTR_NORETURN +#define PJ_ATTR_MAY_ALIAS + +#define PJ_HAS_INT64 1 + +typedef __int64 pj_int64_t; +typedef unsigned __int64 pj_uint64_t; + +#define PJ_INT64(val) val##i64 +#define PJ_UINT64(val) val##ui64 +#define PJ_INT64_FMT "I64" + +#define PJ_UNREACHED(x) + +#define PJ_ALIGN_DATA(declaration, alignment) __declspec(align(alignment)) declaration + + +#endif /* __PJ_COMPAT_CC_MSVC_H__ */ + diff --git a/pjlib/include/pj/compat/cc_mwcc.h b/pjlib/include/pj/compat/cc_mwcc.h new file mode 100644 index 0000000..86db15d --- /dev/null +++ b/pjlib/include/pj/compat/cc_mwcc.h @@ -0,0 +1,56 @@ +/* $Id: cc_mwcc.h 4624 2013-10-21 06:37:30Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_CC_MWCC_H__ +#define __PJ_COMPAT_CC_MWCC_H__ + +/** + * @file cc_mwcc.h + * @brief Describes MWCC compiler specifics. + */ + +#ifndef __CW32__ +# error "This file is only for mwcc!" +#endif + +#define PJ_CC_NAME "mwcc32sym" +#define PJ_CC_VER_1 1 +#define PJ_CC_VER_2 0 +#define PJ_CC_VER_3 0 + + +#define PJ_INLINE_SPECIFIER static inline +#define PJ_THREAD_FUNC +#define PJ_NORETURN +#define PJ_ATTR_NORETURN __attribute__ ((noreturn)) +#define PJ_ATTR_MAY_ALIAS + +#define PJ_HAS_INT64 1 + +typedef long long pj_int64_t; +typedef unsigned long long pj_uint64_t; + +#define PJ_INT64(val) val##LL +#define PJ_UINT64(val) val##LLU +#define PJ_INT64_FMT "L" + +#define PJ_UNREACHED(x) + +#endif /* __PJ_COMPAT_CC_MWCC_H__ */ + diff --git a/pjlib/include/pj/compat/ctype.h b/pjlib/include/pj/compat/ctype.h new file mode 100644 index 0000000..a79a1a0 --- /dev/null +++ b/pjlib/include/pj/compat/ctype.h @@ -0,0 +1,49 @@ +/* $Id: ctype.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_CTYPE_H__ +#define __PJ_COMPAT_CTYPE_H__ + +/** + * @file ctype.h + * @brief Provides ctype function family. + */ + +#if defined(PJ_HAS_CTYPE_H) && PJ_HAS_CTYPE_H != 0 +# include +#else +# define isalnum(c) (isalpha(c) || isdigit(c)) +# define isalpha(c) (islower(c) || isupper(c)) +# define isascii(c) (((unsigned char)(c))<=0x7f) +# define isdigit(c) ((c)>='0' && (c)<='9') +# define isspace(c) ((c)==' ' || (c)=='\t' ||\ + (c)=='\n' || (c)=='\r' || (c)=='\v') +# define islower(c) ((c)>='a' && (c)<='z') +# define isupper(c) ((c)>='A' && (c)<='Z') +# define isxdigit(c) (isdigit(c) || (tolower(c)>='a'&&tolower(c)<='f')) +# define tolower(c) (((c) >= 'A' && (c) <= 'Z') ? (c)+('a'-'A') : (c)) +# define toupper(c) (((c) >= 'a' && (c) <= 'z') ? (c)-('a'-'A') : (c)) +#endif + +#ifndef isblank +# define isblank(c) (c==' ' || c=='\t') +#endif + + +#endif /* __PJ_COMPAT_CTYPE_H__ */ diff --git a/pjlib/include/pj/compat/errno.h b/pjlib/include/pj/compat/errno.h new file mode 100644 index 0000000..a4d8fd7 --- /dev/null +++ b/pjlib/include/pj/compat/errno.h @@ -0,0 +1,45 @@ +/* $Id: errno.h 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_ERRNO_H__ +#define __PJ_COMPAT_ERRNO_H__ + +#if defined(PJ_WIN32) && PJ_WIN32 != 0 || \ + defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE != 0 || \ + defined(PJ_WIN64) && PJ_WIN64 != 0 + + typedef unsigned long pj_os_err_type; +# define pj_get_native_os_error() GetLastError() +# define pj_get_native_netos_error() WSAGetLastError() + +#elif defined(PJ_HAS_ERRNO_VAR) && PJ_HAS_ERRNO_VAR!= 0 + + typedef int pj_os_err_type; +# define pj_get_native_os_error() (errno) +# define pj_get_native_netos_error() (errno) + +#else + +# error "Please define how to get errno for this platform here!" + +#endif + + +#endif /* __PJ_COMPAT_ERRNO_H__ */ + diff --git a/pjlib/include/pj/compat/high_precision.h b/pjlib/include/pj/compat/high_precision.h new file mode 100644 index 0000000..277389f --- /dev/null +++ b/pjlib/include/pj/compat/high_precision.h @@ -0,0 +1,103 @@ +/* $Id: high_precision.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_HIGH_PRECISION_H__ +#define __PJ_COMPAT_HIGH_PRECISION_H__ + + +#if defined(PJ_HAS_FLOATING_POINT) && PJ_HAS_FLOATING_POINT != 0 + /* + * The first choice for high precision math is to use double. + */ +# include + typedef double pj_highprec_t; + +# define PJ_HIGHPREC_VALUE_IS_ZERO(a) (a==0) +# define pj_highprec_mod(a,b) (a=fmod(a,b)) + +#elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0 + +# include + + typedef pj_int64_t pj_highprec_t; + +# define pj_highprec_div(a1,a2) do_div(a1,a2) +# define pj_highprec_mod(a1,a2) (a1=do_mod(a1, a2)) + + PJ_INLINE(pj_int64_t) do_mod( pj_int64_t a1, pj_int64_t a2) + { + return do_div(a1,a2); + } + + +#elif defined(PJ_HAS_INT64) && PJ_HAS_INT64 != 0 + /* + * Next choice is to use 64-bit arithmatics. + */ + typedef pj_int64_t pj_highprec_t; + +#else +# warning "High precision math is not available" + + /* + * Last, fallback to 32-bit arithmetics. + */ + typedef pj_int32_t pj_highprec_t; + +#endif + +/** + * @def pj_highprec_mul + * pj_highprec_mul(a1, a2) - High Precision Multiplication + * Multiply a1 and a2, and store the result in a1. + */ +#ifndef pj_highprec_mul +# define pj_highprec_mul(a1,a2) (a1 = a1 * a2) +#endif + +/** + * @def pj_highprec_div + * pj_highprec_div(a1, a2) - High Precision Division + * Divide a2 from a1, and store the result in a1. + */ +#ifndef pj_highprec_div +# define pj_highprec_div(a1,a2) (a1 = a1 / a2) +#endif + +/** + * @def pj_highprec_mod + * pj_highprec_mod(a1, a2) - High Precision Modulus + * Get the modulus a2 from a1, and store the result in a1. + */ +#ifndef pj_highprec_mod +# define pj_highprec_mod(a1,a2) (a1 = a1 % a2) +#endif + + +/** + * @def PJ_HIGHPREC_VALUE_IS_ZERO(a) + * Test if the specified high precision value is zero. + */ +#ifndef PJ_HIGHPREC_VALUE_IS_ZERO +# define PJ_HIGHPREC_VALUE_IS_ZERO(a) (a==0) +#endif + + +#endif /* __PJ_COMPAT_HIGH_PRECISION_H__ */ + diff --git a/pjlib/include/pj/compat/m_alpha.h b/pjlib/include/pj/compat/m_alpha.h new file mode 100644 index 0000000..fa22f54 --- /dev/null +++ b/pjlib/include/pj/compat/m_alpha.h @@ -0,0 +1,36 @@ +/* $Id: m_alpha.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_M_ALPHA_H__ +#define __PJ_COMPAT_M_ALPHA_H__ + +/** + * @file m_alpha.h + * @brief Describes Alpha processor family specifics. + */ + +#define PJ_M_NAME "alpha" + +#define PJ_HAS_PENTIUM 0 +#define PJ_IS_LITTLE_ENDIAN 1 +#define PJ_IS_BIG_ENDIAN 0 + + +#endif /* __PJ_COMPAT_M_ALPHA_H__ */ + diff --git a/pjlib/include/pj/compat/m_armv4.h b/pjlib/include/pj/compat/m_armv4.h new file mode 100644 index 0000000..74d2c84 --- /dev/null +++ b/pjlib/include/pj/compat/m_armv4.h @@ -0,0 +1,39 @@ +/* $Id: m_armv4.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_M_ARMV4_H__ +#define __PJ_COMPAT_M_ARMV4_H__ + +/** + * @file m_armv4.h + * @brief Describes ARM family processor specifics. + */ + +/* + * This file covers PJ_M_ARMV4 etc. + */ + +#define PJ_M_NAME "armv4" + +#define PJ_HAS_PENTIUM 0 +#define PJ_IS_LITTLE_ENDIAN 1 +#define PJ_IS_BIG_ENDIAN 0 + + +#endif /* __PJ_COMPAT_M_ARMV4_H__ */ diff --git a/pjlib/include/pj/compat/m_auto.h.in b/pjlib/include/pj/compat/m_auto.h.in new file mode 100644 index 0000000..48763ea --- /dev/null +++ b/pjlib/include/pj/compat/m_auto.h.in @@ -0,0 +1,60 @@ +/* $Id: m_auto.h.in 3295 2010-08-25 12:51:29Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_M_AUTO_H__ +#define __PJ_COMPAT_M_AUTO_H__ + +/** + * @file m_auto.h + * @brief Automatically generated process definition file. + */ + +/* Machine name, filled in by autoconf script */ +#undef PJ_M_NAME + +/* Endianness. It's reported on pjsip list on 09/02/13 that autoconf + * endianness detection failed for universal build, so special case + * for it here. Thanks Ruud Klaver for the fix. + */ +#ifdef PJ_DARWINOS +# ifdef __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else + /* Endianness, as detected by autoconf */ +# undef WORDS_BIGENDIAN +#endif + +#ifdef WORDS_BIGENDIAN +# define PJ_IS_LITTLE_ENDIAN 0 +# define PJ_IS_BIG_ENDIAN 1 +#else +# define PJ_IS_LITTLE_ENDIAN 1 +# define PJ_IS_BIG_ENDIAN 0 +#endif + + +/* Specify if floating point is present/desired */ +#undef PJ_HAS_FLOATING_POINT + +/* Deprecated */ +#define PJ_HAS_PENTIUM 0 + +#endif /* __PJ_COMPAT_M_AUTO_H__ */ + diff --git a/pjlib/include/pj/compat/m_i386.h b/pjlib/include/pj/compat/m_i386.h new file mode 100644 index 0000000..7967d6f --- /dev/null +++ b/pjlib/include/pj/compat/m_i386.h @@ -0,0 +1,35 @@ +/* $Id: m_i386.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_M_i386_H__ +#define __PJ_COMPAT_M_i386_H__ + +/** + * @file m_i386.h + * @brief Describes Intel i386 family processor specifics. + */ + +#define PJ_M_NAME "i386" + +#define PJ_HAS_PENTIUM 1 +#define PJ_IS_LITTLE_ENDIAN 1 +#define PJ_IS_BIG_ENDIAN 0 + + +#endif /* __PJ_COMPAT_M_i386_H__ */ diff --git a/pjlib/include/pj/compat/m_m68k.h b/pjlib/include/pj/compat/m_m68k.h new file mode 100644 index 0000000..e0469de --- /dev/null +++ b/pjlib/include/pj/compat/m_m68k.h @@ -0,0 +1,35 @@ +/* $Id: m_m68k.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_M_M68K_H__ +#define __PJ_COMPAT_M_M68K_H__ + +/** + * @file m_m68k.h + * @brief Describes Motorola m68k family processor specifics. + */ + +#define PJ_M_NAME "m68k" + +#define PJ_HAS_PENTIUM 0 +#define PJ_IS_LITTLE_ENDIAN 1 +#define PJ_IS_BIG_ENDIAN 0 + + +#endif /* __PJ_COMPAT_M_M68K_H__ */ diff --git a/pjlib/include/pj/compat/m_powerpc.h b/pjlib/include/pj/compat/m_powerpc.h new file mode 100644 index 0000000..03b2bd8 --- /dev/null +++ b/pjlib/include/pj/compat/m_powerpc.h @@ -0,0 +1,36 @@ +/* $Id: m_powerpc.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_M_POWERPC_H__ +#define __PJ_COMPAT_M_POWERPC_H__ + +/** + * @file m_ppc.h + * @brief Describes PowerPC family processor specifics. + */ + +#define PJ_M_NAME "powerpc" + +#define PJ_HAS_PENTIUM 0 +#define PJ_IS_LITTLE_ENDIAN 0 +#define PJ_IS_BIG_ENDIAN 1 + + +#endif /* __PJ_COMPAT_M_POWERPC_H__ */ + diff --git a/pjlib/include/pj/compat/m_sparc.h b/pjlib/include/pj/compat/m_sparc.h new file mode 100644 index 0000000..3539ea4 --- /dev/null +++ b/pjlib/include/pj/compat/m_sparc.h @@ -0,0 +1,35 @@ +/* $Id: m_sparc.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_M_SPARC_H__ +#define __PJ_COMPAT_M_SPARC_H__ + +/** + * @file m_sparc.h + * @brief Describes SPARC family processor specifics. + */ + +#define PJ_M_NAME "sparc" + +#define PJ_HAS_PENTIUM 0 +#define PJ_IS_LITTLE_ENDIAN 0 +#define PJ_IS_BIG_ENDIAN 1 + + +#endif /* __PJ_COMPAT_M_SPARC_H__ */ diff --git a/pjlib/include/pj/compat/m_x86_64.h b/pjlib/include/pj/compat/m_x86_64.h new file mode 100644 index 0000000..29795ef --- /dev/null +++ b/pjlib/include/pj/compat/m_x86_64.h @@ -0,0 +1,36 @@ +/* $Id: m_x86_64.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_M_x86_64_H__ +#define __PJ_COMPAT_M_x86_64_H__ + +/** + * @file m_i386.h + * @brief Describes 64bit x86 Intel/AMD family processor specifics. + */ + +#define PJ_M_NAME "x86_64" + +#define PJ_HAS_PENTIUM 1 +#define PJ_IS_LITTLE_ENDIAN 1 +#define PJ_IS_BIG_ENDIAN 0 + + +#endif /* __PJ_COMPAT_M_x86_64_H__ */ + diff --git a/pjlib/include/pj/compat/malloc.h b/pjlib/include/pj/compat/malloc.h new file mode 100644 index 0000000..94c1431 --- /dev/null +++ b/pjlib/include/pj/compat/malloc.h @@ -0,0 +1,34 @@ +/* $Id: malloc.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_MALLOC_H__ +#define __PJ_COMPAT_MALLOC_H__ + +/** + * @file malloc.h + * @brief Provides malloc() and free() functions. + */ + +#if defined(PJ_HAS_MALLOC_H) && PJ_HAS_MALLOC_H != 0 +# include +#elif defined(PJ_HAS_STDLIB_H) && PJ_HAS_STDLIB_H != 0 +# include +#endif + +#endif /* __PJ_COMPAT_MALLOC_H__ */ diff --git a/pjlib/include/pj/compat/os_auto.h.in b/pjlib/include/pj/compat/os_auto.h.in new file mode 100644 index 0000000..18df2bf --- /dev/null +++ b/pjlib/include/pj/compat/os_auto.h.in @@ -0,0 +1,212 @@ +/* $Id: os_auto.h.in 3841 2011-10-24 09:28:13Z ming $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_OS_AUTO_H__ +#define __PJ_COMPAT_OS_AUTO_H__ + +/** + * @file os_auto.h + * @brief Describes operating system specifics (automatically detected by + * autoconf) + */ + +/* Canonical OS name */ +#undef PJ_OS_NAME + +/* Legacy macros */ +#undef PJ_WIN32 +#undef PJ_WIN32_WINNT +#undef WIN32_LEAN_AND_MEAN +#undef PJ_DARWINOS +#undef PJ_LINUX +#undef PJ_RTEMS +#undef PJ_SUNOS + +#if defined(PJ_WIN32_WINNT) && !defined(_WIN32_WINNT) +# define _WIN32_WINNT PJ_WIN32_WINNT +#endif + +/* Headers availability */ +#undef PJ_HAS_ARPA_INET_H +#undef PJ_HAS_ASSERT_H +#undef PJ_HAS_CTYPE_H +#undef PJ_HAS_ERRNO_H +#undef PJ_HAS_FCNTL_H +#undef PJ_HAS_LIMITS_H +#undef PJ_HAS_LINUX_SOCKET_H +#undef PJ_HAS_MALLOC_H +#undef PJ_HAS_NETDB_H +#undef PJ_HAS_NETINET_IN_SYSTM_H +#undef PJ_HAS_NETINET_IN_H +#undef PJ_HAS_NETINET_IP_H +#undef PJ_HAS_NETINET_TCP_H +#undef PJ_HAS_NET_IF_H +#undef PJ_HAS_IFADDRS_H +#undef PJ_HAS_SEMAPHORE_H +#undef PJ_HAS_SETJMP_H +#undef PJ_HAS_STDARG_H +#undef PJ_HAS_STDDEF_H +#undef PJ_HAS_STDIO_H +#undef PJ_HAS_STDINT_H +#undef PJ_HAS_STDLIB_H +#undef PJ_HAS_STRING_H +#undef PJ_HAS_SYS_IOCTL_H +#undef PJ_HAS_SYS_SELECT_H +#undef PJ_HAS_SYS_SOCKET_H +#undef PJ_HAS_SYS_TIME_H +#undef PJ_HAS_SYS_TIMEB_H +#undef PJ_HAS_SYS_TYPES_H +#undef PJ_HAS_SYS_FILIO_H +#undef PJ_HAS_SYS_SOCKIO_H +#undef PJ_HAS_SYS_UTSNAME_H +#undef PJ_HAS_TIME_H +#undef PJ_HAS_UNISTD_H + +#undef PJ_HAS_MSWSOCK_H +#undef PJ_HAS_WINSOCK_H +#undef PJ_HAS_WINSOCK2_H +#undef PJ_HAS_WS2TCPIP_H + +#undef PJ_SOCK_HAS_INET_ATON +#undef PJ_SOCK_HAS_INET_PTON +#undef PJ_SOCK_HAS_INET_NTOP +#undef PJ_SOCK_HAS_GETADDRINFO + +/* On these OSes, semaphore feature depends on semaphore.h */ +#if defined(PJ_HAS_SEMAPHORE_H) && PJ_HAS_SEMAPHORE_H!=0 +# define PJ_HAS_SEMAPHORE 1 +#elif defined(PJ_WIN32) && PJ_WIN32!=0 +# define PJ_HAS_SEMAPHORE 1 +#else +# define PJ_HAS_SEMAPHORE 0 +#endif + +/* Do we have pthread_mutexattr_settype()? */ +#undef PJ_HAS_PTHREAD_MUTEXATTR_SETTYPE + +/* Does pthread_mutexattr_t has "recursive" member? */ +#undef PJ_PTHREAD_MUTEXATTR_T_HAS_RECURSIVE + +/* Set 1 if native sockaddr_in has sin_len member. + * Default: 0 + */ +#undef PJ_SOCKADDR_HAS_LEN + +/* Does the OS have socklen_t? */ +#undef PJ_HAS_SOCKLEN_T + +#if !defined(socklen_t) && (!defined(PJ_HAS_SOCKLEN_T) || PJ_HAS_SOCKLEN_T==0) +# define PJ_HAS_SOCKLEN_T 1 + typedef int socklen_t; +#endif + +/** + * If this macro is set, it tells select I/O Queue that select() needs to + * be given correct value of nfds (i.e. largest fd + 1). This requires + * select ioqueue to re-scan the descriptors on each registration and + * unregistration. + * If this macro is not set, then ioqueue will always give FD_SETSIZE for + * nfds argument when calling select(). + * + * Default: 0 + */ +#undef PJ_SELECT_NEEDS_NFDS + +/* Is errno a good way to retrieve OS errors? + */ +#undef PJ_HAS_ERRNO_VAR + +/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return + * the status of non-blocking connect() operation. + */ +#undef PJ_HAS_SO_ERROR + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket recv() can not return immediate daata. + */ +#undef PJ_BLOCKING_ERROR_VAL + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket connect() can not get connected immediately. + */ +#undef PJ_BLOCKING_CONNECT_ERROR_VAL + +/* Default threading is enabled, unless it's overridden. */ +#ifndef PJ_HAS_THREADS +# define PJ_HAS_THREADS (1) +#endif + +/* Do we need high resolution timer? */ +#undef PJ_HAS_HIGH_RES_TIMER + +/* Is malloc() available? */ +#undef PJ_HAS_MALLOC + +#ifndef PJ_OS_HAS_CHECK_STACK +# define PJ_OS_HAS_CHECK_STACK 0 +#endif + +/* Unicode? */ +#undef PJ_NATIVE_STRING_IS_UNICODE + +/* Pool alignment in bytes */ +#undef PJ_POOL_ALIGNMENT + +/* The type of atomic variable value: */ +#undef PJ_ATOMIC_VALUE_TYPE + +#if defined(PJ_DARWINOS) && PJ_DARWINOS!=0 +# include "TargetConditionals.h" +# if TARGET_OS_IPHONE +# include "Availability.h" + /* Use CFHost API for pj_getaddrinfo() (see ticket #1246) */ +# define PJ_GETADDRINFO_USE_CFHOST 1 + /* Disable local host resolution in pj_gethostip() (see ticket #1342) */ +# define PJ_GETHOSTIP_DISABLE_LOCAL_RESOLUTION 1 +# ifdef __IPHONE_4_0 + /* Is multitasking support available? (see ticket #1107) */ +# define PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT 1 + /* Enable activesock TCP background mode support */ +# define PJ_ACTIVESOCK_TCP_IPHONE_OS_BG 1 +# endif +# endif +#endif + +/* If 1, use Read/Write mutex emulation for platforms that don't support it */ +#undef PJ_EMULATE_RWMUTEX + +/* If 1, pj_thread_create() should enforce the stack size when creating + * threads. + * Default: 0 (let OS decide the thread's stack size). + */ +#undef PJ_THREAD_SET_STACK_SIZE + +/* If 1, pj_thread_create() should allocate stack from the pool supplied. + * Default: 0 (let OS allocate memory for thread's stack). + */ +#undef PJ_THREAD_ALLOCATE_STACK + +/* SSL socket availability. */ +#ifndef PJ_HAS_SSL_SOCK +#undef PJ_HAS_SSL_SOCK +#endif + + +#endif /* __PJ_COMPAT_OS_AUTO_H__ */ + diff --git a/pjlib/include/pj/compat/os_darwinos.h b/pjlib/include/pj/compat/os_darwinos.h new file mode 100644 index 0000000..49e69c2 --- /dev/null +++ b/pjlib/include/pj/compat/os_darwinos.h @@ -0,0 +1,140 @@ +/* $Id: os_darwinos.h 4626 2013-10-21 07:04:38Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_OS_DARWINOS_H__ +#define __PJ_COMPAT_OS_DARWINOS_H__ + +/** + * @file os_darwinos.h + * @brief Describes Darwin/MacOSX operating system specifics. + */ + +#define PJ_OS_NAME "darwin" + +#define PJ_HAS_ARPA_INET_H 1 +#define PJ_HAS_ASSERT_H 1 +#define PJ_HAS_CTYPE_H 1 +#define PJ_HAS_ERRNO_H 1 +#define PJ_HAS_LINUX_SOCKET_H 0 +#define PJ_HAS_MALLOC_H 0 +#define PJ_HAS_NETDB_H 1 +#define PJ_HAS_NETINET_IN_H 1 +#define PJ_HAS_NETINET_TCP_H 1 +#define PJ_HAS_SETJMP_H 1 +#define PJ_HAS_STDARG_H 1 +#define PJ_HAS_STDDEF_H 1 +#define PJ_HAS_STDIO_H 1 +#define PJ_HAS_STDLIB_H 1 +#define PJ_HAS_STRING_H 1 +#define PJ_HAS_SYS_IOCTL_H 1 +#define PJ_HAS_SYS_SELECT_H 1 +#define PJ_HAS_SYS_SOCKET_H 1 +#define PJ_HAS_SYS_TIME_H 1 +#define PJ_HAS_SYS_TIMEB_H 1 +#define PJ_HAS_SYS_TYPES_H 1 +#define PJ_HAS_TIME_H 1 +#define PJ_HAS_UNISTD_H 1 + +#define PJ_HAS_MSWSOCK_H 0 +#define PJ_HAS_WINSOCK_H 0 +#define PJ_HAS_WINSOCK2_H 0 + +/* Is errno a good way to retrieve OS errors? + */ +#define PJ_HAS_ERRNO_VAR 1 + +/* Has inet_aton() ? + */ +#define PJ_SOCK_HAS_INET_ATON 1 + +/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return + * the status of non-blocking connect() operation. + */ +#define PJ_HAS_SO_ERROR 1 + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket recv() can not return immediate daata. + */ +#define PJ_BLOCKING_ERROR_VAL EWOULDBLOCK + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket connect() can not get connected immediately. + */ +#define PJ_BLOCKING_CONNECT_ERROR_VAL EINPROGRESS + +/* Default threading is enabled, unless it's overridden. */ +#ifndef PJ_HAS_THREADS +# define PJ_HAS_THREADS (1) +#endif + +#define PJ_HAS_HIGH_RES_TIMER 1 +#define PJ_HAS_MALLOC 1 +#ifndef PJ_OS_HAS_CHECK_STACK +# define PJ_OS_HAS_CHECK_STACK 0 +#endif +#define PJ_NATIVE_STRING_IS_UNICODE 0 + +#define PJ_ATOMIC_VALUE_TYPE long + +/* Set 1 if native sockaddr_in has sin_len member. + * Default: 0 + */ +#define PJ_SOCKADDR_HAS_LEN 1 + +/* + * gcc complains that it can not use precompiled header because + * the value of FD_SETSIZE that we declare in pj/config.h is + * different than the value in /usr/include/sys/types.h. + * + * This changes the default value for Darwin. + */ +#define PJ_IOQUEUE_MAX_HANDLES 1024 + +/** + * If this macro is set, it tells select I/O Queue that select() needs to + * be given correct value of nfds (i.e. largest fd + 1). This requires + * select ioqueue to re-scan the descriptors on each registration and + * unregistration. + * If this macro is not set, then ioqueue will always give FD_SETSIZE for + * nfds argument when calling select(). + * + * Default: 0 + */ +#define PJ_SELECT_NEEDS_NFDS 0 + +/* If 1, use Read/Write mutex emulation for platforms that don't support it */ +#define PJ_EMULATE_RWMUTEX 0 + +/* If 1, pj_thread_create() should enforce the stack size when creating + * threads. + * Default: 0 (let OS decide the thread's stack size). + */ +#define PJ_THREAD_SET_STACK_SIZE 0 + +/* If 1, pj_thread_create() should allocate stack from the pool supplied. + * Default: 0 (let OS allocate memory for thread's stack). + */ +#define PJ_THREAD_ALLOCATE_STACK 0 + +/* MacOS has had socklen since 10.4 */ +#define PJ_HAS_SOCKLEN_T 1 + + +#endif /* __PJ_COMPAT_OS_DARWINOS_H__ */ + diff --git a/pjlib/include/pj/compat/os_linux.h b/pjlib/include/pj/compat/os_linux.h new file mode 100644 index 0000000..820d744 --- /dev/null +++ b/pjlib/include/pj/compat/os_linux.h @@ -0,0 +1,129 @@ +/* $Id: os_linux.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_OS_LINUX_H__ +#define __PJ_COMPAT_OS_LINUX_H__ + +/** + * @file os_linux.h + * @brief Describes Linux operating system specifics. + */ + +#define PJ_OS_NAME "linux" + +#define PJ_HAS_ARPA_INET_H 1 +#define PJ_HAS_ASSERT_H 1 +#define PJ_HAS_CTYPE_H 1 +#define PJ_HAS_ERRNO_H 1 +#define PJ_HAS_LINUX_SOCKET_H 0 +#define PJ_HAS_MALLOC_H 1 +#define PJ_HAS_NETDB_H 1 +#define PJ_HAS_NETINET_IN_H 1 +#define PJ_HAS_SETJMP_H 1 +#define PJ_HAS_STDARG_H 1 +#define PJ_HAS_STDDEF_H 1 +#define PJ_HAS_STDIO_H 1 +#define PJ_HAS_STDLIB_H 1 +#define PJ_HAS_STRING_H 1 +#define PJ_HAS_SYS_IOCTL_H 1 +#define PJ_HAS_SYS_SELECT_H 1 +#define PJ_HAS_SYS_SOCKET_H 1 +#define PJ_HAS_SYS_TIME_H 1 +#define PJ_HAS_SYS_TIMEB_H 1 +#define PJ_HAS_SYS_TYPES_H 1 +#define PJ_HAS_TIME_H 1 +#define PJ_HAS_UNISTD_H 1 +#define PJ_HAS_SEMAPHORE_H 1 + +#define PJ_HAS_MSWSOCK_H 0 +#define PJ_HAS_WINSOCK_H 0 +#define PJ_HAS_WINSOCK2_H 0 + +#define PJ_SOCK_HAS_INET_ATON 1 + +/* Set 1 if native sockaddr_in has sin_len member. + * Default: 0 + */ +#define PJ_SOCKADDR_HAS_LEN 0 + +/** + * If this macro is set, it tells select I/O Queue that select() needs to + * be given correct value of nfds (i.e. largest fd + 1). This requires + * select ioqueue to re-scan the descriptors on each registration and + * unregistration. + * If this macro is not set, then ioqueue will always give FD_SETSIZE for + * nfds argument when calling select(). + * + * Default: 0 + */ +#define PJ_SELECT_NEEDS_NFDS 0 + +/* Is errno a good way to retrieve OS errors? + */ +#define PJ_HAS_ERRNO_VAR 1 + +/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return + * the status of non-blocking connect() operation. + */ +#define PJ_HAS_SO_ERROR 1 + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket recv() can not return immediate daata. + */ +#define PJ_BLOCKING_ERROR_VAL EAGAIN + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket connect() can not get connected immediately. + */ +#define PJ_BLOCKING_CONNECT_ERROR_VAL EINPROGRESS + +/* Default threading is enabled, unless it's overridden. */ +#ifndef PJ_HAS_THREADS +# define PJ_HAS_THREADS (1) +#endif + +#define PJ_HAS_HIGH_RES_TIMER 1 +#define PJ_HAS_MALLOC 1 +#ifndef PJ_OS_HAS_CHECK_STACK +# define PJ_OS_HAS_CHECK_STACK 0 +#endif +#define PJ_NATIVE_STRING_IS_UNICODE 0 + +#define PJ_ATOMIC_VALUE_TYPE long + +/* If 1, use Read/Write mutex emulation for platforms that don't support it */ +#define PJ_EMULATE_RWMUTEX 0 + +/* If 1, pj_thread_create() should enforce the stack size when creating + * threads. + * Default: 0 (let OS decide the thread's stack size). + */ +#define PJ_THREAD_SET_STACK_SIZE 0 + +/* If 1, pj_thread_create() should allocate stack from the pool supplied. + * Default: 0 (let OS allocate memory for thread's stack). + */ +#define PJ_THREAD_ALLOCATE_STACK 0 + +/* Linux has socklen_t */ +#define PJ_HAS_SOCKLEN_T 1 + + +#endif /* __PJ_COMPAT_OS_LINUX_H__ */ + diff --git a/pjlib/include/pj/compat/os_linux_kernel.h b/pjlib/include/pj/compat/os_linux_kernel.h new file mode 100644 index 0000000..1894160 --- /dev/null +++ b/pjlib/include/pj/compat/os_linux_kernel.h @@ -0,0 +1,149 @@ +/* $Id: os_linux_kernel.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_OS_LINUX_KERNEL_H__ +#define __PJ_COMPAT_OS_LINUX_KERNEL_H__ + +/** + * @file os_linux.h + * @brief Describes Linux operating system specifics. + */ + +#define PJ_OS_NAME "linux-module" + +#define PJ_HAS_ARPA_INET_H 0 +#define PJ_HAS_ASSERT_H 0 +#define PJ_HAS_CTYPE_H 0 +#define PJ_HAS_ERRNO_H 0 +#define PJ_HAS_LINUX_SOCKET_H 1 +#define PJ_HAS_MALLOC_H 0 +#define PJ_HAS_NETDB_H 0 +#define PJ_HAS_NETINET_IN_H 0 +#define PJ_HAS_SETJMP_H 0 +#define PJ_HAS_STDARG_H 1 +#define PJ_HAS_STDDEF_H 0 +#define PJ_HAS_STDIO_H 0 +#define PJ_HAS_STDLIB_H 0 +#define PJ_HAS_STRING_H 0 +#define PJ_HAS_SYS_IOCTL_H 0 +#define PJ_HAS_SYS_SELECT_H 0 +#define PJ_HAS_SYS_SOCKET_H 0 +#define PJ_HAS_SYS_TIME_H 0 +#define PJ_HAS_SYS_TIMEB_H 0 +#define PJ_HAS_SYS_TYPES_H 0 +#define PJ_HAS_TIME_H 0 +#define PJ_HAS_UNISTD_H 0 + +#define PJ_HAS_MSWSOCK_H 0 +#define PJ_HAS_WINSOCK_H 0 +#define PJ_HAS_WINSOCK2_H 0 + +#define PJ_SOCK_HAS_INET_ATON 0 + +/* Set 1 if native sockaddr_in has sin_len member. + * Default: 0 + */ +#define PJ_SOCKADDR_HAS_LEN 0 + +/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return + * the status of non-blocking connect() operation. + */ +#define PJ_HAS_SO_ERROR 1 + +/** + * If this macro is set, it tells select I/O Queue that select() needs to + * be given correct value of nfds (i.e. largest fd + 1). This requires + * select ioqueue to re-scan the descriptors on each registration and + * unregistration. + * If this macro is not set, then ioqueue will always give FD_SETSIZE for + * nfds argument when calling select(). + * + * Default: 0 + */ +#define PJ_SELECT_NEEDS_NFDS 0 + +/* Is errno a good way to retrieve OS errors? + * (probably no for linux kernel) + * If you answer no here, you'll need to tell pjlib how to get OS + * error (a compile error will tell you exactly where) + */ +#define PJ_HAS_ERRNO_VAR 0 + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket recv() can not return immediate daata. + */ +#define PJ_BLOCKING_ERROR_VAL EAGAIN + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket connect() can not get connected immediately. + */ +#define PJ_BLOCKING_CONNECT_ERROR_VAL EINPROGRESS + +#ifndef PJ_HAS_THREADS +# define PJ_HAS_THREADS (1) +#endif + + +/* + * Declare __FD_SETSIZE now before including . + */ +#define __FD_SETSIZE PJ_IOQUEUE_MAX_HANDLES + +#define NULL ((void*)0) + +#include /* Needed by all modules */ +#include /* Needed for KERN_INFO */ + +#define __PJ_EXPORT_SYMBOL(a) EXPORT_SYMBOL(a); + +/* + * Override features. + */ +#define PJ_HAS_FLOATING_POINT 0 +#define PJ_HAS_MALLOC 0 +#define PJ_HAS_SEMAPHORE 0 +#define PJ_HAS_EVENT_OBJ 0 +#define PJ_HAS_HIGH_RES_TIMER 1 +#ifndef PJ_OS_HAS_CHECK_STACK +# define PJ_OS_HAS_CHECK_STACK 0 +#endif +#define PJ_TERM_HAS_COLOR 0 +#define PJ_NATIVE_STRING_IS_UNICODE 0 + +#define PJ_ATOMIC_VALUE_TYPE int +#define PJ_THREAD_DESC_SIZE 128 + +/* If 1, use Read/Write mutex emulation for platforms that don't support it */ +#define PJ_EMULATE_RWMUTEX 0 + +/* If 1, pj_thread_create() should enforce the stack size when creating + * threads. + * Default: 0 (let OS decide the thread's stack size). + */ +#define PJ_THREAD_SET_STACK_SIZE 0 + +/* If 1, pj_thread_create() should allocate stack from the pool supplied. + * Default: 0 (let OS allocate memory for thread's stack). + */ +#define PJ_THREAD_ALLOCATE_STACK 0 + + + +#endif /* __PJ_COMPAT_OS_LINUX_KERNEL_H__ */ + diff --git a/pjlib/include/pj/compat/os_palmos.h b/pjlib/include/pj/compat/os_palmos.h new file mode 100644 index 0000000..1fd4d86 --- /dev/null +++ b/pjlib/include/pj/compat/os_palmos.h @@ -0,0 +1,119 @@ +/* $Id: os_palmos.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_OS_PALMOS_H__ +#define __PJ_COMPAT_OS_PALMOS_H__ + +/** + * @file os_palmos.h + * @brief Describes PalmOS operating system specifics. + */ + +#define PJ_OS_NAME "palmos" + +#define PJ_HAS_ARPA_INET_H 0 +#define PJ_HAS_ASSERT_H 1 +#define PJ_HAS_CTYPE_H 1 +#define PJ_HAS_ERRNO_H 0 +#define PJ_HAS_MALLOC_H 1 +#define PJ_HAS_NETDB_H 0 +#define PJ_HAS_NETINET_IN_H 0 +#define PJ_HAS_SETJMP_H 1 +#define PJ_HAS_STDARG_H 1 +#define PJ_HAS_STDDEF_H 1 +#define PJ_HAS_STDIO_H 1 +#define PJ_HAS_STDLIB_H 1 +#define PJ_HAS_STRING_H 1 +#define PJ_HAS_SYS_IOCTL_H 0 +#define PJ_HAS_SYS_SELECT_H 0 +#define PJ_HAS_SYS_SOCKET_H 0 +#define PJ_HAS_SYS_TIMEB_H 0 +#define PJ_HAS_SYS_TYPES_H 1 +#define PJ_HAS_TIME_H 1 +#define PJ_HAS_UNISTD_H 0 + +#define PJ_HAS_MSWSOCK_H 0 +#define PJ_HAS_WINSOCK_H 0 +#define PJ_HAS_WINSOCK2_H 0 + +#define PJ_SOCK_HAS_INET_ATON 0 + +/* Set 1 if native sockaddr_in has sin_len member. + * Default: 0 + */ +#define PJ_SOCKADDR_HAS_LEN 0 + +/** + * If this macro is set, it tells select I/O Queue that select() needs to + * be given correct value of nfds (i.e. largest fd + 1). This requires + * select ioqueue to re-scan the descriptors on each registration and + * unregistration. + * If this macro is not set, then ioqueue will always give FD_SETSIZE for + * nfds argument when calling select(). + * + * Default: 0 + */ +#define PJ_SELECT_NEEDS_NFDS 0 + +/* Is errno a good way to retrieve OS errors? + */ +#define PJ_HAS_ERRNO_VAR 0 + +/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return + * the status of non-blocking connect() operation. + */ +#define PJ_HAS_SO_ERROR 0 + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket recv() can not return immediate daata. + */ +#define PJ_BLOCKING_ERROR_VAL xxx + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket connect() can not get connected immediately. + */ +#define PJ_BLOCKING_CONNECT_ERROR_VAL xxx + +/* Default threading is enabled, unless it's overridden. */ +#ifndef PJ_HAS_THREADS +# define PJ_HAS_THREADS (1) +#endif + +#define PJ_HAS_HIGH_RES_TIMER 1 +#ifndef PJ_OS_HAS_CHECK_STACK +# define PJ_OS_HAS_CHECK_STACK 0 +#define PJ_NATIVE_STRING_IS_UNICODE 0 + +/* If 1, use Read/Write mutex emulation for platforms that don't support it */ +#define PJ_EMULATE_RWMUTEX 1 + +/* If 1, pj_thread_create() should enforce the stack size when creating + * threads. + * Default: 0 (let OS decide the thread's stack size). + */ +#define PJ_THREAD_SET_STACK_SIZE 0 + +/* If 1, pj_thread_create() should allocate stack from the pool supplied. + * Default: 0 (let OS allocate memory for thread's stack). + */ +#define PJ_THREAD_ALLOCATE_STACK 0 + + +#endif /* __PJ_COMPAT_OS_PALMOS_H__ */ + diff --git a/pjlib/include/pj/compat/os_rtems.h b/pjlib/include/pj/compat/os_rtems.h new file mode 100644 index 0000000..ac7224d --- /dev/null +++ b/pjlib/include/pj/compat/os_rtems.h @@ -0,0 +1,139 @@ +/* $Id: os_rtems.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * Thanks Zetron, Inc and Phil Torre for donating PJLIB + * port to RTEMS. + */ + +#ifndef __PJ_COMPAT_OS_RTEMS_H__ +#define __PJ_COMPAT_OS_RTEMS_H__ + +/** + * @file os_linux.h + * @brief Describes Linux operating system specifics. + */ + +#define PJ_OS_NAME "rtems" + +#define PJ_HAS_ARPA_INET_H 1 +#define PJ_HAS_ASSERT_H 1 +#define PJ_HAS_CTYPE_H 1 +#define PJ_HAS_ERRNO_H 1 +#define PJ_HAS_LINUX_SOCKET_H 0 +#define PJ_HAS_MALLOC_H 1 +#define PJ_HAS_NETDB_H 1 +#define PJ_HAS_NETINET_IN_H 1 +#define PJ_HAS_SETJMP_H 1 +#define PJ_HAS_STDARG_H 0 +#define PJ_HAS_STDDEF_H 1 +#define PJ_HAS_STDIO_H 1 +#define PJ_HAS_STDLIB_H 1 +#define PJ_HAS_STRING_H 1 +#define PJ_HAS_SYS_IOCTL_H 1 +#define PJ_HAS_SYS_SELECT_H 1 +#define PJ_HAS_SYS_SOCKET_H 1 +#define PJ_HAS_SYS_TIME_H 1 +#define PJ_HAS_SYS_TIMEB_H 1 +#define PJ_HAS_SYS_TYPES_H 1 +#define PJ_HAS_TIME_H 1 +#define PJ_HAS_UNISTD_H 1 + +#define PJ_HAS_MSWSOCK_H 0 +#define PJ_HAS_WINSOCK_H 0 +#define PJ_HAS_WINSOCK2_H 0 + +#define PJ_SOCK_HAS_INET_ATON 1 + +/* Set 1 if native sockaddr_in has sin_len member. + * Default: 0 + */ +#define PJ_SOCKADDR_HAS_LEN 1 + +/* Is errno a good way to retrieve OS errors? + */ +#define PJ_HAS_ERRNO_VAR 1 + +/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return + * the status of non-blocking connect() operation. + */ +#define PJ_HAS_SO_ERROR 1 + +/** + * If this macro is set, it tells select I/O Queue that select() needs to + * be given correct value of nfds (i.e. largest fd + 1). This requires + * select ioqueue to re-scan the descriptors on each registration and + * unregistration. + * If this macro is not set, then ioqueue will always give FD_SETSIZE for + * nfds argument when calling select(). + * + * Default: 0 + */ +#define PJ_SELECT_NEEDS_NFDS 1 + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket recv() can not return immediate daata. + */ +#define PJ_BLOCKING_ERROR_VAL EWOULDBLOCK + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket connect() can not get connected immediately. + */ +#define PJ_BLOCKING_CONNECT_ERROR_VAL EINPROGRESS + +/* Default threading is enabled, unless it's overridden. */ +#ifndef PJ_HAS_THREADS +# define PJ_HAS_THREADS (1) +#endif + +#define PJ_HAS_HIGH_RES_TIMER 1 +#define PJ_HAS_MALLOC 1 +#ifndef PJ_OS_HAS_CHECK_STACK +# define PJ_OS_HAS_CHECK_STACK 0 +#endif +#define PJ_NATIVE_STRING_IS_UNICODE 0 + +#define PJ_ATOMIC_VALUE_TYPE int + +/* If 1, use Read/Write mutex emulation for platforms that don't support it */ +#define PJ_EMULATE_RWMUTEX 1 + +/* Missing socklen_t */ +typedef int socklen_t; + +/* If 1, pj_thread_create() should enforce the stack size when creating + * threads. + * Default: 0 (let OS decide the thread's stack size). + */ +#define PJ_THREAD_SET_STACK_SIZE 1 + +/* If 1, pj_thread_create() should allocate stack from the pool supplied. + * Default: 0 (let OS allocate memory for thread's stack). + */ +#define PJ_THREAD_ALLOCATE_STACK 1 + +/* RTEMS has socklen_t (does it? )*/ +#define PJ_HAS_SOCKLEN_T 1 + + + + +#endif /* __PJ_COMPAT_OS_RTEMS_H__ */ + diff --git a/pjlib/include/pj/compat/os_sunos.h b/pjlib/include/pj/compat/os_sunos.h new file mode 100644 index 0000000..245c35a --- /dev/null +++ b/pjlib/include/pj/compat/os_sunos.h @@ -0,0 +1,132 @@ +/* $Id: os_sunos.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_OS_SUNOS_H__ +#define __PJ_COMPAT_OS_SUNOS_H__ + +/** + * @file os_sunos.h + * @brief Describes SunOS/Solaris operating system specifics. + */ + +#define PJ_OS_NAME "sunos" + +#define PJ_HAS_ARPA_INET_H 1 +#define PJ_HAS_ASSERT_H 1 +#define PJ_HAS_CTYPE_H 1 +#define PJ_HAS_ERRNO_H 1 +#define PJ_HAS_LINUX_SOCKET_H 0 +#define PJ_HAS_MALLOC_H 1 +#define PJ_HAS_NETDB_H 1 +#define PJ_HAS_NETINET_IN_H 1 +#define PJ_HAS_SETJMP_H 1 +#define PJ_HAS_STDARG_H 1 +#define PJ_HAS_STDDEF_H 1 +#define PJ_HAS_STDIO_H 1 +#define PJ_HAS_STDLIB_H 1 +#define PJ_HAS_STRING_H 1 +#define PJ_HAS_SYS_IOCTL_H 1 +#define PJ_HAS_SYS_SELECT_H 1 +#define PJ_HAS_SYS_SOCKET_H 1 +#define PJ_HAS_SYS_TIME_H 0 +#define PJ_HAS_SYS_TIMEB_H 1 +#define PJ_HAS_SYS_TYPES_H 1 +#define PJ_HAS_TIME_H 1 +#define PJ_HAS_UNISTD_H 1 + +#define PJ_HAS_MSWSOCK_H 0 +#define PJ_HAS_WINSOCK_H 0 +#define PJ_HAS_WINSOCK2_H 0 + +#define PJ_SOCK_HAS_INET_ATON 0 + +/* Set 1 if native sockaddr_in has sin_len member. + * Default: 0 + */ +#define PJ_SOCKADDR_HAS_LEN 0 + +/* Is errno a good way to retrieve OS errors? + */ +#define PJ_HAS_ERRNO_VAR 1 + +/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return + * the status of non-blocking connect() operation. + */ +#define PJ_HAS_SO_ERROR 0 + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket recv() can not return immediate daata. + */ +#define PJ_BLOCKING_ERROR_VAL EWOULDBLOCK + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket connect() can not get connected immediately. + */ +#define PJ_BLOCKING_CONNECT_ERROR_VAL EINPROGRESS + +/** + * If this macro is set, it tells select I/O Queue that select() needs to + * be given correct value of nfds (i.e. largest fd + 1). This requires + * select ioqueue to re-scan the descriptors on each registration and + * unregistration. + * If this macro is not set, then ioqueue will always give FD_SETSIZE for + * nfds argument when calling select(). + * + * Default: 0 + */ +#define PJ_SELECT_NEEDS_NFDS 0 + +/* Default threading is enabled, unless it's overridden. */ +#ifndef PJ_HAS_THREADS +# define PJ_HAS_THREADS (1) +#endif + +#define PJ_HAS_HIGH_RES_TIMER 1 +#define PJ_HAS_MALLOC 1 +#ifndef PJ_OS_HAS_CHECK_STACK +# define PJ_OS_HAS_CHECK_STACK 0 +#endif +#define PJ_NATIVE_STRING_IS_UNICODE 0 + +#define PJ_ATOMIC_VALUE_TYPE long + +/* Get BSD related identifers in Sun's include files */ +#define BSD_COMP + +/* If 1, use Read/Write mutex emulation for platforms that don't support it */ +#define PJ_EMULATE_RWMUTEX 0 + +/* If 1, pj_thread_create() should enforce the stack size when creating + * threads. + * Default: 0 (let OS decide the thread's stack size). + */ +#define PJ_THREAD_SET_STACK_SIZE 0 + +/* If 1, pj_thread_create() should allocate stack from the pool supplied. + * Default: 0 (let OS allocate memory for thread's stack). + */ +#define PJ_THREAD_ALLOCATE_STACK 0 + +/* SunOS has socklen_t (does it? )*/ +#define PJ_HAS_SOCKLEN_T 1 + + + +#endif /* __PJ_COMPAT_OS_SUNOS_H__ */ + diff --git a/pjlib/include/pj/compat/os_symbian.h b/pjlib/include/pj/compat/os_symbian.h new file mode 100644 index 0000000..7906d6f --- /dev/null +++ b/pjlib/include/pj/compat/os_symbian.h @@ -0,0 +1,167 @@ +/* $Id: os_symbian.h 3841 2011-10-24 09:28:13Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_OS_SYMBIAN_H__ +#define __PJ_COMPAT_OS_SYMBIAN_H__ + +/** + * @file os_symbian.h + * @brief Describes Symbian operating system specifics. + */ + +#define PJ_OS_NAME "symbian" + +#define PJ_HAS_ARPA_INET_H 1 +#define PJ_HAS_ASSERT_H 1 +#define PJ_HAS_CTYPE_H 1 +#define PJ_HAS_ERRNO_H 1 +#define PJ_HAS_LINUX_SOCKET_H 0 +#define PJ_HAS_MALLOC_H 0 +#define PJ_HAS_NETDB_H 1 +#define PJ_HAS_NETINET_IN_H 1 +#define PJ_HAS_NETINET_TCP_H 0 +#define PJ_HAS_SETJMP_H 1 +#define PJ_HAS_STDARG_H 1 +#define PJ_HAS_STDDEF_H 1 +#define PJ_HAS_STDIO_H 1 +#define PJ_HAS_STDLIB_H 1 +#define PJ_HAS_STRING_H 1 +#define PJ_HAS_NO_SNPRINTF 1 +#define PJ_HAS_SYS_IOCTL_H 1 +#define PJ_HAS_SYS_SELECT_H 0 +#define PJ_HAS_SYS_SOCKET_H 1 +#define PJ_HAS_SYS_TIME_H 1 +#define PJ_HAS_SYS_TIMEB_H 0 +#define PJ_HAS_SYS_TYPES_H 1 +#define PJ_HAS_TIME_H 1 +#define PJ_HAS_UNISTD_H 1 + +#define PJ_HAS_MSWSOCK_H 0 +#define PJ_HAS_WINSOCK_H 0 +#define PJ_HAS_WINSOCK2_H 0 + +#define PJ_SOCK_HAS_INET_ATON 0 + +/* Set 1 if native sockaddr_in has sin_len member. + * Default: 0 + */ +#define PJ_SOCKADDR_HAS_LEN 0 +/* Is errno a good way to retrieve OS errors? + */ +#define PJ_HAS_ERRNO_VAR 1 + +/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return + * the status of non-blocking connect() operation. + */ +#define PJ_HAS_SO_ERROR 1 + +/** + * If this macro is set, it tells select I/O Queue that select() needs to + * be given correct value of nfds (i.e. largest fd + 1). This requires + * select ioqueue to re-scan the descriptors on each registration and + * unregistration. + * If this macro is not set, then ioqueue will always give FD_SETSIZE for + * nfds argument when calling select(). + * + * Default: 0 + */ +#define PJ_SELECT_NEEDS_NFDS 0 + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket recv() can not return immediate daata. + */ +#define PJ_BLOCKING_ERROR_VAL EAGAIN + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket connect() can not get connected immediately. + */ +#define PJ_BLOCKING_CONNECT_ERROR_VAL EINPROGRESS + +/* + * We don't want to use threads in Symbian + */ +#define PJ_HAS_THREADS 0 + + +/* + * Declare __FD_SETSIZE now before including . +#define __FD_SETSIZE PJ_IOQUEUE_MAX_HANDLES + */ + +#ifndef NULL +# define NULL 0 +#endif + +/* Endianness */ +#ifndef PJ_IS_LITTLE_ENDIAN +# define PJ_IS_LITTLE_ENDIAN 1 +# define PJ_IS_BIG_ENDIAN 0 +#endif + +/* Doesn't seem to allow more than this */ +#define PJ_IOQUEUE_MAX_HANDLES 8 + +/* + * Override features. + */ +#define PJ_HAS_FLOATING_POINT 0 +#define PJ_HAS_MALLOC 0 +#define PJ_HAS_SEMAPHORE 1 +#define PJ_HAS_EVENT_OBJ 0 +#define PJ_HAS_HIGH_RES_TIMER 1 +#define PJ_OS_HAS_CHECK_STACK 0 +#define PJ_TERM_HAS_COLOR 0 +#define PJ_NATIVE_STRING_IS_UNICODE 0 +#define PJ_NATIVE_ERR_POSITIVE 0 + +#define PJ_ATOMIC_VALUE_TYPE int +#define PJ_THREAD_DESC_SIZE 128 + +/* If 1, use Read/Write mutex emulation for platforms that don't support it */ +#define PJ_EMULATE_RWMUTEX 1 + +/* If 1, pj_thread_create() should enforce the stack size when creating + * threads. + * Default: 0 (let OS decide the thread's stack size). + */ +#define PJ_THREAD_SET_STACK_SIZE 0 + +/* If 1, pj_thread_create() should allocate stack from the pool supplied. + * Default: 0 (let OS allocate memory for thread's stack). + */ +#define PJ_THREAD_ALLOCATE_STACK 0 + +/* Missing socklen_t */ +#define PJ_HAS_SOCKLEN_T 1 +typedef unsigned int socklen_t; + +#ifndef __GCCE__ +#include +#endif + +#define PJ_EXPORT_DECL_SPECIFIER IMPORT_C +//#define PJ_EXPORT_DECL_SPECIFIER +#define PJ_EXPORT_DEF_SPECIFIER EXPORT_C +#define PJ_IMPORT_DECL_SPECIFIER IMPORT_C + + +#endif /* __PJ_COMPAT_OS_SYMBIAN_H__ */ + + + diff --git a/pjlib/include/pj/compat/os_win32.h b/pjlib/include/pj/compat/os_win32.h new file mode 100644 index 0000000..f1bd597 --- /dev/null +++ b/pjlib/include/pj/compat/os_win32.h @@ -0,0 +1,139 @@ +/* $Id: os_win32.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_OS_WIN32_H__ +#define __PJ_COMPAT_OS_WIN32_H__ + +/** + * @file os_win32.h + * @brief Describes Win32 operating system family specifics. + */ + +#define PJ_OS_NAME "win32" + +#define WIN32_LEAN_AND_MEAN +#define PJ_WIN32_WINNT 0x0400 +#ifndef _WIN32_WINNT +# define _WIN32_WINNT PJ_WIN32_WINNT +#endif + +#define PJ_HAS_ARPA_INET_H 0 +#define PJ_HAS_ASSERT_H 1 +#define PJ_HAS_CTYPE_H 1 +#define PJ_HAS_ERRNO_H 0 /* Must be zero, otherwise errno_test() fails. */ +#define PJ_HAS_LINUX_SOCKET_H 0 +#define PJ_HAS_MALLOC_H 1 +#define PJ_HAS_NETDB_H 0 +#define PJ_HAS_NETINET_IN_H 0 +#define PJ_HAS_NETINET_TCP_H 0 +#define PJ_HAS_SETJMP_H 1 +#define PJ_HAS_STDARG_H 1 +#define PJ_HAS_STDDEF_H 1 +#undef PJ_HAS_STDINT_H +#define PJ_HAS_STDIO_H 1 +#define PJ_HAS_STDLIB_H 1 +#define PJ_HAS_STRING_H 1 +#define PJ_HAS_SYS_IOCTL_H 0 +#define PJ_HAS_SYS_SELECT_H 0 +#define PJ_HAS_SYS_SOCKET_H 0 +#define PJ_HAS_SYS_TIME_H 0 +#define PJ_HAS_SYS_TIMEB_H 1 +#define PJ_HAS_SYS_TYPES_H 1 +#define PJ_HAS_TIME_H 1 +#define PJ_HAS_UNISTD_H 0 + +#define PJ_HAS_MSWSOCK_H 1 +#define PJ_HAS_WINSOCK_H 0 +#define PJ_HAS_WINSOCK2_H 1 +#define PJ_HAS_WS2TCPIP_H 1 + +#define PJ_SOCK_HAS_INET_ATON 0 + +/* Set 1 if native sockaddr_in has sin_len member. + * Default: 0 + */ +#define PJ_SOCKADDR_HAS_LEN 0 + +/* Is errno a good way to retrieve OS errors? (No) + */ +#define PJ_HAS_ERRNO_VAR 0 + +/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return + * the status of non-blocking connect() operation. + */ +#define PJ_HAS_SO_ERROR 1 + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket recv() or send() can not return immediately. + */ +#define PJ_BLOCKING_ERROR_VAL WSAEWOULDBLOCK + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket connect() can not get connected immediately. + */ +#define PJ_BLOCKING_CONNECT_ERROR_VAL WSAEWOULDBLOCK + +/** + * If this macro is set, it tells select I/O Queue that select() needs to + * be given correct value of nfds (i.e. largest fd + 1). This requires + * select ioqueue to re-scan the descriptors on each registration and + * unregistration. + * If this macro is not set, then ioqueue will always give FD_SETSIZE for + * nfds argument when calling select(). + * + * Default: 0 + */ +#define PJ_SELECT_NEEDS_NFDS 0 + +/* Default threading is enabled, unless it's overridden. */ +#ifndef PJ_HAS_THREADS +# define PJ_HAS_THREADS (1) +#endif + +#define PJ_HAS_HIGH_RES_TIMER 1 +#define PJ_HAS_MALLOC 1 +#ifndef PJ_OS_HAS_CHECK_STACK +# define PJ_OS_HAS_CHECK_STACK 1 +#endif + +#ifdef UNICODE +# define PJ_NATIVE_STRING_IS_UNICODE 1 +#else +# define PJ_NATIVE_STRING_IS_UNICODE 0 +#endif + +#define PJ_ATOMIC_VALUE_TYPE long + +/* If 1, use Read/Write mutex emulation for platforms that don't support it */ +#define PJ_EMULATE_RWMUTEX 1 + +/* If 1, pj_thread_create() should enforce the stack size when creating + * threads. + * Default: 0 (let OS decide the thread's stack size). + */ +#define PJ_THREAD_SET_STACK_SIZE 0 + +/* If 1, pj_thread_create() should allocate stack from the pool supplied. + * Default: 0 (let OS allocate memory for thread's stack). + */ +#define PJ_THREAD_ALLOCATE_STACK 0 + + +#endif /* __PJ_COMPAT_OS_WIN32_H__ */ + diff --git a/pjlib/include/pj/compat/os_win32_wince.h b/pjlib/include/pj/compat/os_win32_wince.h new file mode 100644 index 0000000..d6f228d --- /dev/null +++ b/pjlib/include/pj/compat/os_win32_wince.h @@ -0,0 +1,146 @@ +/* $Id: os_win32_wince.h 3841 2011-10-24 09:28:13Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_OS_WIN32_WINCE_H__ +#define __PJ_COMPAT_OS_WIN32_WINCE_H__ + +/** + * @file os_win32.h + * @brief Describes Win32 operating system family specifics. + */ + +#define PJ_OS_NAME "win32-wince" + +#define WIN32_LEAN_AND_MEAN +#define RPC_NO_WINDOWS_H +//#define PJ_WIN32_WINNT 0x0400 +//#define _WIN32_WINNT PJ_WIN32_WINNT + +#define PJ_HAS_ARPA_INET_H 0 +#define PJ_HAS_ASSERT_H 1 +#define PJ_HAS_CTYPE_H 1 +#define PJ_HAS_ERRNO_H 0 /* Must be zero, otherwise errno_test() fails. */ +#define PJ_HAS_LINUX_SOCKET_H 0 +#define PJ_HAS_MALLOC_H 1 +#define PJ_HAS_NETDB_H 0 +#define PJ_HAS_NETINET_IN_H 0 +#define PJ_HAS_NETINET_TCP_H 0 +#define PJ_HAS_SETJMP_H 1 +#define PJ_HAS_STDARG_H 1 +#define PJ_HAS_STDDEF_H 1 +#define PJ_HAS_STDIO_H 1 +#define PJ_HAS_STDLIB_H 1 +#define PJ_HAS_STRING_H 1 +#define PJ_HAS_SYS_IOCTL_H 0 +#define PJ_HAS_SYS_SELECT_H 0 +#define PJ_HAS_SYS_SOCKET_H 0 +#define PJ_HAS_SYS_TIME_H 0 +#define PJ_HAS_SYS_TIMEB_H 0 /* Doesn't have sys/timeb.h */ +#define PJ_HAS_SYS_TYPES_H 0 /* Doesn't have sys/types.h */ +#define PJ_HAS_TIME_H 1 +#define PJ_HAS_UNISTD_H 0 + +#define PJ_HAS_MSWSOCK_H 1 +#define PJ_HAS_WINSOCK_H 0 +#define PJ_HAS_WINSOCK2_H 1 + +#define PJ_SOCK_HAS_INET_ATON 0 + +/* Set 1 if native sockaddr_in has sin_len member. + * Default: 0 + */ +#define PJ_SOCKADDR_HAS_LEN 0 + +/* Is errno a good way to retrieve OS errors? (no) + */ +#define PJ_HAS_ERRNO_VAR 0 + +/* When this macro is set, getsockopt(SOL_SOCKET, SO_ERROR) will return + * the status of non-blocking connect() operation. + */ +#define PJ_HAS_SO_ERROR 0 + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket recv() or send() can not return immediately. + */ +#define PJ_BLOCKING_ERROR_VAL WSAEWOULDBLOCK + +/* This value specifies the value set in errno by the OS when a non-blocking + * socket connect() can not get connected immediately. + */ +#define PJ_BLOCKING_CONNECT_ERROR_VAL WSAEWOULDBLOCK + +/** + * If this macro is set, it tells select I/O Queue that select() needs to + * be given correct value of nfds (i.e. largest fd + 1). This requires + * select ioqueue to re-scan the descriptors on each registration and + * unregistration. + * If this macro is not set, then ioqueue will always give FD_SETSIZE for + * nfds argument when calling select(). + * + * Default: 0 + */ +#define PJ_SELECT_NEEDS_NFDS 0 + +/* Endianness */ +#ifndef PJ_IS_LITTLE_ENDIAN +# define PJ_IS_LITTLE_ENDIAN 1 +# define PJ_IS_BIG_ENDIAN 0 +#endif + +/* Default threading is enabled, unless it's overridden. */ +#ifndef PJ_HAS_THREADS +# define PJ_HAS_THREADS (1) +#endif + +#define PJ_HAS_HIGH_RES_TIMER 1 +#define PJ_HAS_MALLOC 1 +#define PJ_OS_HAS_CHECK_STACK 1 + +#define PJ_ATOMIC_VALUE_TYPE long + +/* TlsAlloc() error value. */ +#define TLS_OUT_OF_INDEXES 0xFFFFFFFF + +/* No console. */ +#define PJ_TERM_HAS_COLOR 0 + +/* No rdtsc */ +#define PJ_TIMESTAMP_USE_RDTSC 0 + +/* Native string is Unicode. */ +#define PJ_NATIVE_STRING_IS_UNICODE 1 + +/* If 1, use Read/Write mutex emulation for platforms that don't support it */ +#define PJ_EMULATE_RWMUTEX 1 + +/* If 1, pj_thread_create() should enforce the stack size when creating + * threads. + * Default: 0 (let OS decide the thread's stack size). + */ +#define PJ_THREAD_SET_STACK_SIZE 0 + +/* If 1, pj_thread_create() should allocate stack from the pool supplied. + * Default: 0 (let OS allocate memory for thread's stack). + */ +#define PJ_THREAD_ALLOCATE_STACK 0 + + +#endif /* __PJ_COMPAT_OS_WIN32_WINCE_H__ */ + diff --git a/pjlib/include/pj/compat/rand.h b/pjlib/include/pj/compat/rand.h new file mode 100644 index 0000000..32467ee --- /dev/null +++ b/pjlib/include/pj/compat/rand.h @@ -0,0 +1,70 @@ +/* $Id: rand.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_RAND_H__ +#define __PJ_COMPAT_RAND_H__ + +/** + * @file rand.h + * @brief Provides platform_rand() and platform_srand() functions. + */ + +#if defined(PJ_HAS_STDLIB_H) && PJ_HAS_STDLIB_H != 0 + /* + * Use stdlib based rand() and srand(). + */ +# include +# define platform_srand srand +# if defined(RAND_MAX) && RAND_MAX <= 0xFFFF + /* + * When rand() is only 16 bit strong, double the strength + * by calling it twice! + */ + PJ_INLINE(int) platform_rand(void) + { + return ((rand() & 0xFFFF) << 16) | (rand() & 0xFFFF); + } +# else +# define platform_rand rand +# endif + +#elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0 + /* + * Linux kernel mode random number generator. + */ +# include +# define platform_srand(seed) + + PJ_INLINE(int) platform_rand(void) + { + int value; + get_random_bytes((void*)&value, sizeof(value)); + return value; + } + +#else +# warning "platform_rand() is not implemented" +# define platform_rand() 1 +# define platform_srand(seed) + +#endif + + +#endif /* __PJ_COMPAT_RAND_H__ */ + diff --git a/pjlib/include/pj/compat/setjmp.h b/pjlib/include/pj/compat/setjmp.h new file mode 100644 index 0000000..0aea218 --- /dev/null +++ b/pjlib/include/pj/compat/setjmp.h @@ -0,0 +1,98 @@ +/* $Id: setjmp.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_SETJMP_H__ +#define __PJ_COMPAT_SETJMP_H__ + +/** + * @file setjmp.h + * @brief Provides setjmp.h functionality. + */ + +#if defined(PJ_HAS_SETJMP_H) && PJ_HAS_SETJMP_H != 0 +# include + typedef jmp_buf pj_jmp_buf; +# ifndef pj_setjmp +# define pj_setjmp(buf) setjmp(buf) +# endif +# ifndef pj_longjmp +# define pj_longjmp(buf,d) longjmp(buf,d) +# endif + +#elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0 && \ + defined(PJ_M_I386) && PJ_M_I386 != 0 + + /* + * These are taken from uClibc. + * Copyright (C) 2000-2003 Erik Andersen + */ +# if defined __USE_MISC || defined _ASM +# define JB_BX 0 +# define JB_SI 1 +# define JB_DI 2 +# define JB_BP 3 +# define JB_SP 4 +# define JB_PC 5 +# define JB_SIZE 24 +# endif + +# ifndef _ASM + typedef int __jmp_buf[6]; + + /* A `sigset_t' has a bit for each signal. */ +# define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int))) + typedef struct __sigset_t_tag + { + unsigned long int __val[_SIGSET_NWORDS]; + } __sigset_t; + + /* Calling environment, plus possibly a saved signal mask. */ + typedef struct __jmp_buf_tag /* C++ doesn't like tagless structs. */ + { + /* NOTE: The machine-dependent definitions of `__sigsetjmp' + assume that a `jmp_buf' begins with a `__jmp_buf' and that + `__mask_was_saved' follows it. Do not move these members + or add others before it. */ + __jmp_buf __jmpbuf; /* Calling environment. */ + int __mask_was_saved; /* Saved the signal mask? */ + // we never saved the mask. + __sigset_t __saved_mask; /* Saved signal mask. */ + } jmp_buf[1]; + + typedef jmp_buf sigjmp_buf; + typedef jmp_buf pj_jmp_buf; + + PJ_DECL(int) pj_setjmp(pj_jmp_buf env); + PJ_DECL(void) pj_longjmp(pj_jmp_buf env, int val) __attribute__((noreturn)); + +# endif /* _ASM */ + +#elif defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0 + /* Symbian framework don't use setjmp/longjmp */ + +#else +# warning "setjmp()/longjmp() is not implemented" + typedef int pj_jmp_buf[1]; +# define pj_setjmp(buf) 0 +# define pj_longjmp(buf,d) 0 +#endif + + +#endif /* __PJ_COMPAT_SETJMP_H__ */ + diff --git a/pjlib/include/pj/compat/size_t.h b/pjlib/include/pj/compat/size_t.h new file mode 100644 index 0000000..25c58a6 --- /dev/null +++ b/pjlib/include/pj/compat/size_t.h @@ -0,0 +1,32 @@ +/* $Id: size_t.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_SIZE_T_H__ +#define __PJ_COMPAT_SIZE_T_H__ + +/** + * @file size_t.h + * @brief Provides size_t type. + */ +#if PJ_HAS_STDDEF_H +# include +#endif + +#endif /* __PJ_COMPAT_SIZE_T_H__ */ + diff --git a/pjlib/include/pj/compat/socket.h b/pjlib/include/pj/compat/socket.h new file mode 100644 index 0000000..913f26b --- /dev/null +++ b/pjlib/include/pj/compat/socket.h @@ -0,0 +1,241 @@ +/* $Id: socket.h 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_SOCKET_H__ +#define __PJ_COMPAT_SOCKET_H__ + +/** + * @file socket.h + * @brief Provides all socket related functions,data types, error codes, etc. + */ + +#if defined(PJ_HAS_WINSOCK2_H) && PJ_HAS_WINSOCK2_H != 0 +# include +#endif + +#if defined(PJ_HAS_WINSOCK_H) && PJ_HAS_WINSOCK_H != 0 +# include +#endif + +#if defined(PJ_HAS_WS2TCPIP_H) && PJ_HAS_WS2TCPIP_H != 0 +# include +#endif + + +/* + * IPv6 for Visual Studio's + * + * = Visual Studio 6 = + * + * Visual Studio 6 does not ship with IPv6 support, so you MUST + * download and install IPv6 Tehnology Preview (IPv6Kit) from: + * http://msdn.microsoft.com/downloads/sdks/platform/tpipv6/ReadMe.asp + * Then put IPv6Kit\inc in your Visual Studio include path. + * + * In addition, by default IPv6Kit does not want to install on + * Windows 2000 SP4. Please see: + * http://msdn.microsoft.com/downloads/sdks/platform/tpipv6/faq.asp + * on how to install IPv6Kit on Win2K SP4. + * + * + * = Visual Studio 2003, 2005 (including Express) = + * + * These VS uses Microsoft Platform SDK for Windows Server 2003 SP1, and + * it has built-in IPv6 support. + */ +#if defined(_MSC_VER) && defined(PJ_HAS_IPV6) && PJ_HAS_IPV6!=0 +# ifndef s_addr +# define s_addr S_un.S_addr +# endif + +# if !defined(IPPROTO_IPV6) + /* Need to download and install IPv6Kit for this platform. + * Please see the comments above about Visual Studio 6. + */ +# include +# endif + +# define PJ_SOCK_HAS_GETADDRINFO 1 +#endif /* _MSC_VER */ + +#if defined(PJ_HAS_SYS_TYPES_H) && PJ_HAS_SYS_TYPES_H != 0 +# include +#endif + +#if defined(PJ_HAS_SYS_SOCKET_H) && PJ_HAS_SYS_SOCKET_H != 0 +# include +#endif + +#if defined(PJ_HAS_LINUX_SOCKET_H) && PJ_HAS_LINUX_SOCKET_H != 0 +# include +#endif + +#if defined(PJ_HAS_SYS_SELECT_H) && PJ_HAS_SYS_SELECT_H != 0 +# include +#endif + +#if defined(PJ_HAS_NETINET_IN_H) && PJ_HAS_NETINET_IN_H != 0 +# include +#endif + +#if defined(PJ_HAS_NETINET_IN_SYSTM_H) && PJ_HAS_NETINET_IN_SYSTM_H != 0 +/* Required to include netinet/ip.h in FreeBSD 7.0 */ +# include +#endif + +#if defined(PJ_HAS_NETINET_IP_H) && PJ_HAS_NETINET_IP_H != 0 +/* To pull in IPTOS_* constants */ +# include +#endif + +#if defined(PJ_HAS_NETINET_TCP_H) && PJ_HAS_NETINET_TCP_H != 0 +/* To pull in TCP_NODELAY constants */ +# include +#endif + +#if defined(PJ_HAS_NET_IF_H) && PJ_HAS_NET_IF_H != 0 +/* For interface enumeration in ip_helper */ +# include +#endif + +#if defined(PJ_HAS_IFADDRS_H) && PJ_HAS_IFADDRS_H != 0 +/* Interface enum with getifaddrs() which works with IPv6 */ +# include +#endif + +#if defined(PJ_HAS_ARPA_INET_H) && PJ_HAS_ARPA_INET_H != 0 +# include +#endif + +#if defined(PJ_HAS_SYS_IOCTL_H) && PJ_HAS_SYS_IOCTL_H != 0 +# include /* FBIONBIO */ +#endif + +#if defined(PJ_HAS_ERRNO_H) && PJ_HAS_ERRNO_H != 0 +# include +#endif + +#if defined(PJ_HAS_NETDB_H) && PJ_HAS_NETDB_H != 0 +# include +#endif + +#if defined(PJ_HAS_UNISTD_H) && PJ_HAS_UNISTD_H != 0 +# include +#endif + +#if defined(PJ_HAS_SYS_FILIO_H) && PJ_HAS_SYS_FILIO_H != 0 +# include +#endif + +#if defined(PJ_HAS_SYS_SOCKIO_H) && PJ_HAS_SYS_SOCKIO_H != 0 +# include +#endif + + +/* + * Define common errors. + */ +#if (defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64!=0) +# define OSERR_EWOULDBLOCK WSAEWOULDBLOCK +# define OSERR_EINPROGRESS WSAEINPROGRESS +# define OSERR_ECONNRESET WSAECONNRESET +# define OSERR_ENOTCONN WSAENOTCONN +#elif defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0 +# define OSERR_EWOULDBLOCK -1 +# define OSERR_EINPROGRESS -1 +# define OSERR_ECONNRESET -1 +# define OSERR_ENOTCONN -1 +#else +# define OSERR_EWOULDBLOCK EWOULDBLOCK +# define OSERR_EINPROGRESS EINPROGRESS +# define OSERR_ECONNRESET ECONNRESET +# define OSERR_ENOTCONN ENOTCONN +#endif + + +/* + * And undefine these.. + */ +#undef s_addr +#undef s6_addr +#undef sin_zero + +/* + * Linux kernel specifics + */ +#if defined(PJ_LINUX_KERNEL) +# include +# include /* FIONBIO */ +# include /* sys_select() */ +# include /* set/get_fs() */ + + typedef int socklen_t; +# define getsockopt sys_getsockopt + + /* + * Wrapper for select() in Linux kernel. + */ + PJ_INLINE(int) select(int n, fd_set *inp, fd_set *outp, fd_set *exp, + struct timeval *tvp) + { + int count; + mm_segment_t oldfs = get_fs(); + set_fs(KERNEL_DS); + count = sys_select(n, inp, outp, exp, tvp); + set_fs(oldfs); + return count; + } +#endif /* PJ_LINUX_KERNEL */ + + +/* + * This will finally be obsoleted, since it should be declared in + * os_auto.h + */ +#if !defined(PJ_HAS_SOCKLEN_T) || PJ_HAS_SOCKLEN_T==0 + typedef int socklen_t; +#endif + +/* Regarding sin_len member of sockaddr_in: + * BSD systems (including MacOS X requires that the sin_len member of + * sockaddr_in be set to sizeof(sockaddr_in), while other systems (Windows + * and Linux included) do not. + * + * To maintain compatibility between systems, PJLIB will automatically + * set this field before invoking native OS socket API, and it will + * always reset the field to zero before returning pj_sockaddr_in to + * application (such as in pj_getsockname() and pj_recvfrom()). + * + * Application MUST always set this field to zero. + * + * This way we can avoid hard to find problem such as when the socket + * address is used as hash table key. + */ +#if defined(PJ_SOCKADDR_HAS_LEN) && PJ_SOCKADDR_HAS_LEN!=0 +# define PJ_SOCKADDR_SET_LEN(addr,len) (((pj_addr_hdr*)(addr))->sa_zero_len=(len)) +# define PJ_SOCKADDR_RESET_LEN(addr) (((pj_addr_hdr*)(addr))->sa_zero_len=0) +#else +# define PJ_SOCKADDR_SET_LEN(addr,len) +# define PJ_SOCKADDR_RESET_LEN(addr) +#endif + +#endif /* __PJ_COMPAT_SOCKET_H__ */ + diff --git a/pjlib/include/pj/compat/stdarg.h b/pjlib/include/pj/compat/stdarg.h new file mode 100644 index 0000000..8e1d9ab --- /dev/null +++ b/pjlib/include/pj/compat/stdarg.h @@ -0,0 +1,32 @@ +/* $Id: stdarg.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_STDARG_H__ +#define __PJ_COMPAT_STDARG_H__ + +/** + * @file stdarg.h + * @brief Provides stdarg functionality. + */ + +#if defined(PJ_HAS_STDARG_H) && PJ_HAS_STDARG_H != 0 +# include +#endif + +#endif /* __PJ_COMPAT_STDARG_H__ */ diff --git a/pjlib/include/pj/compat/stdfileio.h b/pjlib/include/pj/compat/stdfileio.h new file mode 100644 index 0000000..aba17aa --- /dev/null +++ b/pjlib/include/pj/compat/stdfileio.h @@ -0,0 +1,32 @@ +/* $Id: stdfileio.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_STDFILEIO_H__ +#define __PJ_COMPAT_STDFILEIO_H__ + +/** + * @file stdfileio.h + * @brief Compatibility for ANSI file I/O like fputs, fflush, etc. + */ + +#if defined(PJ_HAS_STDIO_H) && PJ_HAS_STDIO_H != 0 +# include +#endif + +#endif /* __PJ_COMPAT_STDFILEIO_H__ */ diff --git a/pjlib/include/pj/compat/string.h b/pjlib/include/pj/compat/string.h new file mode 100644 index 0000000..a2a78b3 --- /dev/null +++ b/pjlib/include/pj/compat/string.h @@ -0,0 +1,144 @@ +/* $Id: string.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_STRING_H__ +#define __PJ_COMPAT_STRING_H__ + +/** + * @file string.h + * @brief Provides string manipulation functions found in ANSI string.h. + */ + + +#if defined(PJ_HAS_STRING_H) && PJ_HAS_STRING_H != 0 +# include +#else + + PJ_DECL(int) strcasecmp(const char *s1, const char *s2); + PJ_DECL(int) strncasecmp(const char *s1, const char *s2, int len); + +#endif + +/* For sprintf family */ +#include + +/* On WinCE, string stuffs are declared in stdlib.h */ +#if defined(PJ_HAS_STDLIB_H) && PJ_HAS_STDLIB_H!=0 +# include +#endif + +#if defined(_MSC_VER) +# define strcasecmp _stricmp +# define strncasecmp _strnicmp +# define snprintf _snprintf +# define vsnprintf _vsnprintf +# define snwprintf _snwprintf +# define wcsicmp _wcsicmp +# define wcsnicmp _wcsnicmp +#else +# define stricmp strcasecmp +# define strnicmp strncasecmp + +# if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 +# error "Implement Unicode string functions" +# endif +#endif + +#define pj_ansi_strcmp strcmp +#define pj_ansi_strncmp strncmp +#define pj_ansi_strlen strlen +#define pj_ansi_strcpy strcpy +#define pj_ansi_strncpy strncpy +#define pj_ansi_strcat strcat +#define pj_ansi_strstr strstr +#define pj_ansi_strchr strchr +#define pj_ansi_strcasecmp strcasecmp +#define pj_ansi_stricmp strcasecmp +#define pj_ansi_strncasecmp strncasecmp +#define pj_ansi_strnicmp strncasecmp +#define pj_ansi_sprintf sprintf + +#if defined(PJ_HAS_NO_SNPRINTF) && PJ_HAS_NO_SNPRINTF != 0 +# include +# include + PJ_BEGIN_DECL + PJ_DECL(int) snprintf(char*s1, pj_size_t len, const char*s2, ...); + PJ_DECL(int) vsnprintf(char*s1, pj_size_t len, const char*s2, va_list arg); + PJ_END_DECL +#endif + +#define pj_ansi_snprintf snprintf +#define pj_ansi_vsprintf vsprintf +#define pj_ansi_vsnprintf vsnprintf + +#define pj_unicode_strcmp wcscmp +#define pj_unicode_strncmp wcsncmp +#define pj_unicode_strlen wcslen +#define pj_unicode_strcpy wcscpy +#define pj_unicode_strncpy wcsncpy +#define pj_unicode_strcat wcscat +#define pj_unicode_strstr wcsstr +#define pj_unicode_strchr wcschr +#define pj_unicode_strcasecmp wcsicmp +#define pj_unicode_stricmp wcsicmp +#define pj_unicode_strncasecmp wcsnicmp +#define pj_unicode_strnicmp wcsnicmp +#define pj_unicode_sprintf swprintf +#define pj_unicode_snprintf snwprintf +#define pj_unicode_vsprintf vswprintf +#define pj_unicode_vsnprintf vsnwprintf + +#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 +# define pj_native_strcmp pj_unicode_strcmp +# define pj_native_strncmp pj_unicode_strncmp +# define pj_native_strlen pj_unicode_strlen +# define pj_native_strcpy pj_unicode_strcpy +# define pj_native_strncpy pj_unicode_strncpy +# define pj_native_strcat pj_unicode_strcat +# define pj_native_strstr pj_unicode_strstr +# define pj_native_strchr pj_unicode_strchr +# define pj_native_strcasecmp pj_unicode_strcasecmp +# define pj_native_stricmp pj_unicode_stricmp +# define pj_native_strncasecmp pj_unicode_strncasecmp +# define pj_native_strnicmp pj_unicode_strnicmp +# define pj_native_sprintf pj_unicode_sprintf +# define pj_native_snprintf pj_unicode_snprintf +# define pj_native_vsprintf pj_unicode_vsprintf +# define pj_native_vsnprintf pj_unicode_vsnprintf +#else +# define pj_native_strcmp pj_ansi_strcmp +# define pj_native_strncmp pj_ansi_strncmp +# define pj_native_strlen pj_ansi_strlen +# define pj_native_strcpy pj_ansi_strcpy +# define pj_native_strncpy pj_ansi_strncpy +# define pj_native_strcat pj_ansi_strcat +# define pj_native_strstr pj_ansi_strstr +# define pj_native_strchr pj_ansi_strchr +# define pj_native_strcasecmp pj_ansi_strcasecmp +# define pj_native_stricmp pj_ansi_stricmp +# define pj_native_strncasecmp pj_ansi_strncasecmp +# define pj_native_strnicmp pj_ansi_strnicmp +# define pj_native_sprintf pj_ansi_sprintf +# define pj_native_snprintf pj_ansi_snprintf +# define pj_native_vsprintf pj_ansi_vsprintf +# define pj_native_vsnprintf pj_ansi_vsnprintf +#endif + + +#endif /* __PJ_COMPAT_STRING_H__ */ diff --git a/pjlib/include/pj/compat/time.h b/pjlib/include/pj/compat/time.h new file mode 100644 index 0000000..97d259a --- /dev/null +++ b/pjlib/include/pj/compat/time.h @@ -0,0 +1,42 @@ +/* $Id: time.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_COMPAT_TIME_H__ +#define __PJ_COMPAT_TIME_H__ + +/** + * @file time.h + * @brief Provides ftime() and localtime() etc functions. + */ + +#if defined(PJ_HAS_TIME_H) && PJ_HAS_TIME_H != 0 +# include +#endif + +#if defined(PJ_HAS_SYS_TIME_H) && PJ_HAS_SYS_TIME_H != 0 +# include +#endif + +#if defined(PJ_HAS_SYS_TIMEB_H) && PJ_HAS_SYS_TIMEB_H != 0 +# include +#endif + + +#endif /* __PJ_COMPAT_TIME_H__ */ + diff --git a/pjlib/include/pj/config.h b/pjlib/include/pj/config.h new file mode 100644 index 0000000..1f4408e --- /dev/null +++ b/pjlib/include/pj/config.h @@ -0,0 +1,1261 @@ +/* $Id: config.h 5160 2015-08-12 02:39:26Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_CONFIG_H__ +#define __PJ_CONFIG_H__ + + +/** + * @file config.h + * @brief PJLIB Main configuration settings. + */ + +/******************************************************************** + * Include compiler specific configuration. + */ +#if defined(_MSC_VER) +# include +#elif defined(__GNUC__) +# include +#elif defined(__CW32__) +# include +#elif defined(__MWERKS__) +# include +#elif defined(__GCCE__) +# include +#elif defined(__ARMCC__) +# include +#else +# error "Unknown compiler." +#endif + +/* PJ_ALIGN_DATA is compiler specific directive to align data address */ +#ifndef PJ_ALIGN_DATA +# error "PJ_ALIGN_DATA is not defined!" +#endif + +/******************************************************************** + * Include target OS specific configuration. + */ +#if defined(PJ_AUTOCONF) + /* + * Autoconf + */ +# include + +#elif defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0 + /* + * SymbianOS + */ +# include + +#elif defined(PJ_WIN32_WINCE) || defined(_WIN32_WCE) || defined(UNDER_CE) + /* + * Windows CE + */ +# undef PJ_WIN32_WINCE +# define PJ_WIN32_WINCE 1 +# include + + /* Also define Win32 */ +# define PJ_WIN32 1 + +#elif defined(PJ_WIN32) || defined(_WIN32) || defined(__WIN32__) || \ + defined(WIN32) || defined(PJ_WIN64) || defined(_WIN64) || \ + defined(WIN64) || defined(__TOS_WIN__) +# if defined(PJ_WIN64) || defined(_WIN64) || defined(WIN64) + /* + * Win64 + */ +# undef PJ_WIN64 +# define PJ_WIN64 1 +# endif +# undef PJ_WIN32 +# define PJ_WIN32 1 +# include + +#elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL!=0 + /* + * Linux kernel + */ +# include + +#elif defined(PJ_LINUX) || defined(linux) || defined(__linux) + /* + * Linux + */ +# undef PJ_LINUX +# define PJ_LINUX 1 +# include + +#elif defined(PJ_PALMOS) && PJ_PALMOS!=0 + /* + * Palm + */ +# include + +#elif defined(PJ_SUNOS) || defined(sun) || defined(__sun) + /* + * SunOS + */ +# undef PJ_SUNOS +# define PJ_SUNOS 1 +# include + +#elif defined(PJ_DARWINOS) || defined(__MACOSX__) || \ + defined (__APPLE__) || defined (__MACH__) + /* + * MacOS X + */ +# undef PJ_DARWINOS +# define PJ_DARWINOS 1 +# include + +#elif defined(PJ_RTEMS) && PJ_RTEMS!=0 + /* + * RTEMS + */ +# include +#else +# error "Please specify target os." +#endif + + +/******************************************************************** + * Target machine specific configuration. + */ +#if defined(PJ_AUTOCONF) + /* + * Autoconf configured + */ +#include + +#elif defined (PJ_M_I386) || defined(_i386_) || defined(i_386_) || \ + defined(_X86_) || defined(x86) || defined(__i386__) || \ + defined(__i386) || defined(_M_IX86) || defined(__I86__) + /* + * Generic i386 processor family, little-endian + */ +# undef PJ_M_I386 +# define PJ_M_I386 1 +# define PJ_M_NAME "i386" +# define PJ_HAS_PENTIUM 1 +# define PJ_IS_LITTLE_ENDIAN 1 +# define PJ_IS_BIG_ENDIAN 0 + + +#elif defined (PJ_M_X86_64) || defined(__amd64__) || defined(__amd64) || \ + defined(__x86_64__) || defined(__x86_64) || \ + defined(_M_X64) || defined(_M_AMD64) + /* + * AMD 64bit processor, little endian + */ +# undef PJ_M_X86_64 +# define PJ_M_X86_64 1 +# define PJ_M_NAME "x86_64" +# define PJ_HAS_PENTIUM 1 +# define PJ_IS_LITTLE_ENDIAN 1 +# define PJ_IS_BIG_ENDIAN 0 + +#elif defined(PJ_M_IA64) || defined(__ia64__) || defined(_IA64) || \ + defined(__IA64__) || defined( _M_IA64) + /* + * Intel IA64 processor, default to little endian + */ +# undef PJ_M_IA64 +# define PJ_M_IA64 1 +# define PJ_M_NAME "ia64" +# define PJ_HAS_PENTIUM 1 +# define PJ_IS_LITTLE_ENDIAN 1 +# define PJ_IS_BIG_ENDIAN 0 + +#elif defined (PJ_M_M68K) && PJ_M_M68K != 0 + + /* + * Motorola m68k processor, big endian + */ +# undef PJ_M_M68K +# define PJ_M_M68K 1 +# define PJ_M_NAME "m68k" +# define PJ_HAS_PENTIUM 0 +# define PJ_IS_LITTLE_ENDIAN 0 +# define PJ_IS_BIG_ENDIAN 1 + + +#elif defined (PJ_M_ALPHA) || defined (__alpha__) || defined (__alpha) || \ + defined (_M_ALPHA) + /* + * DEC Alpha processor, little endian + */ +# undef PJ_M_ALPHA +# define PJ_M_ALPHA 1 +# define PJ_M_NAME "alpha" +# define PJ_HAS_PENTIUM 0 +# define PJ_IS_LITTLE_ENDIAN 1 +# define PJ_IS_BIG_ENDIAN 0 + + +#elif defined(PJ_M_MIPS) || defined(__mips__) || defined(__mips) || \ + defined(__MIPS__) || defined(MIPS) || defined(_MIPS_) + /* + * MIPS, bi-endian, so raise error if endianness is not configured + */ +# undef PJ_M_MIPS +# define PJ_M_MIPS 1 +# define PJ_M_NAME "mips" +# define PJ_HAS_PENTIUM 0 +# if !PJ_IS_LITTLE_ENDIAN && !PJ_IS_BIG_ENDIAN +# error Endianness must be declared for this processor +# endif + + +#elif defined (PJ_M_SPARC) || defined( __sparc__) || defined(__sparc) + /* + * Sun Sparc, big endian + */ +# undef PJ_M_SPARC +# define PJ_M_SPARC 1 +# define PJ_M_NAME "sparc" +# define PJ_HAS_PENTIUM 0 +# define PJ_IS_LITTLE_ENDIAN 0 +# define PJ_IS_BIG_ENDIAN 1 + +#elif defined (PJ_M_ARMV4) || defined(ARM) || defined(_ARM_) || \ + defined(ARMV4) || defined(__arm__) + /* + * ARM, bi-endian, so raise error if endianness is not configured + */ +# undef PJ_M_ARMV4 +# define PJ_M_ARMV4 1 +# define PJ_M_NAME "armv4" +# define PJ_HAS_PENTIUM 0 +# if !PJ_IS_LITTLE_ENDIAN && !PJ_IS_BIG_ENDIAN +# error Endianness must be declared for this processor +# endif + +#elif defined (PJ_M_POWERPC) || defined(__powerpc) || defined(__powerpc__) || \ + defined(__POWERPC__) || defined(__ppc__) || defined(_M_PPC) || \ + defined(_ARCH_PPC) + /* + * PowerPC, bi-endian, so raise error if endianness is not configured + */ +# undef PJ_M_POWERPC +# define PJ_M_POWERPC 1 +# define PJ_M_NAME "powerpc" +# define PJ_HAS_PENTIUM 0 +# if !PJ_IS_LITTLE_ENDIAN && !PJ_IS_BIG_ENDIAN +# error Endianness must be declared for this processor +# endif + +#elif defined (PJ_M_NIOS2) || defined(__nios2) || defined(__nios2__) || \ + defined(__NIOS2__) || defined(__M_NIOS2) || defined(_ARCH_NIOS2) + /* + * Nios2, little endian + */ +# undef PJ_M_NIOS2 +# define PJ_M_NIOS2 1 +# define PJ_M_NAME "nios2" +# define PJ_HAS_PENTIUM 0 +# define PJ_IS_LITTLE_ENDIAN 1 +# define PJ_IS_BIG_ENDIAN 0 + +#else +# error "Please specify target machine." +#endif + +/* Include size_t definition. */ +#include + +/* Include site/user specific configuration to control PJLIB features. + * YOU MUST CREATE THIS FILE YOURSELF!! + */ +#include + +/******************************************************************** + * PJLIB Features. + */ + +/* Overrides for DOXYGEN */ +#ifdef DOXYGEN +# undef PJ_FUNCTIONS_ARE_INLINED +# undef PJ_HAS_FLOATING_POINT +# undef PJ_LOG_MAX_LEVEL +# undef PJ_LOG_MAX_SIZE +# undef PJ_LOG_USE_STACK_BUFFER +# undef PJ_TERM_HAS_COLOR +# undef PJ_POOL_DEBUG +# undef PJ_HAS_TCP +# undef PJ_MAX_HOSTNAME +# undef PJ_IOQUEUE_MAX_HANDLES +# undef FD_SETSIZE +# undef PJ_HAS_SEMAPHORE +# undef PJ_HAS_EVENT_OBJ +# undef PJ_ENABLE_EXTRA_CHECK +# undef PJ_EXCEPTION_USE_WIN32_SEH +# undef PJ_HAS_ERROR_STRING + +# define PJ_HAS_IPV6 1 +#endif + +/** + * @defgroup pj_config Build Configuration + * @{ + * + * This section contains macros that can set during PJLIB build process + * to controll various aspects of the library. + * + * Note: the values in this page does NOT necessarily reflect to the + * macro values during the build process. + */ + +/** + * If this macro is set to 1, it will enable some debugging checking + * in the library. + * + * Default: equal to (NOT NDEBUG). + */ +#ifndef PJ_DEBUG +# ifndef NDEBUG +# define PJ_DEBUG 1 +# else +# define PJ_DEBUG 0 +# endif +#endif + +/** + * Enable this macro to activate logging to mutex/semaphore related events. + * This is useful to troubleshoot concurrency problems such as deadlocks. + * In addition, you should also add PJ_LOG_HAS_THREAD_ID flag to the + * log decoration to assist the troubleshooting. + * + * Default: 0 + */ +#ifndef PJ_DEBUG_MUTEX +# define PJ_DEBUG_MUTEX 0 +#endif + +/** + * Expand functions in *_i.h header files as inline. + * + * Default: 0. + */ +#ifndef PJ_FUNCTIONS_ARE_INLINED +# define PJ_FUNCTIONS_ARE_INLINED 0 +#endif + +/** + * Use floating point computations in the library. + * + * Default: 1. + */ +#ifndef PJ_HAS_FLOATING_POINT +# define PJ_HAS_FLOATING_POINT 1 +#endif + +/** + * Declare maximum logging level/verbosity. Lower number indicates higher + * importance, with the highest importance has level zero. The least + * important level is five in this implementation, but this can be extended + * by supplying the appropriate implementation. + * + * The level conventions: + * - 0: fatal error + * - 1: error + * - 2: warning + * - 3: info + * - 4: debug + * - 5: trace + * - 6: more detailed trace + * + * Default: 4 + */ +#ifndef PJ_LOG_MAX_LEVEL +# define PJ_LOG_MAX_LEVEL 5 +#endif + +/** + * Maximum message size that can be sent to output device for each call + * to PJ_LOG(). If the message size is longer than this value, it will be cut. + * This may affect the stack usage, depending whether PJ_LOG_USE_STACK_BUFFER + * flag is set. + * + * Default: 4000 + */ +#ifndef PJ_LOG_MAX_SIZE +# define PJ_LOG_MAX_SIZE 4000 +#endif + +/** + * Log buffer. + * Does the log get the buffer from the stack? (default is yes). + * If the value is set to NO, then the buffer will be taken from static + * buffer, which in this case will make the log function non-reentrant. + * + * Default: 1 + */ +#ifndef PJ_LOG_USE_STACK_BUFFER +# define PJ_LOG_USE_STACK_BUFFER 1 +#endif + +/** + * Enable log indentation feature. + * + * Default: 1 + */ +#ifndef PJ_LOG_ENABLE_INDENT +# define PJ_LOG_ENABLE_INDENT 1 +#endif + +/** + * Number of PJ_LOG_INDENT_CHAR to put every time pj_log_push_indent() + * is called. + * + * Default: 1 + */ +#ifndef PJ_LOG_INDENT_SIZE +# define PJ_LOG_INDENT_SIZE 1 +#endif + +/** + * Log indentation character. + * + * Default: space + */ +#ifndef PJ_LOG_INDENT_CHAR +# define PJ_LOG_INDENT_CHAR '.' +#endif + +/** + * Colorfull terminal (for logging etc). + * + * Default: 1 + */ +#ifndef PJ_TERM_HAS_COLOR +# define PJ_TERM_HAS_COLOR 1 +#endif + + +/** + * Set this flag to non-zero to enable various checking for pool + * operations. When this flag is set, assertion must be enabled + * in the application. + * + * This will slow down pool creation and destruction and will add + * few bytes of overhead, so application would normally want to + * disable this feature on release build. + * + * Default: 0 + */ +#ifndef PJ_SAFE_POOL +# define PJ_SAFE_POOL 0 +#endif + + +/** + * If pool debugging is used, then each memory allocation from the pool + * will call malloc(), and pool will release all memory chunks when it + * is destroyed. This works better when memory verification programs + * such as Rational Purify is used. + * + * Default: 0 + */ +#ifndef PJ_POOL_DEBUG +# define PJ_POOL_DEBUG 0 +#endif + + +/** + * Enable timer heap debugging facility. When this is enabled, application + * can call pj_timer_heap_dump() to show the contents of the timer heap + * along with the source location where the timer entries were scheduled. + * See https://trac.pjsip.org/repos/ticket/1527 for more info. + * + * Default: 0 + */ +#ifndef PJ_TIMER_DEBUG +# define PJ_TIMER_DEBUG 0 +#endif + + +/** + * Set this to 1 to enable debugging on the group lock. Default: 0 + */ +#ifndef PJ_GRP_LOCK_DEBUG +# define PJ_GRP_LOCK_DEBUG 0 +#endif + + +/** + * Specify this as \a stack_size argument in #pj_thread_create() to specify + * that thread should use default stack size for the current platform. + * + * Default: 8192 + */ +#ifndef PJ_THREAD_DEFAULT_STACK_SIZE +# define PJ_THREAD_DEFAULT_STACK_SIZE 8192 +#endif + + +/** + * Specify if PJ_CHECK_STACK() macro is enabled to check the sanity of + * the stack. The OS implementation may check that no stack overflow + * occurs, and it also may collect statistic about stack usage. Note + * that this will increase the footprint of the libraries since it + * tracks the filename and line number of each functions. + */ +#ifndef PJ_OS_HAS_CHECK_STACK +# define PJ_OS_HAS_CHECK_STACK 0 +#endif + +/** + * Do we have alternate pool implementation? + * + * Default: 0 + */ +#ifndef PJ_HAS_POOL_ALT_API +# define PJ_HAS_POOL_ALT_API PJ_POOL_DEBUG +#endif + + +/** + * Support TCP in the library. + * Disabling TCP will reduce the footprint slightly (about 6KB). + * + * Default: 1 + */ +#ifndef PJ_HAS_TCP +# define PJ_HAS_TCP 1 +#endif + +/** + * Support IPv6 in the library. If this support is disabled, some IPv6 + * related functions will return PJ_EIPV6NOTSUP. + * + * Default: 0 (disabled, for now) + */ +#ifndef PJ_HAS_IPV6 +# define PJ_HAS_IPV6 0 +#endif + + /** + * Maximum hostname length. + * Libraries sometimes needs to make copy of an address to stack buffer; + * the value here affects the stack usage. + * + * Default: 128 + */ +#ifndef PJ_MAX_HOSTNAME +# define PJ_MAX_HOSTNAME (128) +#endif + +/** + * Maximum consecutive identical error for accept() operation before + * activesock stops calling the next ioqueue accept. + * + * Default: 50 + */ +#ifndef PJ_ACTIVESOCK_MAX_CONSECUTIVE_ACCEPT_ERROR +# define PJ_ACTIVESOCK_MAX_CONSECUTIVE_ACCEPT_ERROR 50 +#endif + +/** + * Constants for declaring the maximum handles that can be supported by + * a single IOQ framework. This constant might not be relevant to the + * underlying I/O queue impelementation, but still, developers should be + * aware of this constant, to make sure that the program will not break when + * the underlying implementation changes. + */ +#ifndef PJ_IOQUEUE_MAX_HANDLES +# define PJ_IOQUEUE_MAX_HANDLES (64) +#endif + + +/** + * If PJ_IOQUEUE_HAS_SAFE_UNREG macro is defined, then ioqueue will do more + * things to ensure thread safety of handle unregistration operation by + * employing reference counter to each handle. + * + * In addition, the ioqueue will preallocate memory for the handles, + * according to the maximum number of handles that is specified during + * ioqueue creation. + * + * All applications would normally want this enabled, but you may disable + * this if: + * - there is no dynamic unregistration to all ioqueues. + * - there is no threading, or there is no preemptive multitasking. + * + * Default: 1 + */ +#ifndef PJ_IOQUEUE_HAS_SAFE_UNREG +# define PJ_IOQUEUE_HAS_SAFE_UNREG 1 +#endif + + +/** + * Default concurrency setting for sockets/handles registered to ioqueue. + * This controls whether the ioqueue is allowed to call the key's callback + * concurrently/in parallel. The default is yes, which means that if there + * are more than one pending operations complete simultaneously, more + * than one threads may call the key's callback at the same time. This + * generally would promote good scalability for application, at the + * expense of more complexity to manage the concurrent accesses. + * + * Please see the ioqueue documentation for more info. + */ +#ifndef PJ_IOQUEUE_DEFAULT_ALLOW_CONCURRENCY +# define PJ_IOQUEUE_DEFAULT_ALLOW_CONCURRENCY 1 +#endif + + +/* Sanity check: + * if ioqueue concurrency is disallowed, PJ_IOQUEUE_HAS_SAFE_UNREG + * must be enabled. + */ +#if (PJ_IOQUEUE_DEFAULT_ALLOW_CONCURRENCY==0) && (PJ_IOQUEUE_HAS_SAFE_UNREG==0) +# error PJ_IOQUEUE_HAS_SAFE_UNREG must be enabled if ioqueue concurrency \ + is disabled +#endif + + +/** + * When safe unregistration (PJ_IOQUEUE_HAS_SAFE_UNREG) is configured in + * ioqueue, the PJ_IOQUEUE_KEY_FREE_DELAY macro specifies how long the + * ioqueue key is kept in closing state before it can be reused. + * + * The value is in miliseconds. + * + * Default: 500 msec. + */ +#ifndef PJ_IOQUEUE_KEY_FREE_DELAY +# define PJ_IOQUEUE_KEY_FREE_DELAY 500 +#endif + + +/** + * Determine if FD_SETSIZE is changeable/set-able. If so, then we will + * set it to PJ_IOQUEUE_MAX_HANDLES. Currently we detect this by checking + * for Winsock. + */ +#ifndef PJ_FD_SETSIZE_SETABLE +# if (defined(PJ_HAS_WINSOCK_H) && PJ_HAS_WINSOCK_H!=0) || \ + (defined(PJ_HAS_WINSOCK2_H) && PJ_HAS_WINSOCK2_H!=0) +# define PJ_FD_SETSIZE_SETABLE 1 +# else +# define PJ_FD_SETSIZE_SETABLE 0 +# endif +#endif + +/** + * Overrides FD_SETSIZE so it is consistent throughout the library. + * We only do this if we detected that FD_SETSIZE is changeable. If + * FD_SETSIZE is not set-able, then PJ_IOQUEUE_MAX_HANDLES must be + * set to value lower than FD_SETSIZE. + */ +#if PJ_FD_SETSIZE_SETABLE + /* Only override FD_SETSIZE if the value has not been set */ +# ifndef FD_SETSIZE +# define FD_SETSIZE PJ_IOQUEUE_MAX_HANDLES +# endif +#else + /* When FD_SETSIZE is not changeable, check if PJ_IOQUEUE_MAX_HANDLES + * is lower than FD_SETSIZE value. + * + * Update: Not all ioqueue backends require this (such as epoll), so + * this check will be done on the ioqueue implementation itself, such as + * ioqueue select. + */ +/* +# ifdef FD_SETSIZE +# if PJ_IOQUEUE_MAX_HANDLES > FD_SETSIZE +# error "PJ_IOQUEUE_MAX_HANDLES is greater than FD_SETSIZE" +# endif +# endif +*/ +#endif + + +/** + * Specify whether #pj_enum_ip_interface() function should exclude + * loopback interfaces. + * + * Default: 1 + */ +#ifndef PJ_IP_HELPER_IGNORE_LOOPBACK_IF +# define PJ_IP_HELPER_IGNORE_LOOPBACK_IF 1 +#endif + + +/** + * Has semaphore functionality? + * + * Default: 1 + */ +#ifndef PJ_HAS_SEMAPHORE +# define PJ_HAS_SEMAPHORE 1 +#endif + + +/** + * Event object (for synchronization, e.g. in Win32) + * + * Default: 1 + */ +#ifndef PJ_HAS_EVENT_OBJ +# define PJ_HAS_EVENT_OBJ 1 +#endif + + +/** + * Maximum file name length. + */ +#ifndef PJ_MAXPATH +# define PJ_MAXPATH 260 +#endif + + +/** + * Enable library's extra check. + * If this macro is enabled, #PJ_ASSERT_RETURN macro will expand to + * run-time checking. If this macro is disabled, #PJ_ASSERT_RETURN + * will simply evaluate to #pj_assert(). + * + * You can disable this macro to reduce size, at the risk of crashes + * if invalid value (e.g. NULL) is passed to the library. + * + * Default: 1 + */ +#ifndef PJ_ENABLE_EXTRA_CHECK +# define PJ_ENABLE_EXTRA_CHECK 1 +#endif + + +/** + * Enable name registration for exceptions with #pj_exception_id_alloc(). + * If this feature is enabled, then the library will keep track of + * names associated with each exception ID requested by application via + * #pj_exception_id_alloc(). + * + * Disabling this macro will reduce the code and .bss size by a tad bit. + * See also #PJ_MAX_EXCEPTION_ID. + * + * Default: 1 + */ +#ifndef PJ_HAS_EXCEPTION_NAMES +# define PJ_HAS_EXCEPTION_NAMES 1 +#endif + +/** + * Maximum number of unique exception IDs that can be requested + * with #pj_exception_id_alloc(). For each entry, a small record will + * be allocated in the .bss segment. + * + * Default: 16 + */ +#ifndef PJ_MAX_EXCEPTION_ID +# define PJ_MAX_EXCEPTION_ID 16 +#endif + +/** + * Should we use Windows Structured Exception Handling (SEH) for the + * PJLIB exceptions. + * + * Default: 0 + */ +#ifndef PJ_EXCEPTION_USE_WIN32_SEH +# define PJ_EXCEPTION_USE_WIN32_SEH 0 +#endif + +/** + * Should we attempt to use Pentium's rdtsc for high resolution + * timestamp. + * + * Default: 0 + */ +#ifndef PJ_TIMESTAMP_USE_RDTSC +# define PJ_TIMESTAMP_USE_RDTSC 0 +#endif + +/** + * Is native platform error positive number? + * Default: 1 (yes) + */ +#ifndef PJ_NATIVE_ERR_POSITIVE +# define PJ_NATIVE_ERR_POSITIVE 1 +#endif + +/** + * Include error message string in the library (pj_strerror()). + * This is very much desirable! + * + * Default: 1 + */ +#ifndef PJ_HAS_ERROR_STRING +# define PJ_HAS_ERROR_STRING 1 +#endif + + +/** + * Include pj_stricmp_alnum() and pj_strnicmp_alnum(), i.e. custom + * functions to compare alnum strings. On some systems, they're faster + * then stricmp/strcasecmp, but they can be slower on other systems. + * When disabled, pjlib will fallback to stricmp/strnicmp. + * + * Default: 0 + */ +#ifndef PJ_HAS_STRICMP_ALNUM +# define PJ_HAS_STRICMP_ALNUM 0 +#endif + + +/* + * Types of QoS backend implementation. + */ + +/** + * Dummy QoS backend implementation, will always return error on all + * the APIs. + */ +#define PJ_QOS_DUMMY 1 + +/** QoS backend based on setsockopt(IP_TOS) */ +#define PJ_QOS_BSD 2 + +/** QoS backend for Windows Mobile 6 */ +#define PJ_QOS_WM 3 + +/** QoS backend for Symbian */ +#define PJ_QOS_SYMBIAN 4 + +/** + * Force the use of some QoS backend API for some platforms. + */ +#ifndef PJ_QOS_IMPLEMENTATION +# if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE && _WIN32_WCE >= 0x502 + /* Windows Mobile 6 or later */ +# define PJ_QOS_IMPLEMENTATION PJ_QOS_WM +# endif +#endif + + +/** + * Enable secure socket. For most platforms, this is implemented using + * OpenSSL, so this will require OpenSSL to be installed. For Symbian + * platform, this is implemented natively using CSecureSocket. + * + * Default: 0 (for now) + */ +#ifndef PJ_HAS_SSL_SOCK +# define PJ_HAS_SSL_SOCK 0 +#endif + + +/** + * Define the maximum number of ciphers supported by the secure socket. + * + * Default: 256 + */ +#ifndef PJ_SSL_SOCK_MAX_CIPHERS +# define PJ_SSL_SOCK_MAX_CIPHERS 256 +#endif + + +/** + * Specify what should be set as the available list of SSL_CIPHERs. For + * example, set this as "DEFAULT" to use the default cipher list (Note: + * PJSIP release 2.4 and before used this "DEFAULT" setting). + * + * Default: "HIGH:-COMPLEMENTOFDEFAULT" + */ +#ifndef PJ_SSL_SOCK_OSSL_CIPHERS +# define PJ_SSL_SOCK_OSSL_CIPHERS "HIGH:-COMPLEMENTOFDEFAULT" +#endif + + +/** + * Disable WSAECONNRESET error for UDP sockets on Win32 platforms. See + * https://trac.pjsip.org/repos/ticket/1197. + * + * Default: 1 + */ +#ifndef PJ_SOCK_DISABLE_WSAECONNRESET +# define PJ_SOCK_DISABLE_WSAECONNRESET 1 +#endif + + +/** @} */ + +/******************************************************************** + * General macros. + */ + +/** + * @defgroup pj_dll_target Building Dynamic Link Libraries (DLL/DSO) + * @ingroup pj_config + * @{ + * + * The libraries support generation of dynamic link libraries for + * Symbian ABIv2 target (.dso/Dynamic Shared Object files, in Symbian + * terms). Similar procedures may be applied for Win32 DLL with some + * modification. + * + * Depending on the platforms, these steps may be necessary in order to + * produce the dynamic libraries: + * - Create the (Visual Studio) projects to produce DLL output. PJLIB + * does not provide ready to use project files to produce DLL, so + * you need to create these projects yourself. For Symbian, the MMP + * files have been setup to produce DSO files for targets that + * require them. + * - In the (Visual Studio) projects, some macros need to be declared + * so that appropriate modifiers are added to symbol declarations + * and definitions. Please see the macro section below for information + * regarding these macros. For Symbian, these have been taken care by the + * MMP files. + * - Some build systems require .DEF file to be specified when creating + * the DLL. For Symbian, .DEF files are included in pjlib distribution, + * in pjlib/build.symbian directory. These DEF files are + * created by running ./makedef.sh all from this directory, + * inside Mingw. + * + * Macros related for building DLL/DSO files: + * - For platforms that supports dynamic link libraries generation, + * it must declare PJ_EXPORT_SPECIFIER macro which value contains + * the prefix to be added to symbol definition, to export this + * symbol in the DLL/DSO. For example, on Win32/Visual Studio, the + * value of this macro is \a __declspec(dllexport), and for ARM + * ABIv2/Symbian, the value is \a EXPORT_C. + * - For platforms that supports linking with dynamic link libraries, + * it must declare PJ_IMPORT_SPECIFIER macro which value contains + * the prefix to be added to symbol declaration, to import this + * symbol from a DLL/DSO. For example, on Win32/Visual Studio, the + * value of this macro is \a __declspec(dllimport), and for ARM + * ABIv2/Symbian, the value is \a IMPORT_C. + * - Both PJ_EXPORT_SPECIFIER and PJ_IMPORT_SPECIFIER + * macros above can be declared in your \a config_site.h if they are not + * declared by pjlib. + * - When PJLIB is built as DLL/DSO, both PJ_DLL and + * PJ_EXPORTING macros must be declared, so that + * PJ_EXPORT_SPECIFIER modifier will be added into function + * definition. + * - When application wants to link dynamically with PJLIB, then it + * must declare PJ_DLL macro when using/including PJLIB header, + * so that PJ_IMPORT_SPECIFIER modifier is properly added into + * symbol declarations. + * + * When PJ_DLL macro is not declared, static linking is assumed. + * + * For example, here are some settings to produce DLLs with Visual Studio + * on Windows/Win32: + * - Create Visual Studio projects to produce DLL. Add the appropriate + * project dependencies to avoid link errors. + * - In the projects, declare PJ_DLL and PJ_EXPORTING + * macros. + * - Declare these macros in your config_site.h: + \verbatim + #define PJ_EXPORT_SPECIFIER __declspec(dllexport) + #define PJ_IMPORT_SPECIFIER __declspec(dllimport) + \endverbatim + * - And in the application (that links with the DLL) project, add + * PJ_DLL in the macro declarations. + */ + +/** @} */ + +/** + * @defgroup pj_config Build Configuration + * @{ + */ + +/** + * @def PJ_INLINE(type) + * @param type The return type of the function. + * Expand the function as inline. + */ +#define PJ_INLINE(type) PJ_INLINE_SPECIFIER type + +/** + * This macro declares platform/compiler specific specifier prefix + * to be added to symbol declaration to export the symbol when PJLIB + * is built as dynamic library. + * + * This macro should have been added by platform specific headers, + * if the platform supports building dynamic library target. + */ +#ifndef PJ_EXPORT_DECL_SPECIFIER +# define PJ_EXPORT_DECL_SPECIFIER +#endif + + +/** + * This macro declares platform/compiler specific specifier prefix + * to be added to symbol definition to export the symbol when PJLIB + * is built as dynamic library. + * + * This macro should have been added by platform specific headers, + * if the platform supports building dynamic library target. + */ +#ifndef PJ_EXPORT_DEF_SPECIFIER +# define PJ_EXPORT_DEF_SPECIFIER +#endif + + +/** + * This macro declares platform/compiler specific specifier prefix + * to be added to symbol declaration to import the symbol. + * + * This macro should have been added by platform specific headers, + * if the platform supports building dynamic library target. + */ +#ifndef PJ_IMPORT_DECL_SPECIFIER +# define PJ_IMPORT_DECL_SPECIFIER +#endif + + +/** + * This macro has been deprecated. It will evaluate to nothing. + */ +#ifndef PJ_EXPORT_SYMBOL +# define PJ_EXPORT_SYMBOL(x) +#endif + + +/** + * @def PJ_DECL(type) + * @param type The return type of the function. + * Declare a function. + */ +#if defined(PJ_DLL) +# if defined(PJ_EXPORTING) +# define PJ_DECL(type) PJ_EXPORT_DECL_SPECIFIER type +# else +# define PJ_DECL(type) PJ_IMPORT_DECL_SPECIFIER type +# endif +#elif !defined(PJ_DECL) +# if defined(__cplusplus) +# define PJ_DECL(type) type +# else +# define PJ_DECL(type) extern type +# endif +#endif + + +/** + * @def PJ_DEF(type) + * @param type The return type of the function. + * Define a function. + */ +#if defined(PJ_DLL) && defined(PJ_EXPORTING) +# define PJ_DEF(type) PJ_EXPORT_DEF_SPECIFIER type +#elif !defined(PJ_DEF) +# define PJ_DEF(type) type +#endif + + +/** + * @def PJ_DECL_NO_RETURN(type) + * @param type The return type of the function. + * Declare a function that will not return. + */ +/** + * @def PJ_IDECL_NO_RETURN(type) + * @param type The return type of the function. + * Declare an inline function that will not return. + */ +/** + * @def PJ_BEGIN_DECL + * Mark beginning of declaration section in a header file. + */ +/** + * @def PJ_END_DECL + * Mark end of declaration section in a header file. + */ +#ifdef __cplusplus +# define PJ_DECL_NO_RETURN(type) PJ_DECL(type) PJ_NORETURN +# define PJ_IDECL_NO_RETURN(type) PJ_INLINE(type) PJ_NORETURN +# define PJ_BEGIN_DECL extern "C" { +# define PJ_END_DECL } +#else +# define PJ_DECL_NO_RETURN(type) PJ_NORETURN PJ_DECL(type) +# define PJ_IDECL_NO_RETURN(type) PJ_NORETURN PJ_INLINE(type) +# define PJ_BEGIN_DECL +# define PJ_END_DECL +#endif + + + +/** + * @def PJ_DECL_DATA(type) + * @param type The data type. + * Declare a global data. + */ +#if defined(PJ_DLL) +# if defined(PJ_EXPORTING) +# define PJ_DECL_DATA(type) PJ_EXPORT_DECL_SPECIFIER extern type +# else +# define PJ_DECL_DATA(type) PJ_IMPORT_DECL_SPECIFIER extern type +# endif +#elif !defined(PJ_DECL_DATA) +# define PJ_DECL_DATA(type) extern type +#endif + + +/** + * @def PJ_DEF_DATA(type) + * @param type The data type. + * Define a global data. + */ +#if defined(PJ_DLL) && defined(PJ_EXPORTING) +# define PJ_DEF_DATA(type) PJ_EXPORT_DEF_SPECIFIER type +#elif !defined(PJ_DEF_DATA) +# define PJ_DEF_DATA(type) type +#endif + + +/** + * @def PJ_IDECL(type) + * @param type The function's return type. + * Declare a function that may be expanded as inline. + */ +/** + * @def PJ_IDEF(type) + * @param type The function's return type. + * Define a function that may be expanded as inline. + */ + +#if PJ_FUNCTIONS_ARE_INLINED +# define PJ_IDECL(type) PJ_INLINE(type) +# define PJ_IDEF(type) PJ_INLINE(type) +#else +# define PJ_IDECL(type) PJ_DECL(type) +# define PJ_IDEF(type) PJ_DEF(type) +#endif + + +/** + * @def PJ_UNUSED_ARG(arg) + * @param arg The argument name. + * PJ_UNUSED_ARG prevents warning about unused argument in a function. + */ +#define PJ_UNUSED_ARG(arg) (void)arg + +/** + * @def PJ_TODO(id) + * @param id Any identifier that will be printed as TODO message. + * PJ_TODO macro will display TODO message as warning during compilation. + * Example: PJ_TODO(CLEAN_UP_ERROR); + */ +#ifndef PJ_TODO +# define PJ_TODO(id) TODO___##id: +#endif + +/** + * Simulate race condition by sleeping the thread in strategic locations. + * Default: no! + */ +#ifndef PJ_RACE_ME +# define PJ_RACE_ME(x) +#endif + +/** + * Function attributes to inform that the function may throw exception. + * + * @param x The exception list, enclosed in parenthesis. + */ +#define __pj_throw__(x) + +/** @} */ + +/******************************************************************** + * Sanity Checks + */ +#ifndef PJ_HAS_HIGH_RES_TIMER +# error "PJ_HAS_HIGH_RES_TIMER is not defined!" +#endif + +#if !defined(PJ_HAS_PENTIUM) +# error "PJ_HAS_PENTIUM is not defined!" +#endif + +#if !defined(PJ_IS_LITTLE_ENDIAN) +# error "PJ_IS_LITTLE_ENDIAN is not defined!" +#endif + +#if !defined(PJ_IS_BIG_ENDIAN) +# error "PJ_IS_BIG_ENDIAN is not defined!" +#endif + +#if !defined(PJ_EMULATE_RWMUTEX) +# error "PJ_EMULATE_RWMUTEX should be defined in compat/os_xx.h" +#endif + +#if !defined(PJ_THREAD_SET_STACK_SIZE) +# error "PJ_THREAD_SET_STACK_SIZE should be defined in compat/os_xx.h" +#endif + +#if !defined(PJ_THREAD_ALLOCATE_STACK) +# error "PJ_THREAD_ALLOCATE_STACK should be defined in compat/os_xx.h" +#endif + +PJ_BEGIN_DECL + +/** PJLIB version major number. */ +#define PJ_VERSION_NUM_MAJOR 2 + +/** PJLIB version minor number. */ +#define PJ_VERSION_NUM_MINOR 4 + +/** PJLIB version revision number. */ +#define PJ_VERSION_NUM_REV 5 + +/** + * Extra suffix for the version (e.g. "-trunk"), or empty for + * web release version. + */ +#define PJ_VERSION_NUM_EXTRA "" + +/** + * PJLIB version number consists of three bytes with the following format: + * 0xMMIIRR00, where MM: major number, II: minor number, RR: revision + * number, 00: always zero for now. + */ +#define PJ_VERSION_NUM ((PJ_VERSION_NUM_MAJOR << 24) | \ + (PJ_VERSION_NUM_MINOR << 16) | \ + (PJ_VERSION_NUM_REV << 8)) + +/** + * PJLIB version string constant. @see pj_get_version() + */ +PJ_DECL_DATA(const char*) PJ_VERSION; + +/** + * Get PJLIB version string. + * + * @return #PJ_VERSION constant. + */ +PJ_DECL(const char*) pj_get_version(void); + +/** + * Dump configuration to log with verbosity equal to info(3). + */ +PJ_DECL(void) pj_dump_config(void); + +PJ_END_DECL + + +#endif /* __PJ_CONFIG_H__ */ + diff --git a/pjlib/include/pj/config_site_sample.h b/pjlib/include/pj/config_site_sample.h new file mode 100644 index 0000000..4a56f70 --- /dev/null +++ b/pjlib/include/pj/config_site_sample.h @@ -0,0 +1,488 @@ +/* + * This file contains several sample settings especially for Windows + * Mobile and Symbian targets. You can include this file in your + * file. + * + * The Windows Mobile and Symbian settings will be activated + * automatically if you include this file. + * + * In addition, you may specify one of these macros (before including + * this file) to activate additional settings: + * + * #define PJ_CONFIG_NOKIA_APS_DIRECT + * Use this macro to activate the APS-Direct feature. Please see + * http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct for more + * info. + * + * #define PJ_CONFIG_WIN32_WMME_DIRECT + * Configuration to activate "APS-Direct" media mode on Windows or + * Windows Mobile, useful for testing purposes only. + */ + + +/* + * Typical configuration for WinCE target. + */ +#if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 + + /* + * PJLIB settings. + */ + + /* Disable floating point support */ + #define PJ_HAS_FLOATING_POINT 0 + + /* + * PJMEDIA settings + */ + + /* Select codecs to disable */ + #define PJMEDIA_HAS_L16_CODEC 0 + #define PJMEDIA_HAS_ILBC_CODEC 0 + + /* We probably need more buffers on WM, so increase the limit */ + #define PJMEDIA_SOUND_BUFFER_COUNT 32 + + /* Fine tune Speex's default settings for best performance/quality */ + #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5 + + /* For CPU reason, disable speex AEC and use the echo suppressor. */ + #define PJMEDIA_HAS_SPEEX_AEC 0 + + /* Previously, resampling is disabled due to performance reason and + * this condition prevented some 'light' wideband codecs (e.g: G722.1) + * to work along with narrowband codecs. Lately, some tests showed + * that 16kHz <-> 8kHz resampling using libresample small filter was + * affordable on ARM9 260 MHz, so here we decided to enable resampling. + * Note that it is important to make sure that libresample is created + * using small filter. For example PJSUA_DEFAULT_CODEC_QUALITY must + * be set to 3 or 4 so pjsua-lib will apply small filter resampling. + */ + //#define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_NONE + #define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_LIBRESAMPLE + + /* Use the lighter WSOLA implementation */ + #define PJMEDIA_WSOLA_IMP PJMEDIA_WSOLA_IMP_WSOLA_LITE + + /* + * PJSIP settings. + */ + + /* Set maximum number of dialog/transaction/calls to minimum to reduce + * memory usage + */ + #define PJSIP_MAX_TSX_COUNT 31 + #define PJSIP_MAX_DIALOG_COUNT 31 + #define PJSUA_MAX_CALLS 4 + + /* + * PJSUA settings + */ + + /* Default codec quality, previously was set to 5, however it is now + * set to 4 to make sure pjsua instantiates resampler with small filter. + */ + #define PJSUA_DEFAULT_CODEC_QUALITY 4 + + /* Set maximum number of objects to minimum to reduce memory usage */ + #define PJSUA_MAX_ACC 4 + #define PJSUA_MAX_PLAYERS 4 + #define PJSUA_MAX_RECORDERS 4 + #define PJSUA_MAX_CONF_PORTS (PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS) + #define PJSUA_MAX_BUDDIES 32 + +#endif /* PJ_WIN32_WINCE */ + + +/* + * Typical configuration for Symbian OS target + */ +#if defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0 + + /* + * PJLIB settings. + */ + + /* Disable floating point support */ + #define PJ_HAS_FLOATING_POINT 0 + + /* Misc PJLIB setting */ + #define PJ_MAXPATH 80 + + /* This is important for Symbian. Symbian lacks vsnprintf(), so + * if the log buffer is not long enough it's possible that + * large incoming packet will corrupt memory when the log tries + * to log the packet. + */ + #define PJ_LOG_MAX_SIZE (PJSIP_MAX_PKT_LEN+500) + + /* Since we don't have threads, log buffer can use static buffer + * rather than stack + */ + #define PJ_LOG_USE_STACK_BUFFER 0 + + /* Disable check stack since it increases footprint */ + #define PJ_OS_HAS_CHECK_STACK 0 + + + /* + * PJMEDIA settings + */ + + /* Disable non-Symbian audio devices */ + #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 + #define PJMEDIA_AUDIO_DEV_HAS_WMME 0 + + /* Select codecs to disable */ + #define PJMEDIA_HAS_L16_CODEC 0 + #define PJMEDIA_HAS_ILBC_CODEC 0 + #define PJMEDIA_HAS_G722_CODEC 0 + + /* Fine tune Speex's default settings for best performance/quality */ + #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5 + + /* For CPU reason, disable speex AEC and use the echo suppressor. */ + #define PJMEDIA_HAS_SPEEX_AEC 0 + + /* Previously, resampling is disabled due to performance reason and + * this condition prevented some 'light' wideband codecs (e.g: G722.1) + * to work along with narrowband codecs. Lately, some tests showed + * that 16kHz <-> 8kHz resampling using libresample small filter was + * affordable on ARM9 222 MHz, so here we decided to enable resampling. + * Note that it is important to make sure that libresample is created + * using small filter. For example PJSUA_DEFAULT_CODEC_QUALITY must + * be set to 3 or 4 so pjsua-lib will apply small filter resampling. + */ + //#define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_NONE + #define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_LIBRESAMPLE + + /* Use the lighter WSOLA implementation */ + #define PJMEDIA_WSOLA_IMP PJMEDIA_WSOLA_IMP_WSOLA_LITE + + /* We probably need more buffers especially if MDA audio backend + * is used, so increase the limit + */ + #define PJMEDIA_SOUND_BUFFER_COUNT 32 + + /* + * PJSIP settings. + */ + + /* Disable safe module access, since we don't use multithreading */ + #define PJSIP_SAFE_MODULE 0 + + /* Use large enough packet size */ + #define PJSIP_MAX_PKT_LEN 2000 + + /* Symbian has problem with too many large blocks */ + #define PJSIP_POOL_LEN_ENDPT 1000 + #define PJSIP_POOL_INC_ENDPT 1000 + #define PJSIP_POOL_RDATA_LEN 2000 + #define PJSIP_POOL_RDATA_INC 2000 + #define PJSIP_POOL_LEN_TDATA 2000 + #define PJSIP_POOL_INC_TDATA 512 + #define PJSIP_POOL_LEN_UA 2000 + #define PJSIP_POOL_INC_UA 1000 + #define PJSIP_POOL_TSX_LAYER_LEN 256 + #define PJSIP_POOL_TSX_LAYER_INC 256 + #define PJSIP_POOL_TSX_LEN 512 + #define PJSIP_POOL_TSX_INC 128 + + /* + * PJSUA settings. + */ + + /* Default codec quality, previously was set to 5, however it is now + * set to 4 to make sure pjsua instantiates resampler with small filter. + */ + #define PJSUA_DEFAULT_CODEC_QUALITY 4 + + /* Set maximum number of dialog/transaction/calls to minimum */ + #define PJSIP_MAX_TSX_COUNT 31 + #define PJSIP_MAX_DIALOG_COUNT 31 + #define PJSUA_MAX_CALLS 4 + + /* Other pjsua settings */ + #define PJSUA_MAX_ACC 4 + #define PJSUA_MAX_PLAYERS 4 + #define PJSUA_MAX_RECORDERS 4 + #define PJSUA_MAX_CONF_PORTS (PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS) + #define PJSUA_MAX_BUDDIES 32 +#endif + + +/* + * Additional configuration to activate APS-Direct feature for + * Nokia S60 target + * + * Please see http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct + */ +#ifdef PJ_CONFIG_NOKIA_APS_DIRECT + + /* MUST use switchboard rather than the conference bridge */ + #define PJMEDIA_CONF_USE_SWITCH_BOARD 1 + + /* Enable APS sound device backend and disable MDA & VAS */ + #define PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA 0 + #define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS 1 + #define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS 0 + + /* Enable passthrough codec framework */ + #define PJMEDIA_HAS_PASSTHROUGH_CODECS 1 + + /* And selectively enable which codecs are supported by the handset */ + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 1 + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 1 + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 1 + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 1 + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 1 + +#endif + + +/* + * Additional configuration to activate VAS-Direct feature for + * Nokia S60 target + * + * Please see http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct + */ +#ifdef PJ_CONFIG_NOKIA_VAS_DIRECT + + /* MUST use switchboard rather than the conference bridge */ + #define PJMEDIA_CONF_USE_SWITCH_BOARD 1 + + /* Enable VAS sound device backend and disable MDA & APS */ + #define PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA 0 + #define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS 0 + #define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS 1 + + /* Enable passthrough codec framework */ + #define PJMEDIA_HAS_PASSTHROUGH_CODECS 1 + + /* And selectively enable which codecs are supported by the handset */ + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 1 + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 1 + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 1 + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 1 + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 1 + +#endif + + +/* + * Configuration to activate "APS-Direct" media mode on Windows, + * useful for testing purposes only. + */ +#ifdef PJ_CONFIG_WIN32_WMME_DIRECT + + /* MUST use switchboard rather than the conference bridge */ + #define PJMEDIA_CONF_USE_SWITCH_BOARD 1 + + /* Only WMME supports the "direct" feature */ + #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 + #define PJMEDIA_AUDIO_DEV_HAS_WMME 1 + + /* Enable passthrough codec framework */ + #define PJMEDIA_HAS_PASSTHROUGH_CODECS 1 + + /* Only PCMA and PCMU are supported by WMME-direct */ + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 1 + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 1 + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 0 + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 0 + #define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 0 + +#endif + +/* + * iPhone sample settings. + */ +#if PJ_CONFIG_IPHONE + /* + * PJLIB settings. + */ + + /* Both armv6 and armv7 has FP hardware support. + * See https://trac.pjsip.org/repos/ticket/1589 for more info + */ + #define PJ_HAS_FLOATING_POINT 1 + + /* + * PJMEDIA settings + */ + + /* We have our own native CoreAudio backend */ + #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 + #define PJMEDIA_AUDIO_DEV_HAS_WMME 0 + #define PJMEDIA_AUDIO_DEV_HAS_COREAUDIO 1 + + /* The CoreAudio backend has built-in echo canceller! */ + #define PJMEDIA_HAS_SPEEX_AEC 0 + + /* Disable some codecs */ + #define PJMEDIA_HAS_L16_CODEC 0 + //#define PJMEDIA_HAS_G722_CODEC 0 + + /* Use the built-in CoreAudio's iLBC codec (yay!) */ + #define PJMEDIA_HAS_ILBC_CODEC 1 + #define PJMEDIA_ILBC_CODEC_USE_COREAUDIO 1 + + /* Fine tune Speex's default settings for best performance/quality */ + #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5 + + /* + * PJSIP settings. + */ + + /* Increase allowable packet size, just in case */ + //#define PJSIP_MAX_PKT_LEN 2000 + + /* + * PJSUA settings. + */ + + /* Default codec quality, previously was set to 5, however it is now + * set to 4 to make sure pjsua instantiates resampler with small filter. + */ + #define PJSUA_DEFAULT_CODEC_QUALITY 4 + + /* Set maximum number of dialog/transaction/calls to minimum */ + #define PJSIP_MAX_TSX_COUNT 31 + #define PJSIP_MAX_DIALOG_COUNT 31 + #define PJSUA_MAX_CALLS 4 + + /* Other pjsua settings */ + #define PJSUA_MAX_ACC 4 + #define PJSUA_MAX_PLAYERS 4 + #define PJSUA_MAX_RECORDERS 4 + #define PJSUA_MAX_CONF_PORTS (PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS) + #define PJSUA_MAX_BUDDIES 32 + +#endif + +/* + * Android sample settings. + */ +#if PJ_CONFIG_ANDROID + + #define PJ_ANDROID 1 + + /* + * PJLIB settings. + */ + + /* Disable floating point support */ + #undef PJ_HAS_FLOATING_POINT + #define PJ_HAS_FLOATING_POINT 0 + + /* + * PJMEDIA settings + */ + + /* We have our own OpenSL ES backend */ + #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 + #define PJMEDIA_AUDIO_DEV_HAS_WMME 0 + #define PJMEDIA_AUDIO_DEV_HAS_OPENSL 0 + #define PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI 1 + + /* Disable some codecs */ + #define PJMEDIA_HAS_L16_CODEC 0 + //#define PJMEDIA_HAS_G722_CODEC 0 + + /* Fine tune Speex's default settings for best performance/quality */ + #define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 5 + + /* Increase number of video device's supported formats */ + #define PJMEDIA_VID_DEV_INFO_FMT_CNT 128 + + /* + * PJSIP settings. + */ + + /* Increase allowable packet size, just in case */ + //#define PJSIP_MAX_PKT_LEN 2000 + + /* + * PJSUA settings. + */ + + /* Default codec quality, previously was set to 5, however it is now + * set to 4 to make sure pjsua instantiates resampler with small filter. + */ + #define PJSUA_DEFAULT_CODEC_QUALITY 4 + + /* Set maximum number of dialog/transaction/calls to minimum */ + #define PJSIP_MAX_TSX_COUNT 31 + #define PJSIP_MAX_DIALOG_COUNT 31 + #define PJSUA_MAX_CALLS 4 + + /* Other pjsua settings */ + #define PJSUA_MAX_ACC 4 + #define PJSUA_MAX_PLAYERS 4 + #define PJSUA_MAX_RECORDERS 4 + #define PJSUA_MAX_CONF_PORTS (PJSUA_MAX_CALLS+2*PJSUA_MAX_PLAYERS) + #define PJSUA_MAX_BUDDIES 32 +#endif + + +/* + * BB10 + */ +#if defined(PJ_CONFIG_BB10) && PJ_CONFIG_BB10 + /* Quality 3 - 4 to use resampling small filter */ + #define PJSUA_DEFAULT_CODEC_QUALITY 4 + #define PJMEDIA_HAS_LEGACY_SOUND_API 0 + #undef PJMEDIA_HAS_SPEEX_AEC + #define PJMEDIA_HAS_SPEEX_AEC 0 + #undef PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO + #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 +#endif + + +/* + * Minimum size + */ +#ifdef PJ_CONFIG_MINIMAL_SIZE + +# undef PJ_OS_HAS_CHECK_STACK +# define PJ_OS_HAS_CHECK_STACK 0 +# define PJ_LOG_MAX_LEVEL 0 +# define PJ_ENABLE_EXTRA_CHECK 0 +# define PJ_HAS_ERROR_STRING 0 +# undef PJ_IOQUEUE_MAX_HANDLES +/* Putting max handles to lower than 32 will make pj_fd_set_t size smaller + * than native fdset_t and will trigger assertion on sock_select.c. + */ +# define PJ_IOQUEUE_MAX_HANDLES 32 +# define PJ_CRC32_HAS_TABLES 0 +# define PJSIP_MAX_TSX_COUNT 15 +# define PJSIP_MAX_DIALOG_COUNT 15 +# define PJSIP_UDP_SO_SNDBUF_SIZE 4000 +# define PJSIP_UDP_SO_RCVBUF_SIZE 4000 +# define PJMEDIA_HAS_ALAW_ULAW_TABLE 0 + +#elif defined(PJ_CONFIG_MAXIMUM_SPEED) +# define PJ_SCANNER_USE_BITWISE 0 +# undef PJ_OS_HAS_CHECK_STACK +# define PJ_OS_HAS_CHECK_STACK 0 +# define PJ_LOG_MAX_LEVEL 3 +# define PJ_ENABLE_EXTRA_CHECK 0 +# define PJ_IOQUEUE_MAX_HANDLES 5000 +# define PJSIP_MAX_TSX_COUNT ((640*1024)-1) +# define PJSIP_MAX_DIALOG_COUNT ((640*1024)-1) +# define PJSIP_UDP_SO_SNDBUF_SIZE (24*1024*1024) +# define PJSIP_UDP_SO_RCVBUF_SIZE (24*1024*1024) +# define PJ_DEBUG 0 +# define PJSIP_SAFE_MODULE 0 +# define PJ_HAS_STRICMP_ALNUM 0 +# define PJ_HASH_USE_OWN_TOLOWER 1 +# define PJSIP_UNESCAPE_IN_PLACE 1 + +# if defined(PJ_WIN32) || defined(PJ_WIN64) +# define PJSIP_MAX_NET_EVENTS 10 +# endif + +# define PJSUA_MAX_CALLS 512 + +#endif + diff --git a/pjlib/include/pj/ctype.h b/pjlib/include/pj/ctype.h new file mode 100644 index 0000000..08adde8 --- /dev/null +++ b/pjlib/include/pj/ctype.h @@ -0,0 +1,175 @@ +/* $Id: ctype.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_CTYPE_H__ +#define __PJ_CTYPE_H__ + +/** + * @file ctype.h + * @brief C type helper macros. + */ + +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup pj_ctype ctype - Character Type + * @ingroup PJ_MISC + * @{ + * + * This module contains several inline functions/macros for testing or + * manipulating character types. It is provided in PJLIB because PJLIB + * must not depend to LIBC. + */ + +/** + * Returns a non-zero value if either isalpha or isdigit is true for c. + * @param c The integer character to test. + * @return Non-zero value if either isalpha or isdigit is true for c. + */ +PJ_INLINE(int) pj_isalnum(unsigned char c) { return isalnum(c); } + +/** + * Returns a non-zero value if c is a particular representation of an + * alphabetic character. + * @param c The integer character to test. + * @return Non-zero value if c is a particular representation of an + * alphabetic character. + */ +PJ_INLINE(int) pj_isalpha(unsigned char c) { return isalpha(c); } + +/** + * Returns a non-zero value if c is a particular representation of an + * ASCII character. + * @param c The integer character to test. + * @return Non-zero value if c is a particular representation of + * an ASCII character. + */ +PJ_INLINE(int) pj_isascii(unsigned char c) { return c<128; } + +/** + * Returns a non-zero value if c is a particular representation of + * a decimal-digit character. + * @param c The integer character to test. + * @return Non-zero value if c is a particular representation of + * a decimal-digit character. + */ +PJ_INLINE(int) pj_isdigit(unsigned char c) { return isdigit(c); } + +/** + * Returns a non-zero value if c is a particular representation of + * a space character (0x09 - 0x0D or 0x20). + * @param c The integer character to test. + * @return Non-zero value if c is a particular representation of + * a space character (0x09 - 0x0D or 0x20). + */ +PJ_INLINE(int) pj_isspace(unsigned char c) { return isspace(c); } + +/** + * Returns a non-zero value if c is a particular representation of + * a lowercase character. + * @param c The integer character to test. + * @return Non-zero value if c is a particular representation of + * a lowercase character. + */ +PJ_INLINE(int) pj_islower(unsigned char c) { return islower(c); } + + +/** + * Returns a non-zero value if c is a particular representation of + * a uppercase character. + * @param c The integer character to test. + * @return Non-zero value if c is a particular representation of + * a uppercase character. + */ +PJ_INLINE(int) pj_isupper(unsigned char c) { return isupper(c); } + +/** + * Returns a non-zero value if c is a either a space (' ') or horizontal + * tab ('\\t') character. + * @param c The integer character to test. + * @return Non-zero value if c is a either a space (' ') or horizontal + * tab ('\\t') character. + */ +PJ_INLINE(int) pj_isblank(unsigned char c) { return isblank(c); } + +/** + * Converts character to lowercase. + * @param c The integer character to convert. + * @return Lowercase character of c. + */ +PJ_INLINE(int) pj_tolower(unsigned char c) { return tolower(c); } + +/** + * Converts character to uppercase. + * @param c The integer character to convert. + * @return Uppercase character of c. + */ +PJ_INLINE(int) pj_toupper(unsigned char c) { return toupper(c); } + +/** + * Returns a non-zero value if c is a particular representation of + * an hexadecimal digit character. + * @param c The integer character to test. + * @return Non-zero value if c is a particular representation of + * an hexadecimal digit character. + */ +PJ_INLINE(int) pj_isxdigit(unsigned char c){ return isxdigit(c); } + +/** + * Array of hex digits, in lowerspace. + */ +/*extern char pj_hex_digits[];*/ +#define pj_hex_digits "0123456789abcdef" + +/** + * Convert a value to hex representation. + * @param value Integral value to convert. + * @param p Buffer to hold the hex representation, which must be + * at least two bytes length. + */ +PJ_INLINE(void) pj_val_to_hex_digit(unsigned value, char *p) +{ + *p++ = pj_hex_digits[ (value & 0xF0) >> 4 ]; + *p = pj_hex_digits[ (value & 0x0F) ]; +} + +/** + * Convert hex digit c to integral value. + * @param c The hex digit character. + * @return The integral value between 0 and 15. + */ +PJ_INLINE(unsigned) pj_hex_digit_to_val(unsigned char c) +{ + if (c <= '9') + return (c-'0') & 0x0F; + else if (c <= 'F') + return (c-'A'+10) & 0x0F; + else + return (c-'a'+10) & 0x0F; +} + +/** @} */ + +PJ_END_DECL + +#endif /* __PJ_CTYPE_H__ */ + diff --git a/pjlib/include/pj/doxygen.h b/pjlib/include/pj/doxygen.h new file mode 100644 index 0000000..1fe198b --- /dev/null +++ b/pjlib/include/pj/doxygen.h @@ -0,0 +1,996 @@ +/* $Id: doxygen.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_DOXYGEN_H__ +#define __PJ_DOXYGEN_H__ + +/** + * @file doxygen.h + * @brief Doxygen's mainpage. + */ + +/*////////////////////////////////////////////////////////////////////////// */ +/* + INTRODUCTION PAGE + */ + +/** + * @mainpage Welcome to PJLIB! + * + * @section intro_sec What is PJLIB + * + * PJLIB is an Open Source, small footprint framework library written in C for + * making scalable applications. Because of its small footprint, it can be used + * in embedded applications (we hope so!), but yet the library is also aimed for + * facilitating the creation of high performance protocol stacks. + * + * PJLIB is released under GPL terms. + * + * @section download_sec Download + * + * PJLIB and all documentation can be downloaded from + * http://www.pjsip.org. + * + * + * @section how_to_use_sec About This Documentation + * + * This document is generated directly from PJLIB source file using + * \a doxygen (http://www.doxygen.org). Doxygen is a great (and free!) + * tools for generating such documentation. + * + * + * @subsection find_samples_subsec How to Read This Document + * + * This documentation is laid out more to be a reference guide instead + * of tutorial, therefore first time users may find it difficult to + * grasp PJLIB by reading this document alone. + * + * However, we've tried our best to make this document easy to follow. + * For first time users, we would suggest that you follow these steps + * when reading this documentation: + * + * - continue reading this introduction chapter. At the end of this + * chapter, you'll find section called \ref pjlib_fundamentals_sec + * which should guide you to understand basic things about PJLIB. + * + * - find information about specific features that you want to use + * in PJLIB. Use the Module Index to find out about all + * features in PJLIB (if you're browsing the HTML documentation, + * click on the \a Module link on top of the page, or if you're + * reading the PDF documentation, click on \a Module \a Documentation + * on the navigation pane on the left). + * + * @subsection doc_organize_sec How To's + * + * Please find below links to specific tasks that you probably + * want to do: + * + * - How to Build PJLIB + *\n + * Please refer to \ref pjlib_build_sys_pg page for more information. + * + * - How to Use PJLIB in My Application + *\n + * Please refer to \ref configure_app_sec for more information. + * + * - How to Port PJLIB + *\n + * Please refer to \ref porting_pjlib_pg page. + * + * - Where to Read Samples Documentation + *\n + * Most of the modules provide link to the corresponding sample file. + * Alternatively, to get the list of all examples, you can click on + * Related Pages on the top of HTML document or on + * PJLIB Page Documentation on navigation pane of your PDF reader. + * + * - How to Submit Code to PJLIB Project + *\n + * Please read \ref pjlib_coding_convention_page before submitting + * your code. Send your code as patch against current Subversion tree + * to the appropriate mailing list. + * + * + * @section features_sec Features + * + * @subsection open_source_feat It's Open Source! + * + * PJLIB is currently released on GPL license, but other arrangements + * can be made with the author. + * + * @subsection extreme_portable_feat Extreme Portability + * + * PJLIB is designed to be extremely portable. It can run on any kind + * of processors (16-bit, 32-bit, or 64-bit, big or little endian, single + * or multi-processors) and operating systems. Floating point or no + * floating point. Multi-threading or not. + * It can even run in environment where no ANSI LIBC is available. + * + * Currently PJLIB is known to run on these platforms: + * - Win32/x86 (Win95/98/ME, NT/2000/XP/2003, mingw). + * - arm, WinCE and Windows Mobile. + * - Linux/x86, (user mode and as kernel module(!)). + * - Linux/alpha + * - Solaris/ultra. + * - MacOS X/powerpc + * - RTEMS (x86 and powerpc). + * + * And efforts is under way to port PJLIB on: + * - Symbian OS + * + * + * @subsection small_size_feat Small in Size + * + * One of the primary objectives is to have library that is small in size for + * typical embedded applications. As a rough guidance, we aim to keep the + * library size below 100KB for it to be considered as small. + * As the result, most of the functionalities in the library can be tailored + * to meet the requirements; user can enable/disable specific functionalities + * to get the desired size/performance/functionality balance. + * + * For more info, please see @ref pj_config. + * + * + * @subsection big_perform_feat Big in Performance + * + * Almost everything in PJLIB is designed to achieve the highest possible + * performance out of the target platform. + * + * + * @subsection no_dyn_mem No Dynamic Memory Allocations + * + * The central idea of PJLIB is that for applications to run as fast as it can, + * it should not use \a malloc() at all, but instead should get the memory + * from a preallocated storage pool. There are few things that can be + * optimized with this approach: + * + * - \a alloc() is a O(1) operation. + * - no mutex is used inside alloc(). It is assumed that synchronization + * will be used in higher abstraction by application anyway. + * - no \a free() is required. All chunks will be deleted when the pool is + * destroyed. + * + * The performance gained on some systems can be as high as 30x speed up + * against \a malloc() and \a free() on certain configurations, but of + * course your mileage may vary. + * + * For more information, see \ref PJ_POOL_GROUP + * + * + * @subsection os_abstract_feat Operating System Abstraction + * + * PJLIB has abstractions for features that are normally not portable + * across operating systems: + * - @ref PJ_THREAD + *\n + * Portable thread manipulation. + * - @ref PJ_TLS + *\n + * Storing data in thread's private data. + * - @ref PJ_MUTEX + *\n + * Mutual exclusion protection. + * - @ref PJ_SEM + *\n + * Semaphores. + * - @ref PJ_ATOMIC + *\n + * Atomic variables and their operations. + * - @ref PJ_CRIT_SEC + *\n + * Fast locking of critical sections. + * - @ref PJ_LOCK + *\n + * High level abstraction for lock objects. + * - @ref PJ_EVENT + *\n + * Event object. + * - @ref PJ_TIME + *\n + * Portable time manipulation. + * - @ref PJ_TIMESTAMP + *\n + * High resolution time value. + * - etc. + * + * + * @subsection ll_network_io_sec Low-Level Network I/O + * + * PJLIB has very portable abstraction and fairly complete set of API for + * doing network I/O communications. At the lowest level, PJLIB provides: + * + * - @ref PJ_SOCK + *\n + * A highly portable socket abstraction, runs on all kind of + * network APIs such as standard BSD socket, Windows socket, Linux + * \b kernel socket, PalmOS networking API, etc. + * + * - @ref pj_addr_resolve + *\n + * Portable address resolution, which implements #pj_gethostbyname(). + * + * - @ref PJ_SOCK_SELECT + *\n + * A portable \a select() like API (#pj_sock_select()) which can be + * implemented with various back-end. + * + * + * + * @subsection timer_mgmt_sec Timer Management + * + * A passive framework for managing timer, see @ref PJ_TIMER for more info. + * There is also function to retrieve high resolution timestamp + * from the system (see @ref PJ_TIMESTAMP). + * + * + * @subsection data_struct_sec Various Data Structures + * + * Various data structures are provided in the library: + * + * - @ref PJ_PSTR + * - @ref PJ_ARRAY + * - @ref PJ_HASH + * - @ref PJ_LIST + * - @ref PJ_RBTREE + * + * + * @subsection exception_sec Exception Construct + * + * A convenient TRY/CATCH like construct to propagate errors, which by + * default are used by the @ref PJ_POOL_GROUP "memory pool" and + * the lexical scanner in pjlib-util. The exception + * construct can be used to write programs like below: + * + *
+ *    #define SYNTAX_ERROR  1
+ *
+ *    PJ_TRY {
+ *       msg = NULL;
+ *       msg = parse_msg(buf, len);
+ *    }
+ *    PJ_CATCH ( SYNTAX_ERROR ) {
+ *       .. handle error ..
+ *    }
+ *    PJ_END;
+ * 
+ * + * Please see @ref PJ_EXCEPT for more information. + * + * + * @subsection logging_sec Logging Facility + * + * PJLIB @ref PJ_LOG consists of macros to write logging information to + * some output device. Some of the features of the logging facility: + * + * - the verbosity can be fine-tuned both at compile time (to control + * the library size) or run-time (to control the verbosity of the + * information). + * - output device is configurable (e.g. stdout, printk, file, etc.) + * - log decoration is configurable. + * + * See @ref PJ_LOG for more information. + * + * + * @subsection guid_gen_sec Random and GUID Generation + * + * PJLIB provides facility to create random string + * (#pj_create_random_string()) or globally unique identifier + * (see @ref PJ_GUID). + * + * + * + * @section configure_app_sec Configuring Application to use PJLIB + * + * @subsection pjlib_compil_sec Building PJLIB + * + * Follow the instructions in \ref pjlib_build_sys_pg to build + * PJLIB. + * + * @subsection pjlib_compil_app_sec Building Applications with PJLIB + * + * Use the following settings when building applications with PJLIB. + * + * @subsubsection compil_inc_dir_sec Include Search Path + * + * Add this to your include search path ($PJLIB is PJLIB root directory): + *
+ *   $PJLIB/include
+ * 
+ * + * @subsubsection compil_inc_file_sec Include PJLIB Header + * + * To include all PJLIB headers: + * \verbatim + #include + \endverbatim + * + * Alternatively, you can include individual PJLIB headers like this: + * \verbatim + #include + #include + \endverbatim + * + * + * @subsubsection compil_lib_dir_sec Library Path + * + * Add this to your library search path: + *
+ *   $PJLIB/lib
+ * 
+ * + * Then add the appropriate PJLIB library to your link specification. For + * example, you would add \c libpj-i386-linux-gcc.a when you're building + * applications in Linux. + * + * + * @subsection pjlib_fundamentals_sec Principles in Using PJLIB + * + * Few things that you \b MUST do when using PJLIB, to make sure that + * you create trully portable applications. + * + * @subsubsection call_pjlib_init_sec Call pj_init() + * + * Before you do anything else, call \c pj_init(). This would make sure that + * PJLIB system is properly set up. + * + * @subsubsection no_ansi_subsec Do NOT Use ANSI C + * + * Contrary to popular teaching, ANSI C (and LIBC) is not the most portable + * library in the world, nor it's the most ubiquitous. For example, LIBC + * is not available in Linux kernel. Also normally LIBC will be excluded + * from compilation of RTOSes to reduce size. + * + * So for maximum portability, do NOT use ANSI C. Do not even try to include + * any other header files outside . Stick with the functionalities + * provided by PJLIB. + * + * + * @subsubsection string_rep_subsubsec Use pj_str_t instead of C Strings + * + * PJLIB uses pj_str_t instead of normal C strings. You SHOULD follow this + * convention too. Remember, ANSI string-h is not always available. And + * PJLIB string is faster! + * + * @subsubsection mem_alloc_subsubsec Use Pool for Memory Allocations + * + * You MUST NOT use \a malloc() or any other memory allocation functions. + * Use PJLIB @ref PJ_POOL_GROUP instead! It's faster and most portable. + * + * @subsection logging_subsubsec Use Logging for Text Display + * + * DO NOT use for text output. Use PJLIB @ref PJ_LOG instead. + * + * + * @section porting_pjlib_sec0 Porting PJLIB + * + * Please see \ref porting_pjlib_pg page on more information to port + * PJLIB to new target. + * + * @section enjoy_sec Enjoy Using PJLIB! + * + * We hope that you find PJLIB usefull for your application. If you + * have any questions, suggestions, critics, bug fixes, or anything + * else, we would be happy to hear it. + * + * Enjoy using PJLIB! + * + * Benny Prijono < bennylp at pjsip dot org > + */ + + + +/*////////////////////////////////////////////////////////////////////////// */ +/* + CODING CONVENTION + */ + +/** + * @page pjlib_coding_convention_page Coding Convention + * + * Before you submit your code/patches to be included with PJLIB, you must + * make sure that your code is compliant with PJLIB coding convention. + * This is very important! Otherwise we would not accept your code. + * + * @section coding_conv_editor_sec Editor Settings + * + * The single most important thing in the whole coding convention is editor + * settings. It's more important than the correctness of your code (bugs will + * only crash the system, but incorrect tab size is mental!). + * + * Kindly set your editor as follows: + * - tab size to \b 8. + * - indentation to \b 4. + * + * With \c vi, you can do it with: + *
+ *  :se ts=8
+ *  :se sts=4
+ * 
+ * + * You should replace tab with eight spaces. + * + * @section coding_conv_detail_sec Coding Style + * + * Coding style MUST strictly follow K&R style. The rest of coding style + * must follow current style. You SHOULD be able to observe the style + * currently used by PJLIB from PJLIB sources, and apply the style to your + * code. If you're not able to do simple thing like to observe PJLIB + * coding style from the sources, then logic dictates that your ability to + * observe more difficult area in PJLIB such as memory allocation strategy, + * concurrency, etc is questionable. + * + * @section coding_conv_comment_sec Commenting Your Code + * + * Public API (e.g. in header files) MUST have doxygen compliant comments. + * + */ + + +/*////////////////////////////////////////////////////////////////////////// */ +/* + BUILDING AND INSTALLING PJLIB + */ + + + +/** + * @page pjlib_build_sys_pg Building, and Installing PJLIB + * + * @section build_sys_install_sec Build and Installation + * + * \note + * The most up-to-date information on building and installing PJLIB + * should be found in the website, under "Getting Started" document. + * More over, the new PJLIB build system is now based on autoconf, + * so some of the information here might not be relevant anymore + * (although most still are, since the autoconf script still use + * the old Makefile system as the backend). + * + * @subsection build_sys_install_win32_sec Visual Studio + * + * The PJLIB Visual Studio workspace supports the building of PJLIB + * for Win32 target. Although currently only the Visual Studio 6 Workspace is + * actively maintained, developers with later version of Visual Studio + * can easily imports VS6 workspace into their IDE. + * + * To start building PJLIB projects with Visual Studio 6 or later, open + * the \a workspace file in the corresponding \b \c build directory. You have + * several choices on which \a dsw file to open: + \verbatim + $PJPROJECT/pjlib/build/pjlib.dsw + $PJPROJECT/pjsip/build/pjsip.dsw + ..etc + \endverbatim + * + * The easiest way is to open pjsip_apps.dsw file in \b \c $PJPROJECT/pjsip-apps/build + * directory, and build pjsua project or the samples project. + * However this will not build the complete projects. + * For example, the PJLIB test is not included in this workspace. + * To build the complete projects, you must + * open and build each \a dsw file in \c build directory in each + * subprojects. For example, to open the complete PJLIB workspace, open + * pjlib.dsw in $PJPROJECT/pjlib/build directory. + * + * + * @subsubsection config_site_create_vc_sec Create config_site.h + * + * The file $PJPROJECT/pjlib/include/pj/config_site.h + * is supposed to contain configuration that is specific to your site/target. + * This file is not part of PJLIB, so you must create it yourself. Normally + * you just need to create a blank file. + * + * The reason why it's not included in PJLIB is so that you would not accidently + * overwrite your site configuration. + * + * If you fail to do this, Visual C will complain with error like: + * + * "fatal error C1083: Cannot open include file: 'pj/config_site.h': No such file + * or directory". + * + * @subsubsection build_vc_subsubsec Build the Projects + * + * Just hit the build button! + * + * + * @subsection build_sys_install_unix_sec Make System + * + * For other targets, PJLIB provides a rather comprehensive build system + * that uses GNU \a make (and only GNU \a make will work). + * Currently, the build system supports building * PJLIB for these targets: + * - i386/Win32/mingw + * - i386/Linux + * - i386/Linux (kernel) + * - alpha/linux + * - sparc/SunOS + * - etc.. + * + * + * @subsubsection build_req_sec Requirements + * + * In order to use the \c make based build system, you MUST have: + * + * - GNU make + *\n + * The Makefiles heavily utilize GNU make commands which most likely + * are not available in other \c make system. + * - bash shell is recommended. + *\n + * Specificly, there is a command "echo -n" which may not work + * in other shells. This command is used when generating dependencies + * (make dep) and it's located in + * $PJPROJECT/build/rules.mak. + * - ar, ranlib from GNU binutils + *\n + * In your system has different ar or ranlib (e.g. they + * may have been installed as gar and granlib), then + * either you create the relevant symbolic links, or modify + * $PJPROJECT/build/cc-gcc.mak and rename ar and + * ranlib to the appropriate names. + * - gcc to generate dependency. + *\n + * Currently the build system uses "gcc -MM" to generate build + * dependencies. If gcc is not desired to generate dependency, + * then either you don't run make dep, or edit + * $PJPROJECT/build/rules.mak to calculate dependency using + * your prefered method. (And let me know when you do so so that I can + * update the file. :) ) + * + * @subsubsection build_overview_sec Building the Project + * + * Generally, steps required to build the PJLIB are: + * + \verbatim + $ cd /home/user/pjproject + $ ./configure + $ touch pjlib/include/pj/config_site.h + $ make dep + $ make + \endverbatim + * + * The above process will build all static libraries and all applications. + * + * \note the configure script is not a proper autoconf script, + * but rather a simple shell script to detect current host. This script + * currently does not support cross-compilation. + * + * \note For Linux kernel target, there are additional steps required, which + * will be explained in section \ref linux_kern_target_subsec. + * + * @subsubsection build_mak_sec Cross Compilation + * + * For cross compilation, you will need to edit the \c build.mak file in + * \c $PJPROJECT root directory manually. Please see README-configure file + * in the root directory for more information. + * + * For Linux kernel target, you are also required to declare the following + * variables in this file: + * - \c KERNEL_DIR: full path of kernel source tree. + * - \c KERNEL_ARCH: kernel ARCH options (e.g. "ARCH=um"), or leave blank + * for default. + * - \c PJPROJECT_DIR: full path of PJPROJECT source tree. + * + * Apart from these, there are also additional steps required to build + * Linux kernel target, which will be explained in \ref linux_kern_target_subsec. + * + * @subsubsection build_dir_sec Files in "build" Directory + * + * The *.mak files in \c $PJPROJECT/build directory are used to specify + * the configuration for the specified compiler, target machine target + * operating system, and host options. These files will be executed + * (included) by \a make during building process, depending on the values + * specified in $PJPROJECT/build.mak file. + * + * Normally you don't need to edit these files, except when you're porting + * PJLIB to new target. + * + * Below are the description of some files in this directory: + * + * - rules.mak: contains generic rules always included during make. + * - cc-gcc.mak: rules when gcc is used for compiler. + * - cc-vc.mak: rules when MSVC compiler is used. + * - host-mingw.mak: rules for building in mingw host. + * - host-unix.mak: rules for building in Unix/Posix host. + * - host-win32.mak: rules for building in Win32 command console + * (only valid when VC is used). + * - m-i386.mak: rules when target machine is an i386 processor. + * - m-m68k.mak: rules when target machine is an m68k processor. + * - os-linux.mak: rules when target OS is Linux. + * - os-linux-kernel.mak: rules when PJLIB is to be build as + * part of Linux kernel. + * - os-win32.mak: rules when target OS is Win32. + * + * + * @subsubsection config_site_create_sec Create config_site.h + * + * The file $PJPROJECT/pjlib/include/pj/config_site.h + * is supposed to contain configuration that is specific to your site/target. + * This file is not part of PJLIB, so you must create it yourself. + * + * The reason why it's not included in PJLIB is so that you would not accidently + * overwrite your site configuration. + * + * + * @subsubsection invoking_make_sec Invoking make + * + * Normally, \a make is invoked in \c build directory under each project. + * For example, to build PJLIB, you would invoke \a make in + * \c $PJPROJECT/pjlib/build directory like below: + * + \verbatim + $ cd pjlib/build + $ make + \endverbatim + * + * Alternatively you may invoke make in $PJPROJECT + * directory, to build all projects under that directory (e.g. + * PJLIB, PJSIP, etc.). + * + * + * @subsubsection linux_kern_target_subsec Linux Kernel Target + * + * \note + * BUILDING APPLICATIONS IN LINUX KERNEL MODE IS A VERY DANGEROUS BUSINESS. + * YOU MAY CRASH THE WHOLE OF YOUR SYSTEM, CORRUPT YOUR HARDISK, ETC. PJLIB + * KERNEL MODULES ARE STILL IN EXPERIMENTAL PHASE. DO NOT RUN IT IN PRODUCTION + * SYSTEMS OR OTHER SYSTEMS WHERE RISK OF LOSS OF DATA IS NOT ACCEPTABLE. + * YOU HAVE BEEN WARNED. + * + * \note + * User Mode Linux (UML) provides excellent way to experiment with Linux + * kernel without risking the stability of the host system. See + * http://user-mode-linux.sourceforge.net for details. + * + * \note + * I only use UML to experiment with PJLIB kernel modules. + * I wouldn't be so foolish to use my host Linux machine to experiment + * with this. + * + * \note + * You have been warned. + * + * For building PJLIB for Linux kernel target, there are additional steps required. + * In general, the additional tasks are: + * - Declare some more variables in build.mak file (this + * has been explained in \ref build_mak_sec above). + * - Perform these two small modifications in kernel source tree. + * + * There are two small modification need to be applied to the kernel tree. + * + * 1. Edit Makefile in kernel root source tree. + * + * Add the following lines at the end of the Makefile in your + * $KERNEL_SRC dir: + \verbatim +script: + $(SCRIPT) + \endverbatim + * + * \note Remember to replace spaces with tab in the Makefile. + * + * The modification above is needed to capture kernel's \c $CFLAGS and + * \c $CFLAGS_MODULE which will be used for PJLIB's compilation. + * + * 2. Add Additional Exports. + * + * We need the kernel to export some more symbols for our use. So we declare + * the additional symbols to be exported in extra-exports.c file, and add + * a this file to be compiled into the kernel: + * + * - Copy the file extra-exports.c from pjlib/src/pj + * directory to $KERNEL_SRC/kernel/ directory. + * - Edit Makefile in that directory, and add this line + * somewhere after the declaration of that variable: + \verbatim +obj-y += extra-exports.o + \endverbatim + * + * To illustrate what have been done in your kernel source tree, below + * is screenshot of my kernel source tree _after_ the modification. + * + \verbatim +[root@vpc-linux linux-2.6.7]# pwd +/usr/src/linux-2.6.7 +[root@vpc-linux linux-2.6.7]# +[root@vpc-linux linux-2.6.7]# +[root@vpc-linux linux-2.6.7]# tail Makefile + +endif # skip-makefile + +FORCE: + +.PHONY: script + +script: + $(SCRIPT) + +[root@vpc-linux linux-2.6.7]# +[root@vpc-linux linux-2.6.7]# +[root@vpc-linux linux-2.6.7]# head kernel/extra-exports.c +#include +#include + +EXPORT_SYMBOL(sys_select); + +EXPORT_SYMBOL(sys_epoll_create); +EXPORT_SYMBOL(sys_epoll_ctl); +EXPORT_SYMBOL(sys_epoll_wait); + +EXPORT_SYMBOL(sys_socket); +[root@vpc-linux linux-2.6.7]# +[root@vpc-linux linux-2.6.7]# +[root@vpc-linux linux-2.6.7]# head -15 kernel/Makefile +# +# Makefile for the linux kernel. +# + +obj-y = sched.o fork.o exec_domain.o panic.o printk.o profile.o \ + exit.o itimer.o time.o softirq.o resource.o \ + sysctl.o capability.o ptrace.o timer.o user.o \ + signal.o sys.o kmod.o workqueue.o pid.o \ + rcupdate.o intermodule.o extable.o params.o posix-timers.o \ + kthread.o + +obj-y += extra-exports.o + +obj-$(CONFIG_FUTEX) += futex.o +obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o +[root@vpc-linux linux-2.6.7]# + + \endverbatim + * + * Then you must rebuild the kernel. + * If you fail to do this, you won't be able to insmod pjlib. + * + * \note You will see a lots of warning messages during pjlib-test compilation. + * The warning messages complain about unresolved symbols which are defined + * in pjlib module. You can safely ignore these warnings. However, you can not + * ignore warnings about non-pjlib unresolved symbols. + * + * + * @subsection makefile_explained_sec Makefile Explained + * + * The \a Makefile for each project (e.g. PJLIB, PJSIP, etc) should be + * very similar in the contents. The Makefile is located under \c build + * directory in each project subdir. + * + * @subsubsection pjlib_makefile_subsec PJLIB Makefile. + * + * Below is PJLIB's Makefile: + * + * \include build/Makefile + * + * @subsubsection pjlib_os_makefile_subsec PJLIB os-linux.mak. + * + * Below is file os-linux.mak file in + * $PJPROJECT/pjlib/build directory, + * which is OS specific configuration file for Linux target that is specific + * for PJLIB project. For \b global OS specific configuration, please see + * $PJPROJECT/build/os-*.mak. + * + * \include build/os-linux.mak + * + */ + + +/*////////////////////////////////////////////////////////////////////////// */ +/* + PORTING PJLIB + */ + + + +/** + * @page porting_pjlib_pg Porting PJLIB + * + * \note + * Since version 0.5.8, PJLIB build system is now based on autoconf, so + * most of the time we shouldn't need to apply the tweakings below to get + * PJLIB working on a new platform. However, since the autoconf build system + * still uses the old Makefile build system, the information below may still + * be useful for reference. + * + * + * @section new_arch_sec Porting to New CPU Architecture + * + * Below is step-by-step guide to add support for new CPU architecture. + * This sample is based on porting to Alpha architecture; however steps for + * porting to other CPU architectures should be pretty similar. + * + * Also note that in this example, the operating system used is Linux. + * Should you wish to add support for new operating system, then follow + * the next section \ref porting_os_sec. + * + * Step-by-step guide to port to new CPU architecture: + * - decide the name for the new architecture. In this case, we choose + * alpha. + * - edit file $PJPROJECT/build.mak, and add new section for + * the new target: + *
+ *      #
+ *      # Linux alpha, gcc
+ *      #
+ *      export MACHINE_NAME := alpha
+ *      export OS_NAME := linux
+ *      export CC_NAME := gcc
+ *      export HOST_NAME := unix
+ *    
+ * + * - create a new file $PJPROJECT/build/m-alpha.mak. + * Alternatively create a copy from other file in this directory. + * The contents of this file will look something like: + *
+ *      export M_CFLAGS := $(CC_DEF)PJ_M_ALPHA=1
+ *      export M_CXXFLAGS :=
+ *      export M_LDFLAGS :=
+ *      export M_SOURCES :=
+ *    
+ * - create a new file $PJPROJECT/pjlib/include/pj/compat/m_alpha.h. + * Alternatively create a copy from other header file in this directory. + * The contents of this file will look something like: + *
+ *      #define PJ_HAS_PENTIUM          0
+ *      #define PJ_IS_LITTLE_ENDIAN     1
+ *      #define PJ_IS_BIG_ENDIAN        0
+ *    
+ * - edit pjlib/include/pj/config.h. Add new processor + * configuration in this header file, like follows: + *
+ *      ...
+ *      #elif defined (PJ_M_ALPHA) && PJ_M_ALPHA != 0
+ *      #   include 
+ *      ...
+ *    
+ * - done. Build PJLIB with: + *
+ *      $ cd $PJPROJECT/pjlib/build
+ *      $ make dep
+ *      $ make clean
+ *      $ make
+ *    
+ * + * @section porting_os_sec Porting to New Operating System Target + * + * This section will try to give you rough guideline on how to + * port PJLIB to a new target. As a sample, we give the target a name tag, + * for example xos (for X OS). + * + * @subsection new_compat_os_h_file_sec Create New Compat Header File + * + * You'll need to create a new header file + * include/pj/compat/os_xos.h. You can copy as a + * template other header file and edit it accordingly. + * + * @subsection modify_config_h_file_sec Modify config.h + * + * Then modify file include/pj/config.h to include + * this file accordingly (e.g. when macro PJ_XOS is + * defined): + * + \verbatim + ... + #elif defined(PJ_XOS) + # include + #else + #... + \endverbatim + * + * @subsection new_target_mak_file_sec Create New Global Make Config File + * + * Then you'll need to create global configuration file that + * is specific for this OS, i.e. os-xos.mak in + * $PJPROJECT/build directory. + * + * At very minimum, the file will normally need to define + * PJ_XOS=1 in the \c CFLAGS section: + * + \verbatim +# +# $PJPROJECT/build/os-xos.mak: +# +export OS_CFLAGS := $(CC_DEF)PJ_XOS=1 +export OS_CXXFLAGS := +export OS_LDFLAGS := +export OS_SOURCES := + \endverbatim + * + * + * @subsection new_target_prj_mak_file_sec Create New Project's Make Config File + * + * Then you'll need to create xos-specific configuration file + * for PJLIB. This file is also named os-xos.mak, + * but its located in pjlib/build directory. + * This file will specify source files that are specific to + * this OS to be included in the build process. + * + * Below is a sample: + \verbatim +# +# pjlib/build/os-xos.mak: +# XOS specific configuration for PJLIB. +# +export PJLIB_OBJS += os_core_xos.o \ + os_error_unix.o \ + os_time_ansi.o +export TEST_OBJS += main.o +export TARGETS = pjlib pjlib-test + \endverbatim + * + * @subsection new_target_src_sec Create and Edit Source Files + * + * You'll normally need to create at least these files: + * - os_core_xos.c: core OS specific + * functionality. + * - os_timestamp_xos.c: how to get timestamp + * in this OS. + * + * Depending on how things are done in your OS, you may need + * to create these files: + * - os_error_*.c: how to manipulate + * OS error codes. Alternatively you may use existing + * os_error_unix.c if the OS has \c errno and + * \c strerror() function. + * - ioqueue_*.c: if the OS has specific method + * to perform asynchronous I/O. Alternatively you may + * use existing ioqueue_select.c if the OS supports + * \c select() function call. + * - sock_*.c: if the OS has specific method + * to perform socket communication. Alternatively you may + * use existing sock_bsd.c if the OS supports + * BSD socket API, and edit include/pj/compat/socket.h + * file accordingly. + * + * You will also need to check various files in + * include/pj/compat/*.h, to see if they're + * compatible with your OS. + * + * @subsection new_target_build_file_sec Build The Project + * + * After basic building blocks have been created for the OS, then + * the easiest way to see which parts need to be fixed is by building + * the project and see the error messages. + * + * @subsection new_target_edit_vs_new_file_sec Editing Existing Files vs Creating New File + * + * When you encounter compatibility errors in PJLIB during porting, + * you have three options on how to fix the error: + * - edit the existing *.c file, and give it #ifdef + * switch for the new OS, or + * - edit include/pj/compat/*.h instead, or + * - create a totally new file. + * + * Basicly there is no strict rule on which approach is the best + * to use, however the following guidelines may be used: + * - if the file is expected to be completely different than + * any existing file, then perhaps you should create a completely + * new file. For example, file os_core_xxx.c will + * normally be different for each OS flavour. + * - if the difference can be localized in include/compat + * header file, and existing #ifdef switch is there, + * then preferably you should edit this include/compat + * header file. + * - if the existing *.c file has #ifdef switch, + * then you may add another #elif switch there. This + * normally is used for behaviors that are not totally + * different on each platform. + * - other than that above, use your own judgement on whether + * to edit the file or create new file etc. + */ + +#endif /* __PJ_DOXYGEN_H__ */ + diff --git a/pjlib/include/pj/errno.h b/pjlib/include/pj/errno.h new file mode 100644 index 0000000..0f96faa --- /dev/null +++ b/pjlib/include/pj/errno.h @@ -0,0 +1,587 @@ +/* $Id: errno.h 4461 2013-04-05 03:02:19Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_ERRNO_H__ +#define __PJ_ERRNO_H__ + +/** + * @file errno.h + * @brief PJLIB Error Subsystem + */ +#include +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup pj_errno Error Subsystem + * @{ + * + * The PJLIB Error Subsystem is a framework to unify all error codes + * produced by all components into a single error space, and provide + * uniform set of APIs to access them. With this framework, any error + * codes are encoded as pj_status_t value. The framework is extensible, + * application may register new error spaces to be recognized by + * the framework. + * + * @section pj_errno_retval Return Values + * + * All functions that returns @a pj_status_t returns @a PJ_SUCCESS if the + * operation was completed successfully, or non-zero value to indicate + * error. If the error came from operating system, then the native error + * code is translated/folded into PJLIB's error namespace by using + * #PJ_STATUS_FROM_OS() macro. The function will do this automatically + * before returning the error to caller. + * + * @section err_services Retrieving and Displaying Error Messages + * + * The framework provides the following APIs to retrieve and/or display + * error messages: + * + * - #pj_strerror(): this is the base API to retrieve error string + * description for the specified pj_status_t error code. + * + * - #PJ_PERROR() macro: use this macro similar to PJ_LOG to format + * an error message and display them to the log + * + * - #pj_perror(): this function is similar to PJ_PERROR() but unlike + * #PJ_PERROR(), this function will always be included in the + * link process. Due to this reason, prefer to use #PJ_PERROR() + * if the application is concerned about the executable size. + * + * Application MUST NOT pass native error codes (such as error code from + * functions like GetLastError() or errno) to PJLIB functions expecting + * @a pj_status_t. + * + * @section err_extending Extending the Error Space + * + * Application may register new error space to be recognized by the + * framework by using #pj_register_strerror(). Use the range started + * from PJ_ERRNO_START_USER to avoid conflict with existing error + * spaces. + * + */ + +/** + * Guidelines on error message length. + */ +#define PJ_ERR_MSG_SIZE 80 + +/** + * Buffer for title string of #PJ_PERROR(). + */ +#ifndef PJ_PERROR_TITLE_BUF_SIZE +# define PJ_PERROR_TITLE_BUF_SIZE 120 +#endif + + +/** + * Get the last platform error/status, folded into pj_status_t. + * @return OS dependent error code, folded into pj_status_t. + * @remark This function gets errno, or calls GetLastError() function and + * convert the code into pj_status_t with PJ_STATUS_FROM_OS. Do + * not call this for socket functions! + * @see pj_get_netos_error() + */ +PJ_DECL(pj_status_t) pj_get_os_error(void); + +/** + * Set last error. + * @param code pj_status_t + */ +PJ_DECL(void) pj_set_os_error(pj_status_t code); + +/** + * Get the last error from socket operations. + * @return Last socket error, folded into pj_status_t. + */ +PJ_DECL(pj_status_t) pj_get_netos_error(void); + +/** + * Set error code. + * @param code pj_status_t. + */ +PJ_DECL(void) pj_set_netos_error(pj_status_t code); + + +/** + * Get the error message for the specified error code. The message + * string will be NULL terminated. + * + * @param statcode The error code. + * @param buf Buffer to hold the error message string. + * @param bufsize Size of the buffer. + * + * @return The error message as NULL terminated string, + * wrapped with pj_str_t. + */ +PJ_DECL(pj_str_t) pj_strerror( pj_status_t statcode, + char *buf, pj_size_t bufsize); + +/** + * A utility macro to print error message pertaining to the specified error + * code to the log. This macro will construct the error message title + * according to the 'title_fmt' argument, and add the error string pertaining + * to the error code after the title string. A colon (':') will be added + * automatically between the title and the error string. + * + * This function is similar to pj_perror() function, but has the advantage + * that the function call can be omitted from the link process if the + * log level argument is below PJ_LOG_MAX_LEVEL threshold. + * + * Note that the title string constructed from the title_fmt will be built on + * a string buffer which size is PJ_PERROR_TITLE_BUF_SIZE, which normally is + * allocated from the stack. By default this buffer size is small (around + * 120 characters). Application MUST ensure that the constructed title string + * will not exceed this limit, since not all platforms support truncating + * the string. + * + * @see pj_perror() + * + * @param level The logging verbosity level, valid values are 0-6. Lower + * number indicates higher importance, with level zero + * indicates fatal error. Only numeral argument is + * permitted (e.g. not variable). + * @param arg Enclosed 'printf' like arguments, with the following + * arguments: + * - the sender (NULL terminated string), + * - the error code (pj_status_t) + * - the format string (title_fmt), and + * - optional variable number of arguments suitable for the + * format string. + * + * Sample: + * \verbatim + PJ_PERROR(2, (__FILE__, PJ_EBUSY, "Error making %s", "coffee")); + \endverbatim + * @hideinitializer + */ +#define PJ_PERROR(level,arg) do { \ + pj_perror_wrapper_##level(arg); \ + } while (0) + +/** + * A utility function to print error message pertaining to the specified error + * code to the log. This function will construct the error message title + * according to the 'title_fmt' argument, and add the error string pertaining + * to the error code after the title string. A colon (':') will be added + * automatically between the title and the error string. + * + * Unlike the PJ_PERROR() macro, this function takes the \a log_level argument + * as a normal argument, unlike in PJ_PERROR() where a numeral value must be + * given. However this function will always be linked to the executable, + * unlike PJ_PERROR() which can be omitted when the level is below the + * PJ_LOG_MAX_LEVEL. + * + * Note that the title string constructed from the title_fmt will be built on + * a string buffer which size is PJ_PERROR_TITLE_BUF_SIZE, which normally is + * allocated from the stack. By default this buffer size is small (around + * 120 characters). Application MUST ensure that the constructed title string + * will not exceed this limit, since not all platforms support truncating + * the string. + * + * @see PJ_PERROR() + */ +PJ_DECL(void) pj_perror(int log_level, const char *sender, pj_status_t status, + const char *title_fmt, ...); + + +/** + * Type of callback to be specified in #pj_register_strerror() + * + * @param e The error code to lookup. + * @param msg Buffer to store the error message. + * @param max Length of the buffer. + * + * @return The error string. + */ +typedef pj_str_t (*pj_error_callback)(pj_status_t e, char *msg, pj_size_t max); + + +/** + * Register strerror message handler for the specified error space. + * Application can register its own handler to supply the error message + * for the specified error code range. This handler will be called + * by #pj_strerror(). + * + * @param start_code The starting error code where the handler should + * be called to retrieve the error message. + * @param err_space The size of error space. The error code range then + * will fall in start_code to start_code+err_space-1 + * range. + * @param f The handler to be called when #pj_strerror() is + * supplied with error code that falls into this range. + * + * @return PJ_SUCCESS or the specified error code. The + * registration may fail when the error space has been + * occupied by other handler, or when there are too many + * handlers registered to PJLIB. + */ +PJ_DECL(pj_status_t) pj_register_strerror(pj_status_t start_code, + pj_status_t err_space, + pj_error_callback f); + +/** + * @hideinitializer + * Return platform os error code folded into pj_status_t code. This is + * the macro that is used throughout the library for all PJLIB's functions + * that returns error from operating system. Application may override + * this macro to reduce size (e.g. by defining it to always return + * #PJ_EUNKNOWN). + * + * Note: + * This macro MUST return non-zero value regardless whether zero is + * passed as the argument. The reason is to protect logic error when + * the operating system doesn't report error codes properly. + * + * @param os_code Platform OS error code. This value may be evaluated + * more than once. + * @return The platform os error code folded into pj_status_t. + */ +#ifndef PJ_RETURN_OS_ERROR +# define PJ_RETURN_OS_ERROR(os_code) (os_code ? \ + PJ_STATUS_FROM_OS(os_code) : -1) +#endif + + +/** + * @hideinitializer + * Fold a platform specific error into an pj_status_t code. + * + * @param e The platform os error code. + * @return pj_status_t + * @warning Macro implementation; the syserr argument may be evaluated + * multiple times. + */ +#if PJ_NATIVE_ERR_POSITIVE +# define PJ_STATUS_FROM_OS(e) (e == 0 ? PJ_SUCCESS : e + PJ_ERRNO_START_SYS) +#else +# define PJ_STATUS_FROM_OS(e) (e == 0 ? PJ_SUCCESS : PJ_ERRNO_START_SYS - e) +#endif + +/** + * @hideinitializer + * Fold an pj_status_t code back to the native platform defined error. + * + * @param e The pj_status_t folded platform os error code. + * @return pj_os_err_type + * @warning macro implementation; the statcode argument may be evaluated + * multiple times. If the statcode was not created by + * pj_get_os_error or PJ_STATUS_FROM_OS, the results are undefined. + */ +#if PJ_NATIVE_ERR_POSITIVE +# define PJ_STATUS_TO_OS(e) (e == 0 ? PJ_SUCCESS : e - PJ_ERRNO_START_SYS) +#else +# define PJ_STATUS_TO_OS(e) (e == 0 ? PJ_SUCCESS : PJ_ERRNO_START_SYS - e) +#endif + + +/** + * @defgroup pj_errnum PJLIB's Own Error Codes + * @ingroup pj_errno + * @{ + */ + +/** + * Use this macro to generate error message text for your error code, + * so that they look uniformly as the rest of the libraries. + * + * @param code The error code + * @param msg The error test. + */ +#ifndef PJ_BUILD_ERR +# define PJ_BUILD_ERR(code,msg) { code, msg " (" #code ")" } +#endif + + +/** + * @hideinitializer + * Unknown error has been reported. + */ +#define PJ_EUNKNOWN (PJ_ERRNO_START_STATUS + 1) /* 70001 */ +/** + * @hideinitializer + * The operation is pending and will be completed later. + */ +#define PJ_EPENDING (PJ_ERRNO_START_STATUS + 2) /* 70002 */ +/** + * @hideinitializer + * Too many connecting sockets. + */ +#define PJ_ETOOMANYCONN (PJ_ERRNO_START_STATUS + 3) /* 70003 */ +/** + * @hideinitializer + * Invalid argument. + */ +#define PJ_EINVAL (PJ_ERRNO_START_STATUS + 4) /* 70004 */ +/** + * @hideinitializer + * Name too long (eg. hostname too long). + */ +#define PJ_ENAMETOOLONG (PJ_ERRNO_START_STATUS + 5) /* 70005 */ +/** + * @hideinitializer + * Not found. + */ +#define PJ_ENOTFOUND (PJ_ERRNO_START_STATUS + 6) /* 70006 */ +/** + * @hideinitializer + * Not enough memory. + */ +#define PJ_ENOMEM (PJ_ERRNO_START_STATUS + 7) /* 70007 */ +/** + * @hideinitializer + * Bug detected! + */ +#define PJ_EBUG (PJ_ERRNO_START_STATUS + 8) /* 70008 */ +/** + * @hideinitializer + * Operation timed out. + */ +#define PJ_ETIMEDOUT (PJ_ERRNO_START_STATUS + 9) /* 70009 */ +/** + * @hideinitializer + * Too many objects. + */ +#define PJ_ETOOMANY (PJ_ERRNO_START_STATUS + 10)/* 70010 */ +/** + * @hideinitializer + * Object is busy. + */ +#define PJ_EBUSY (PJ_ERRNO_START_STATUS + 11)/* 70011 */ +/** + * @hideinitializer + * The specified option is not supported. + */ +#define PJ_ENOTSUP (PJ_ERRNO_START_STATUS + 12)/* 70012 */ +/** + * @hideinitializer + * Invalid operation. + */ +#define PJ_EINVALIDOP (PJ_ERRNO_START_STATUS + 13)/* 70013 */ +/** + * @hideinitializer + * Operation is cancelled. + */ +#define PJ_ECANCELLED (PJ_ERRNO_START_STATUS + 14)/* 70014 */ +/** + * @hideinitializer + * Object already exists. + */ +#define PJ_EEXISTS (PJ_ERRNO_START_STATUS + 15)/* 70015 */ +/** + * @hideinitializer + * End of file. + */ +#define PJ_EEOF (PJ_ERRNO_START_STATUS + 16)/* 70016 */ +/** + * @hideinitializer + * Size is too big. + */ +#define PJ_ETOOBIG (PJ_ERRNO_START_STATUS + 17)/* 70017 */ +/** + * @hideinitializer + * Error in gethostbyname(). This is a generic error returned when + * gethostbyname() has returned an error. + */ +#define PJ_ERESOLVE (PJ_ERRNO_START_STATUS + 18)/* 70018 */ +/** + * @hideinitializer + * Size is too small. + */ +#define PJ_ETOOSMALL (PJ_ERRNO_START_STATUS + 19)/* 70019 */ +/** + * @hideinitializer + * Ignored + */ +#define PJ_EIGNORED (PJ_ERRNO_START_STATUS + 20)/* 70020 */ +/** + * @hideinitializer + * IPv6 is not supported + */ +#define PJ_EIPV6NOTSUP (PJ_ERRNO_START_STATUS + 21)/* 70021 */ +/** + * @hideinitializer + * Unsupported address family + */ +#define PJ_EAFNOTSUP (PJ_ERRNO_START_STATUS + 22)/* 70022 */ +/** + * @hideinitializer + * Object no longer exists + */ +#define PJ_EGONE (PJ_ERRNO_START_STATUS + 23)/* 70023 */ +/** + * @hideinitializer + * Socket is stopped + */ +#define PJ_ESOCKETSTOP (PJ_ERRNO_START_STATUS + 24)/* 70024 */ + +/** @} */ /* pj_errnum */ + +/** @} */ /* pj_errno */ + + +/** + * PJ_ERRNO_START is where PJLIB specific error values start. + */ +#define PJ_ERRNO_START 20000 + +/** + * PJ_ERRNO_SPACE_SIZE is the maximum number of errors in one of + * the error/status range below. + */ +#define PJ_ERRNO_SPACE_SIZE 50000 + +/** + * PJ_ERRNO_START_STATUS is where PJLIB specific status codes start. + * Effectively the error in this class would be 70000 - 119000. + */ +#define PJ_ERRNO_START_STATUS (PJ_ERRNO_START + PJ_ERRNO_SPACE_SIZE) + +/** + * PJ_ERRNO_START_SYS converts platform specific error codes into + * pj_status_t values. + * Effectively the error in this class would be 120000 - 169000. + */ +#define PJ_ERRNO_START_SYS (PJ_ERRNO_START_STATUS + PJ_ERRNO_SPACE_SIZE) + +/** + * PJ_ERRNO_START_USER are reserved for applications that use error + * codes along with PJLIB codes. + * Effectively the error in this class would be 170000 - 219000. + */ +#define PJ_ERRNO_START_USER (PJ_ERRNO_START_SYS + PJ_ERRNO_SPACE_SIZE) + + +/* + * Below are list of error spaces that have been taken so far: + * - PJSIP_ERRNO_START (PJ_ERRNO_START_USER) + * - PJMEDIA_ERRNO_START (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE) + * - PJSIP_SIMPLE_ERRNO_START (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*2) + * - PJLIB_UTIL_ERRNO_START (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*3) + * - PJNATH_ERRNO_START (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*4) + * - PJMEDIA_AUDIODEV_ERRNO_START (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*5) + * - PJ_SSL_ERRNO_START (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*6) + * - PJMEDIA_VIDEODEV_ERRNO_START (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*7) + */ + +/* Internal */ +void pj_errno_clear_handlers(void); + + +/****** Internal for PJ_PERROR *******/ + +/** + * @def pj_perror_wrapper_1(arg) + * Internal function to write log with verbosity 1. Will evaluate to + * empty expression if PJ_LOG_MAX_LEVEL is below 1. + * @param arg Log expression. + */ +#if PJ_LOG_MAX_LEVEL >= 1 + #define pj_perror_wrapper_1(arg) pj_perror_1 arg + /** Internal function. */ + PJ_DECL(void) pj_perror_1(const char *sender, pj_status_t status, + const char *title_fmt, ...); +#else + #define pj_perror_wrapper_1(arg) +#endif + +/** + * @def pj_perror_wrapper_2(arg) + * Internal function to write log with verbosity 2. Will evaluate to + * empty expression if PJ_LOG_MAX_LEVEL is below 2. + * @param arg Log expression. + */ +#if PJ_LOG_MAX_LEVEL >= 2 + #define pj_perror_wrapper_2(arg) pj_perror_2 arg + /** Internal function. */ + PJ_DECL(void) pj_perror_2(const char *sender, pj_status_t status, + const char *title_fmt, ...); +#else + #define pj_perror_wrapper_2(arg) +#endif + +/** + * @def pj_perror_wrapper_3(arg) + * Internal function to write log with verbosity 3. Will evaluate to + * empty expression if PJ_LOG_MAX_LEVEL is below 3. + * @param arg Log expression. + */ +#if PJ_LOG_MAX_LEVEL >= 3 + #define pj_perror_wrapper_3(arg) pj_perror_3 arg + /** Internal function. */ + PJ_DECL(void) pj_perror_3(const char *sender, pj_status_t status, + const char *title_fmt, ...); +#else + #define pj_perror_wrapper_3(arg) +#endif + +/** + * @def pj_perror_wrapper_4(arg) + * Internal function to write log with verbosity 4. Will evaluate to + * empty expression if PJ_LOG_MAX_LEVEL is below 4. + * @param arg Log expression. + */ +#if PJ_LOG_MAX_LEVEL >= 4 + #define pj_perror_wrapper_4(arg) pj_perror_4 arg + /** Internal function. */ + PJ_DECL(void) pj_perror_4(const char *sender, pj_status_t status, + const char *title_fmt, ...); +#else + #define pj_perror_wrapper_4(arg) +#endif + +/** + * @def pj_perror_wrapper_5(arg) + * Internal function to write log with verbosity 5. Will evaluate to + * empty expression if PJ_LOG_MAX_LEVEL is below 5. + * @param arg Log expression. + */ +#if PJ_LOG_MAX_LEVEL >= 5 + #define pj_perror_wrapper_5(arg) pj_perror_5 arg + /** Internal function. */ + PJ_DECL(void) pj_perror_5(const char *sender, pj_status_t status, + const char *title_fmt, ...); +#else + #define pj_perror_wrapper_5(arg) +#endif + +/** + * @def pj_perror_wrapper_6(arg) + * Internal function to write log with verbosity 6. Will evaluate to + * empty expression if PJ_LOG_MAX_LEVEL is below 6. + * @param arg Log expression. + */ +#if PJ_LOG_MAX_LEVEL >= 6 + #define pj_perror_wrapper_6(arg) pj_perror_6 arg + /** Internal function. */ + PJ_DECL(void) pj_perror_6(const char *sender, pj_status_t status, + const char *title_fmt, ...); +#else + #define pj_perror_wrapper_6(arg) +#endif + + + + +PJ_END_DECL + +#endif /* __PJ_ERRNO_H__ */ + diff --git a/pjlib/include/pj/except.h b/pjlib/include/pj/except.h new file mode 100644 index 0000000..d87dd8f --- /dev/null +++ b/pjlib/include/pj/except.h @@ -0,0 +1,421 @@ +/* $Id: except.h 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_EXCEPTION_H__ +#define __PJ_EXCEPTION_H__ + +/** + * @file except.h + * @brief Exception Handling in C. + */ + +#include +#include +#include + + +PJ_BEGIN_DECL + + +/** + * @defgroup PJ_EXCEPT Exception Handling + * @ingroup PJ_MISC + * @{ + * + * \section pj_except_sample_sec Quick Example + * + * For the impatient, take a look at some examples: + * - @ref page_pjlib_samples_except_c + * - @ref page_pjlib_exception_test + * + * \section pj_except_except Exception Handling + * + * This module provides exception handling syntactically similar to C++ in + * C language. In Win32 systems, it uses Windows Structured Exception + * Handling (SEH) if macro PJ_EXCEPTION_USE_WIN32_SEH is non-zero. + * Otherwise it will use setjmp() and longjmp(). + * + * On some platforms where setjmp/longjmp is not available, setjmp/longjmp + * implementation is provided. See for compatibility. + * + * The exception handling mechanism is completely thread safe, so the exception + * thrown by one thread will not interfere with other thread. + * + * The exception handling constructs are similar to C++. The blocks will be + * constructed similar to the following sample: + * + * \verbatim + #define NO_MEMORY 1 + #define SYNTAX_ERROR 2 + + int sample1() + { + PJ_USE_EXCEPTION; // declare local exception stack. + + PJ_TRY { + ...// do something.. + } + PJ_CATCH(NO_MEMORY) { + ... // handle exception 1 + } + PJ_END; + } + + int sample2() + { + PJ_USE_EXCEPTION; // declare local exception stack. + + PJ_TRY { + ...// do something.. + } + PJ_CATCH_ANY { + if (PJ_GET_EXCEPTION() == NO_MEMORY) + ...; // handle no memory situation + else if (PJ_GET_EXCEPTION() == SYNTAX_ERROR) + ...; // handle syntax error + } + PJ_END; + } + \endverbatim + * + * The above sample uses hard coded exception ID. It is @b strongly + * recommended that applications request a unique exception ID instead + * of hard coded value like above. + * + * \section pj_except_reg Exception ID Allocation + * + * To ensure that exception ID (number) are used consistently and to + * prevent ID collisions in an application, it is strongly suggested that + * applications allocate an exception ID for each possible exception + * type. As a bonus of this process, the application can identify + * the name of the exception when the particular exception is thrown. + * + * Exception ID management are performed with the following APIs: + * - #pj_exception_id_alloc(). + * - #pj_exception_id_free(). + * - #pj_exception_id_name(). + * + * + * PJLIB itself automatically allocates one exception id, i.e. + * #PJ_NO_MEMORY_EXCEPTION which is declared in . This exception + * ID is raised by default pool policy when it fails to allocate memory. + * + * CAVEATS: + * - unlike C++ exception, the scheme here won't call destructors of local + * objects if exception is thrown. Care must be taken when a function + * hold some resorce such as pool or mutex etc. + * - You CAN NOT make nested exception in one single function without using + * a nested PJ_USE_EXCEPTION. Samples: + \verbatim + void wrong_sample() + { + PJ_USE_EXCEPTION; + + PJ_TRY { + // Do stuffs + ... + } + PJ_CATCH_ANY { + // Do other stuffs + .... + .. + + // The following block is WRONG! You MUST declare + // PJ_USE_EXCEPTION once again in this block. + PJ_TRY { + .. + } + PJ_CATCH_ANY { + .. + } + PJ_END; + } + PJ_END; + } + + \endverbatim + + * - You MUST NOT exit the function inside the PJ_TRY block. The correct way + * is to return from the function after PJ_END block is executed. + * For example, the following code will yield crash not in this code, + * but rather in the subsequent execution of PJ_TRY block: + \verbatim + void wrong_sample() + { + PJ_USE_EXCEPTION; + + PJ_TRY { + // do some stuffs + ... + return; <======= DO NOT DO THIS! + } + PJ_CATCH_ANY { + } + PJ_END; + } + \endverbatim + + * - You can not provide more than PJ_CATCH or PJ_CATCH_ANY nor use PJ_CATCH + * and PJ_CATCH_ANY for a single PJ_TRY. + * - Exceptions will always be caught by the first handler (unlike C++ where + * exception is only caught if the type matches. + + * \section PJ_EX_KEYWORDS Keywords + * + * \subsection PJ_THROW PJ_THROW(expression) + * Throw an exception. The expression thrown is an integer as the result of + * the \a expression. This keyword can be specified anywhere within the + * program. + * + * \subsection PJ_USE_EXCEPTION PJ_USE_EXCEPTION + * Specify this in the variable definition section of the function block + * (or any blocks) to specify that the block has \a PJ_TRY/PJ_CATCH exception + * block. + * Actually, this is just a macro to declare local variable which is used to + * push the exception state to the exception stack. + * Note: you must specify PJ_USE_EXCEPTION as the last statement in the + * local variable declarations, since it may evaluate to nothing. + * + * \subsection PJ_TRY PJ_TRY + * The \a PJ_TRY keyword is typically followed by a block. If an exception is + * thrown in this block, then the execution will resume to the \a PJ_CATCH + * handler. + * + * \subsection PJ_CATCH PJ_CATCH(expression) + * The \a PJ_CATCH is normally followed by a block. This block will be executed + * if the exception being thrown is equal to the expression specified in the + * \a PJ_CATCH. + * + * \subsection PJ_CATCH_ANY PJ_CATCH_ANY + * The \a PJ_CATCH is normally followed by a block. This block will be executed + * if any exception was raised in the TRY block. + * + * \subsection PJ_END PJ_END + * Specify this keyword to mark the end of \a PJ_TRY / \a PJ_CATCH blocks. + * + * \subsection PJ_GET_EXCEPTION PJ_GET_EXCEPTION(void) + * Get the last exception thrown. This macro is normally called inside the + * \a PJ_CATCH or \a PJ_CATCH_ANY block, altough it can be used anywhere where + * the \a PJ_USE_EXCEPTION definition is in scope. + * + * + * \section pj_except_examples_sec Examples + * + * For some examples on how to use the exception construct, please see: + * - @ref page_pjlib_samples_except_c + * - @ref page_pjlib_exception_test + */ + +/** + * Allocate a unique exception id. + * Applications don't have to allocate a unique exception ID before using + * the exception construct. However, by doing so it ensures that there is + * no collisions of exception ID. + * + * As a bonus, when exception number is acquired through this function, + * the library can assign name to the exception (only if + * PJ_HAS_EXCEPTION_NAMES is enabled (default is yes)) and find out the + * exception name when it catches an exception. + * + * @param name Name to be associated with the exception ID. + * @param id Pointer to receive the ID. + * + * @return PJ_SUCCESS on success or PJ_ETOOMANY if the library + * is running out out ids. + */ +PJ_DECL(pj_status_t) pj_exception_id_alloc(const char *name, + pj_exception_id_t *id); + +/** + * Free an exception id. + * + * @param id The exception ID. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_exception_id_free(pj_exception_id_t id); + +/** + * Retrieve name associated with the exception id. + * + * @param id The exception ID. + * + * @return The name associated with the specified ID. + */ +PJ_DECL(const char*) pj_exception_id_name(pj_exception_id_t id); + + +/** @} */ + +#if defined(PJ_EXCEPTION_USE_WIN32_SEH) && PJ_EXCEPTION_USE_WIN32_SEH != 0 +/***************************************************************************** + ** + ** IMPLEMENTATION OF EXCEPTION USING WINDOWS SEH + ** + ****************************************************************************/ +#define WIN32_LEAN_AND_MEAN +#include + +PJ_IDECL_NO_RETURN(void) +pj_throw_exception_(pj_exception_id_t id) PJ_ATTR_NORETURN +{ + RaiseException(id,1,0,NULL); +} + +#define PJ_USE_EXCEPTION +#define PJ_TRY __try +#define PJ_CATCH(id) __except(GetExceptionCode()==id ? \ + EXCEPTION_EXECUTE_HANDLER : \ + EXCEPTION_CONTINUE_SEARCH) +#define PJ_CATCH_ANY __except(EXCEPTION_EXECUTE_HANDLER) +#define PJ_END +#define PJ_THROW(id) pj_throw_exception_(id) +#define PJ_GET_EXCEPTION() GetExceptionCode() + + +#elif defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0 +/***************************************************************************** + ** + ** IMPLEMENTATION OF EXCEPTION USING SYMBIAN LEAVE/TRAP FRAMEWORK + ** + ****************************************************************************/ + +/* To include this file, the source file must be compiled as + * C++ code! + */ +#ifdef __cplusplus + +class TPjException +{ +public: + int code_; +}; + +#define PJ_USE_EXCEPTION +#define PJ_TRY try +//#define PJ_CATCH(id) +#define PJ_CATCH_ANY catch (const TPjException & pj_excp_) +#define PJ_END +#define PJ_THROW(x_id) do { TPjException e; e.code_=x_id; throw e;} \ + while (0) +#define PJ_GET_EXCEPTION() pj_excp_.code_ + +#else + +#define PJ_USE_EXCEPTION +#define PJ_TRY +#define PJ_CATCH_ANY if (0) +#define PJ_END +#define PJ_THROW(x_id) do { PJ_LOG(1,("PJ_THROW"," error code = %d",x_id)); } while (0) +#define PJ_GET_EXCEPTION() 0 + +#endif /* __cplusplus */ + +#else +/***************************************************************************** + ** + ** IMPLEMENTATION OF EXCEPTION USING GENERIC SETJMP/LONGJMP + ** + ****************************************************************************/ + +/** + * This structure (which should be invisible to user) manages the TRY handler + * stack. + */ +struct pj_exception_state_t +{ + pj_jmp_buf state; /**< jmp_buf. */ + struct pj_exception_state_t *prev; /**< Previous state in the list. */ +}; + +/** + * Throw exception. + * @param id Exception Id. + */ +PJ_DECL_NO_RETURN(void) +pj_throw_exception_(pj_exception_id_t id) PJ_ATTR_NORETURN; + +/** + * Push exception handler. + */ +PJ_DECL(void) pj_push_exception_handler_(struct pj_exception_state_t *rec); + +/** + * Pop exception handler. + */ +PJ_DECL(void) pj_pop_exception_handler_(struct pj_exception_state_t *rec); + +/** + * Declare that the function will use exception. + * @hideinitializer + */ +#define PJ_USE_EXCEPTION struct pj_exception_state_t pj_x_except__; int pj_x_code__ + +/** + * Start exception specification block. + * @hideinitializer + */ +#define PJ_TRY if (1) { \ + pj_push_exception_handler_(&pj_x_except__); \ + pj_x_code__ = pj_setjmp(pj_x_except__.state); \ + if (pj_x_code__ == 0) +/** + * Catch the specified exception Id. + * @param id The exception number to catch. + * @hideinitializer + */ +#define PJ_CATCH(id) else if (pj_x_code__ == (id)) + +/** + * Catch any exception number. + * @hideinitializer + */ +#define PJ_CATCH_ANY else + +/** + * End of exception specification block. + * @hideinitializer + */ +#define PJ_END pj_pop_exception_handler_(&pj_x_except__); \ + } else {} + +/** + * Throw exception. + * @param exception_id The exception number. + * @hideinitializer + */ +#define PJ_THROW(exception_id) pj_throw_exception_(exception_id) + +/** + * Get current exception. + * @return Current exception code. + * @hideinitializer + */ +#define PJ_GET_EXCEPTION() (pj_x_code__) + +#endif /* PJ_EXCEPTION_USE_WIN32_SEH */ + + +PJ_END_DECL + + + +#endif /* __PJ_EXCEPTION_H__ */ + + diff --git a/pjlib/include/pj/fifobuf.h b/pjlib/include/pj/fifobuf.h new file mode 100644 index 0000000..37002b0 --- /dev/null +++ b/pjlib/include/pj/fifobuf.h @@ -0,0 +1,44 @@ +/* $Id: fifobuf.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_FIFOBUF_H__ +#define __PJ_FIFOBUF_H__ + +#include + +PJ_BEGIN_DECL + +typedef struct pj_fifobuf_t pj_fifobuf_t; +struct pj_fifobuf_t +{ + char *first, *last; + char *ubegin, *uend; + int full; +}; + +PJ_DECL(void) pj_fifobuf_init (pj_fifobuf_t *fb, void *buffer, unsigned size); +PJ_DECL(unsigned) pj_fifobuf_max_size (pj_fifobuf_t *fb); +PJ_DECL(void*) pj_fifobuf_alloc (pj_fifobuf_t *fb, unsigned size); +PJ_DECL(pj_status_t) pj_fifobuf_unalloc (pj_fifobuf_t *fb, void *buf); +PJ_DECL(pj_status_t) pj_fifobuf_free (pj_fifobuf_t *fb, void *buf); + +PJ_END_DECL + +#endif /* __PJ_FIFOBUF_H__ */ + diff --git a/pjlib/include/pj/file_access.h b/pjlib/include/pj/file_access.h new file mode 100644 index 0000000..09406b1 --- /dev/null +++ b/pjlib/include/pj/file_access.h @@ -0,0 +1,109 @@ +/* $Id: file_access.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_FILE_ACCESS_H__ +#define __PJ_FILE_ACCESS_H__ + +/** + * @file file_access.h + * @brief File manipulation and access. + */ +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_FILE_ACCESS File Access + * @ingroup PJ_IO + * @{ + * + */ + +/** + * This structure describes file information, to be obtained by + * calling #pj_file_getstat(). The time information in this structure + * is in local time. + */ +typedef struct pj_file_stat +{ + pj_off_t size; /**< Total file size. */ + pj_time_val atime; /**< Time of last access. */ + pj_time_val mtime; /**< Time of last modification. */ + pj_time_val ctime; /**< Time of last creation. */ +} pj_file_stat; + + +/** + * Returns non-zero if the specified file exists. + * + * @param filename The file name. + * + * @return Non-zero if the file exists. + */ +PJ_DECL(pj_bool_t) pj_file_exists(const char *filename); + +/** + * Returns the size of the file. + * + * @param filename The file name. + * + * @return The file size in bytes or -1 on error. + */ +PJ_DECL(pj_off_t) pj_file_size(const char *filename); + +/** + * Delete a file. + * + * @param filename The filename. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_file_delete(const char *filename); + +/** + * Move a \c oldname to \c newname. If \c newname already exists, + * it will be overwritten. + * + * @param oldname The file to rename. + * @param newname New filename to assign. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_file_move( const char *oldname, + const char *newname); + + +/** + * Return information about the specified file. The time information in + * the \c stat structure will be in local time. + * + * @param filename The filename. + * @param stat Pointer to variable to receive file information. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_file_getstat(const char *filename, pj_file_stat *stat); + + +/** @} */ + +PJ_END_DECL + + +#endif /* __PJ_FILE_ACCESS_H__ */ diff --git a/pjlib/include/pj/file_io.h b/pjlib/include/pj/file_io.h new file mode 100644 index 0000000..31b7cb4 --- /dev/null +++ b/pjlib/include/pj/file_io.h @@ -0,0 +1,183 @@ +/* $Id: file_io.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_FILE_IO_H__ +#define __PJ_FILE_IO_H__ + +/** + * @file file_io.h + * @brief Simple file I/O abstraction. + */ +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_FILE_IO File I/O + * @ingroup PJ_IO + * @{ + * + * This file contains functionalities to perform file I/O. The file + * I/O can be implemented with various back-end, either using native + * file API or ANSI stream. + * + * @section pj_file_size_limit_sec Size Limits + * + * There may be limitation on the size that can be handled by the + * #pj_file_setpos() or #pj_file_getpos() functions. The API itself + * uses 64-bit integer for the file offset/position (where available); + * however some backends (such as ANSI) may only support signed 32-bit + * offset resolution. + * + * Reading and writing operation uses signed 32-bit integer to indicate + * the size. + * + * + */ + +/** + * These enumerations are used when opening file. Values PJ_O_RDONLY, + * PJ_O_WRONLY, and PJ_O_RDWR are mutually exclusive. Value PJ_O_APPEND + * can only be used when the file is opened for writing. + */ +enum pj_file_access +{ + PJ_O_RDONLY = 0x1101, /**< Open file for reading. */ + PJ_O_WRONLY = 0x1102, /**< Open file for writing. */ + PJ_O_RDWR = 0x1103, /**< Open file for reading and writing. + File will be truncated. */ + PJ_O_APPEND = 0x1108 /**< Append to existing file. */ +}; + +/** + * The seek directive when setting the file position with #pj_file_setpos. + */ +enum pj_file_seek_type +{ + PJ_SEEK_SET = 0x1201, /**< Offset from beginning of the file. */ + PJ_SEEK_CUR = 0x1202, /**< Offset from current position. */ + PJ_SEEK_END = 0x1203 /**< Size of the file plus offset. */ +}; + +/** + * Open the file as specified in \c pathname with the specified + * mode, and return the handle in \c fd. All files will be opened + * as binary. + * + * @param pool Pool to allocate memory for the new file descriptor. + * @param pathname The file name to open. + * @param flags Open flags, which is bitmask combination of + * #pj_file_access enum. The flag must be either + * PJ_O_RDONLY, PJ_O_WRONLY, or PJ_O_RDWR. When file + * writing is specified, existing file will be + * truncated unless PJ_O_APPEND is specified. + * @param fd The returned descriptor. + * + * @return PJ_SUCCESS or the appropriate error code on error. + */ +PJ_DECL(pj_status_t) pj_file_open(pj_pool_t *pool, + const char *pathname, + unsigned flags, + pj_oshandle_t *fd); + +/** + * Close an opened file descriptor. + * + * @param fd The file descriptor. + * + * @return PJ_SUCCESS or the appropriate error code on error. + */ +PJ_DECL(pj_status_t) pj_file_close(pj_oshandle_t fd); + +/** + * Write data with the specified size to an opened file. + * + * @param fd The file descriptor. + * @param data Data to be written to the file. + * @param size On input, specifies the size of data to be written. + * On return, it contains the number of data actually + * written to the file. + * + * @return PJ_SUCCESS or the appropriate error code on error. + */ +PJ_DECL(pj_status_t) pj_file_write(pj_oshandle_t fd, + const void *data, + pj_ssize_t *size); + +/** + * Read data from the specified file. When end-of-file condition is set, + * this function will return PJ_SUCCESS but the size will contain zero. + * + * @param fd The file descriptor. + * @param data Pointer to buffer to receive the data. + * @param size On input, specifies the maximum number of data to + * read from the file. On output, it contains the size + * of data actually read from the file. It will contain + * zero when EOF occurs. + * + * @return PJ_SUCCESS or the appropriate error code on error. + * When EOF occurs, the return is PJ_SUCCESS but size + * will report zero. + */ +PJ_DECL(pj_status_t) pj_file_read(pj_oshandle_t fd, + void *data, + pj_ssize_t *size); + +/** + * Set file position to new offset according to directive \c whence. + * + * @param fd The file descriptor. + * @param offset The new file position to set. + * @param whence The directive. + * + * @return PJ_SUCCESS or the appropriate error code on error. + */ +PJ_DECL(pj_status_t) pj_file_setpos(pj_oshandle_t fd, + pj_off_t offset, + enum pj_file_seek_type whence); + +/** + * Get current file position. + * + * @param fd The file descriptor. + * @param pos On return contains the file position as measured + * from the beginning of the file. + * + * @return PJ_SUCCESS or the appropriate error code on error. + */ +PJ_DECL(pj_status_t) pj_file_getpos(pj_oshandle_t fd, + pj_off_t *pos); + +/** + * Flush file buffers. + * + * @param fd The file descriptor. + * + * @return PJ_SUCCESS or the appropriate error code on error. + */ +PJ_DECL(pj_status_t) pj_file_flush(pj_oshandle_t fd); + + +/** @} */ + + +PJ_END_DECL + +#endif /* __PJ_FILE_IO_H__ */ + diff --git a/pjlib/include/pj/guid.h b/pjlib/include/pj/guid.h new file mode 100644 index 0000000..2a76af6 --- /dev/null +++ b/pjlib/include/pj/guid.h @@ -0,0 +1,120 @@ +/* $Id: guid.h 4208 2012-07-18 07:52:33Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_GUID_H__ +#define __PJ_GUID_H__ + + +/** + * @file guid.h + * @brief GUID Globally Unique Identifier. + */ +#include + + +PJ_BEGIN_DECL + + +/** + * @defgroup PJ_DS Data Structure. + */ +/** + * @defgroup PJ_GUID Globally Unique Identifier + * @ingroup PJ_DS + * @{ + * + * This module provides API to create string that is globally unique. + * If application doesn't require that strong requirement, it can just + * use #pj_create_random_string() instead. + */ + + +/** + * PJ_GUID_STRING_LENGTH specifies length of GUID string. The value is + * dependent on the algorithm used internally to generate the GUID string. + * If real GUID generator is used, then the length will be between 32 and + * 36 bytes. Application should not assume which algorithm will + * be used by GUID generator. + * + * Regardless of the actual length of the GUID, it will not exceed + * PJ_GUID_MAX_LENGTH characters. + * + * @see pj_GUID_STRING_LENGTH() + * @see PJ_GUID_MAX_LENGTH + */ +PJ_DECL_DATA(const unsigned) PJ_GUID_STRING_LENGTH; + +/** + * Get #PJ_GUID_STRING_LENGTH constant. + */ +PJ_DECL(unsigned) pj_GUID_STRING_LENGTH(void); + +/** + * PJ_GUID_MAX_LENGTH specifies the maximum length of GUID string, + * regardless of which algorithm to use. + */ +#define PJ_GUID_MAX_LENGTH 36 + +/** + * Create a globally unique string, which length is PJ_GUID_STRING_LENGTH + * characters. Caller is responsible for preallocating the storage used + * in the string. + * + * @param str The string to store the result. + * + * @return The string. + */ +PJ_DECL(pj_str_t*) pj_generate_unique_string(pj_str_t *str); + +/** + * Create a globally unique string in lowercase, which length is + * PJ_GUID_STRING_LENGTH characters. Caller is responsible for preallocating + * the storage used in the string. + * + * @param str The string to store the result. + * + * @return The string. + */ +PJ_DECL(pj_str_t*) pj_generate_unique_string_lower(pj_str_t *str); + +/** + * Generate a unique string. + * + * @param pool Pool to allocate memory from. + * @param str The string. + */ +PJ_DECL(void) pj_create_unique_string(pj_pool_t *pool, pj_str_t *str); + +/** + * Generate a unique string in lowercase. + * + * @param pool Pool to allocate memory from. + * @param str The string. + */ +PJ_DECL(void) pj_create_unique_string_lower(pj_pool_t *pool, pj_str_t *str); + + +/** + * @} + */ + +PJ_END_DECL + +#endif/* __PJ_GUID_H__ */ + diff --git a/pjlib/include/pj/hash.h b/pjlib/include/pj/hash.h new file mode 100644 index 0000000..5d9a2d9 --- /dev/null +++ b/pjlib/include/pj/hash.h @@ -0,0 +1,254 @@ +/* $Id: hash.h 4208 2012-07-18 07:52:33Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_HASH_H__ +#define __PJ_HASH_H__ + +/** + * @file hash.h + * @brief Hash Table. + */ + +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_HASH Hash Table + * @ingroup PJ_DS + * @{ + * A hash table is a dictionary in which keys are mapped to array positions by + * hash functions. Having the keys of more than one item map to the same + * position is called a collision. In this library, we will chain the nodes + * that have the same key in a list. + */ + +/** + * If this constant is used as keylen, then the key is interpreted as + * NULL terminated string. + */ +#define PJ_HASH_KEY_STRING ((unsigned)-1) + +/** + * This indicates the size of of each hash entry. + */ +#define PJ_HASH_ENTRY_BUF_SIZE (3*sizeof(void*) + 2*sizeof(pj_uint32_t)) + +/** + * Type declaration for entry buffer, used by #pj_hash_set_np() + */ +typedef void *pj_hash_entry_buf[(PJ_HASH_ENTRY_BUF_SIZE+sizeof(void*)-1)/(sizeof(void*))]; + +/** + * This is the function that is used by the hash table to calculate hash value + * of the specified key. + * + * @param hval the initial hash value, or zero. + * @param key the key to calculate. + * @param keylen the length of the key, or PJ_HASH_KEY_STRING to treat + * the key as null terminated string. + * + * @return the hash value. + */ +PJ_DECL(pj_uint32_t) pj_hash_calc(pj_uint32_t hval, + const void *key, unsigned keylen); + + +/** + * Convert the key to lowercase and calculate the hash value. The resulting + * string is stored in \c result. + * + * @param hval The initial hash value, normally zero. + * @param result Optional. Buffer to store the result, which must be enough + * to hold the string. + * @param key The input key to be converted and calculated. + * + * @return The hash value. + */ +PJ_DECL(pj_uint32_t) pj_hash_calc_tolower(pj_uint32_t hval, + char *result, + const pj_str_t *key); + +/** + * Create a hash table with the specified 'bucket' size. + * + * @param pool the pool from which the hash table will be allocated from. + * @param size the bucket size, which will be round-up to the nearest 2^n-1 + * + * @return the hash table. + */ +PJ_DECL(pj_hash_table_t*) pj_hash_create(pj_pool_t *pool, unsigned size); + + +/** + * Get the value associated with the specified key. + * + * @param ht the hash table. + * @param key the key to look for. + * @param keylen the length of the key, or PJ_HASH_KEY_STRING to use the + * string length of the key. + * @param hval if this argument is not NULL and the value is not zero, + * the value will be used as the computed hash value. If + * the argument is not NULL and the value is zero, it will + * be filled with the computed hash upon return. + * + * @return the value associated with the key, or NULL if the key is not found. + */ +PJ_DECL(void *) pj_hash_get( pj_hash_table_t *ht, + const void *key, unsigned keylen, + pj_uint32_t *hval ); + + +/** + * Variant of #pj_hash_get() with the key being converted to lowercase when + * calculating the hash value. + * + * @see pj_hash_get() + */ +PJ_DECL(void *) pj_hash_get_lower( pj_hash_table_t *ht, + const void *key, unsigned keylen, + pj_uint32_t *hval ); + + +/** + * Associate/disassociate a value with the specified key. If value is not + * NULL and entry already exists, the entry's value will be overwritten. + * If value is not NULL and entry does not exist, a new one will be created + * with the specified pool. Otherwise if value is NULL, entry will be + * deleted if it exists. + * + * @param pool the pool to allocate the new entry if a new entry has to be + * created. + * @param ht the hash table. + * @param key the key. If pool is not specified, the key MUST point to + * buffer that remains valid for the duration of the entry. + * @param keylen the length of the key, or PJ_HASH_KEY_STRING to use the + * string length of the key. + * @param hval if the value is not zero, then the hash table will use + * this value to search the entry's index, otherwise it will + * compute the key. This value can be obtained when calling + * #pj_hash_get(). + * @param value value to be associated, or NULL to delete the entry with + * the specified key. + */ +PJ_DECL(void) pj_hash_set( pj_pool_t *pool, pj_hash_table_t *ht, + const void *key, unsigned keylen, pj_uint32_t hval, + void *value ); + + +/** + * Variant of #pj_hash_set() with the key being converted to lowercase when + * calculating the hash value. + * + * @see pj_hash_set() + */ +PJ_DECL(void) pj_hash_set_lower( pj_pool_t *pool, pj_hash_table_t *ht, + const void *key, unsigned keylen, + pj_uint32_t hval, void *value ); + + +/** + * Associate/disassociate a value with the specified key. This function works + * like #pj_hash_set(), except that it doesn't use pool (hence the np -- no + * pool suffix). If new entry needs to be allocated, it will use the entry_buf. + * + * @param ht the hash table. + * @param key the key. + * @param keylen the length of the key, or PJ_HASH_KEY_STRING to use the + * string length of the key. + * @param hval if the value is not zero, then the hash table will use + * this value to search the entry's index, otherwise it will + * compute the key. This value can be obtained when calling + * #pj_hash_get(). + * @param entry_buf Buffer which will be used for the new entry, when one needs + * to be created. + * @param value value to be associated, or NULL to delete the entry with + * the specified key. + */ +PJ_DECL(void) pj_hash_set_np(pj_hash_table_t *ht, + const void *key, unsigned keylen, + pj_uint32_t hval, pj_hash_entry_buf entry_buf, + void *value); + +/** + * Variant of #pj_hash_set_np() with the key being converted to lowercase + * when calculating the hash value. + * + * @see pj_hash_set_np() + */ +PJ_DECL(void) pj_hash_set_np_lower(pj_hash_table_t *ht, + const void *key, unsigned keylen, + pj_uint32_t hval, + pj_hash_entry_buf entry_buf, + void *value); + +/** + * Get the total number of entries in the hash table. + * + * @param ht the hash table. + * + * @return the number of entries in the hash table. + */ +PJ_DECL(unsigned) pj_hash_count( pj_hash_table_t *ht ); + + +/** + * Get the iterator to the first element in the hash table. + * + * @param ht the hash table. + * @param it the iterator for iterating hash elements. + * + * @return the iterator to the hash element, or NULL if no element presents. + */ +PJ_DECL(pj_hash_iterator_t*) pj_hash_first( pj_hash_table_t *ht, + pj_hash_iterator_t *it ); + + +/** + * Get the next element from the iterator. + * + * @param ht the hash table. + * @param it the hash iterator. + * + * @return the next iterator, or NULL if there's no more element. + */ +PJ_DECL(pj_hash_iterator_t*) pj_hash_next( pj_hash_table_t *ht, + pj_hash_iterator_t *it ); + +/** + * Get the value associated with a hash iterator. + * + * @param ht the hash table. + * @param it the hash iterator. + * + * @return the value associated with the current element in iterator. + */ +PJ_DECL(void*) pj_hash_this( pj_hash_table_t *ht, + pj_hash_iterator_t *it ); + + +/** + * @} + */ + +PJ_END_DECL + +#endif + + diff --git a/pjlib/include/pj/ioqueue.h b/pjlib/include/pj/ioqueue.h new file mode 100644 index 0000000..ced8804 --- /dev/null +++ b/pjlib/include/pj/ioqueue.h @@ -0,0 +1,818 @@ +/* $Id: ioqueue.h 4724 2014-01-31 08:52:09Z nanang $ + */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_IOQUEUE_H__ +#define __PJ_IOQUEUE_H__ + +/** + * @file ioqueue.h + * @brief I/O Dispatching Mechanism + */ + +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_IO Input/Output + * @brief Input/Output + * @ingroup PJ_OS + * + * This section contains API building blocks to perform network I/O and + * communications. If provides: + * - @ref PJ_SOCK + *\n + * A highly portable socket abstraction, runs on all kind of + * network APIs such as standard BSD socket, Windows socket, Linux + * \b kernel socket, PalmOS networking API, etc. + * + * - @ref pj_addr_resolve + *\n + * Portable address resolution, which implements #pj_gethostbyname(). + * + * - @ref PJ_SOCK_SELECT + *\n + * A portable \a select() like API (#pj_sock_select()) which can be + * implemented with various back-ends. + * + * - @ref PJ_IOQUEUE + *\n + * Framework for dispatching network events. + * + * For more information see the modules below. + */ + +/** + * @defgroup PJ_IOQUEUE IOQueue: I/O Event Dispatching with Proactor Pattern + * @ingroup PJ_IO + * @{ + * + * I/O Queue provides API for performing asynchronous I/O operations. It + * conforms to proactor pattern, which allows application to submit an + * asynchronous operation and to be notified later when the operation has + * completed. + * + * The I/O Queue can work on both socket and file descriptors. For + * asynchronous file operations however, one must make sure that the correct + * file I/O back-end is used, because not all file I/O back-end can be + * used with the ioqueue. Please see \ref PJ_FILE_IO for more details. + * + * The framework works natively in platforms where asynchronous operation API + * exists, such as in Windows NT with IoCompletionPort/IOCP. In other + * platforms, the I/O queue abstracts the operating system's event poll API + * to provide semantics similar to IoCompletionPort with minimal penalties + * (i.e. per ioqueue and per handle mutex protection). + * + * The I/O queue provides more than just unified abstraction. It also: + * - makes sure that the operation uses the most effective way to utilize + * the underlying mechanism, to achieve the maximum theoritical + * throughput possible on a given platform. + * - choose the most efficient mechanism for event polling on a given + * platform. + * + * Currently, the I/O Queue is implemented using: + * - select(), as the common denominator, but the least + * efficient. Also the number of descriptor is limited to + * \c PJ_IOQUEUE_MAX_HANDLES (which by default is 64). + * - /dev/epoll on Linux (user mode and kernel mode), + * a much faster replacement for select() on Linux (and more importantly + * doesn't have limitation on number of descriptors). + * - I/O Completion ports on Windows NT/2000/XP, which is the most + * efficient way to dispatch events in Windows NT based OSes, and most + * importantly, it doesn't have the limit on how many handles to monitor. + * And it works with files (not only sockets) as well. + * + * + * \section pj_ioqueue_concurrency_sec Concurrency Rules + * + * The ioqueue has been fine tuned to allow multiple threads to poll the + * handles simultaneously, to maximize scalability when the application is + * running on multiprocessor systems. When more than one threads are polling + * the ioqueue and there are more than one handles are signaled, more than + * one threads will execute the callback simultaneously to serve the events. + * These parallel executions are completely safe when the events happen for + * two different handles. + * + * However, with multithreading, care must be taken when multiple events + * happen on the same handle, or when event is happening on a handle (and + * the callback is being executed) and application is performing + * unregistration to the handle at the same time. + * + * The treatments of above scenario differ according to the concurrency + * setting that are applied to the handle. + * + * \subsection pj_ioq_concur_set Concurrency Settings for Handles + * + * Concurrency can be set on per handle (key) basis, by using + * #pj_ioqueue_set_concurrency() function. The default key concurrency value + * for the handle is inherited from the key concurrency setting of the ioqueue, + * and the key concurrency setting for the ioqueue can be changed by using + * #pj_ioqueue_set_default_concurrency(). The default key concurrency setting + * for ioqueue itself is controlled by compile time setting + * PJ_IOQUEUE_DEFAULT_ALLOW_CONCURRENCY. + * + * Note that this key concurrency setting only controls whether multiple + * threads are allowed to operate on the same key at the same time. + * The ioqueue itself always allows multiple threads to enter the ioqeuue at + * the same time, and also simultaneous callback calls to differrent + * keys is always allowed regardless to the key concurrency setting. + * + * \subsection pj_ioq_parallel Parallel Callback Executions for the Same Handle + * + * Note that when key concurrency is enabled (i.e. parallel callback calls on + * the same key is allowed; this is the default setting), the ioqueue will only + * perform simultaneous callback executions on the same key when the key has + * invoked multiple pending operations. This could be done for example by + * calling #pj_ioqueue_recvfrom() more than once on the same key, each with + * the same key but different operation key (pj_ioqueue_op_key_t). With this + * scenario, when multiple packets arrive on the key at the same time, more + * than one threads may execute the callback simultaneously, each with the + * same key but different operation key. + * + * When there is only one pending operation on the key (e.g. there is only one + * #pj_ioqueue_recvfrom() invoked on the key), then events occuring to the + * same key will be queued by the ioqueue, thus no simultaneous callback calls + * will be performed. + * + * \subsection pj_ioq_allow_concur Concurrency is Enabled (Default Value) + * + * The default setting for the ioqueue is to allow multiple threads to + * execute callbacks for the same handle/key. This setting is selected to + * promote good performance and scalability for application. + * + * However this setting has a major drawback with regard to synchronization, + * and application MUST carefully follow the following guidelines to ensure + * that parallel access to the key does not cause problems: + * + * - Always note that callback may be called simultaneously for the same + * key. + * - Care must be taken when unregistering a key from the + * ioqueue. Application must take care that when one thread is issuing + * an unregistration, other thread is not simultaneously invoking the + * callback to the same key. + *\n + * This happens because the ioqueue functions are working with a pointer + * to the key, and there is a possible race condition where the pointer + * has been rendered invalid by other threads before the ioqueue has a + * chance to acquire mutex on it. + * + * \subsection pj_ioq_disallow_concur Concurrency is Disabled + * + * Alternatively, application may disable key concurrency to make + * synchronization easier. As noted above, there are three ways to control + * key concurrency setting: + * - by controlling on per handle/key basis, with #pj_ioqueue_set_concurrency(). + * - by changing default key concurrency setting on the ioqueue, with + * #pj_ioqueue_set_default_concurrency(). + * - by changing the default concurrency on compile time, by declaring + * PJ_IOQUEUE_DEFAULT_ALLOW_CONCURRENCY macro to zero in your config_site.h + * + * \section pj_ioqeuue_examples_sec Examples + * + * For some examples on how to use the I/O Queue, please see: + * + * - \ref page_pjlib_ioqueue_tcp_test + * - \ref page_pjlib_ioqueue_udp_test + * - \ref page_pjlib_ioqueue_perf_test + */ + + +/** + * This structure describes operation specific key to be submitted to + * I/O Queue when performing the asynchronous operation. This key will + * be returned to the application when completion callback is called. + * + * Application normally wants to attach it's specific data in the + * \c user_data field so that it can keep track of which operation has + * completed when the callback is called. Alternatively, application can + * also extend this struct to include its data, because the pointer that + * is returned in the completion callback will be exactly the same as + * the pointer supplied when the asynchronous function is called. + */ +typedef struct pj_ioqueue_op_key_t +{ + void *internal__[32]; /**< Internal I/O Queue data. */ + void *activesock_data; /**< Active socket data. */ + void *user_data; /**< Application data. */ +} pj_ioqueue_op_key_t; + +/** + * This structure describes the callbacks to be called when I/O operation + * completes. + */ +typedef struct pj_ioqueue_callback +{ + /** + * This callback is called when #pj_ioqueue_recv or #pj_ioqueue_recvfrom + * completes. + * + * @param key The key. + * @param op_key Operation key. + * @param bytes_read >= 0 to indicate the amount of data read, + * otherwise negative value containing the error + * code. To obtain the pj_status_t error code, use + * (pj_status_t code = -bytes_read). + */ + void (*on_read_complete)(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_read); + + /** + * This callback is called when #pj_ioqueue_send or #pj_ioqueue_sendto + * completes. + * + * @param key The key. + * @param op_key Operation key. + * @param bytes_sent >= 0 to indicate the amount of data written, + * otherwise negative value containing the error + * code. To obtain the pj_status_t error code, use + * (pj_status_t code = -bytes_sent). + */ + void (*on_write_complete)(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_sent); + + /** + * This callback is called when #pj_ioqueue_accept completes. + * + * @param key The key. + * @param op_key Operation key. + * @param sock Newly connected socket. + * @param status Zero if the operation completes successfully. + */ + void (*on_accept_complete)(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_sock_t sock, + pj_status_t status); + + /** + * This callback is called when #pj_ioqueue_connect completes. + * + * @param key The key. + * @param status PJ_SUCCESS if the operation completes successfully. + */ + void (*on_connect_complete)(pj_ioqueue_key_t *key, + pj_status_t status); +} pj_ioqueue_callback; + + +/** + * Types of pending I/O Queue operation. This enumeration is only used + * internally within the ioqueue. + */ +typedef enum pj_ioqueue_operation_e +{ + PJ_IOQUEUE_OP_NONE = 0, /**< No operation. */ + PJ_IOQUEUE_OP_READ = 1, /**< read() operation. */ + PJ_IOQUEUE_OP_RECV = 2, /**< recv() operation. */ + PJ_IOQUEUE_OP_RECV_FROM = 4, /**< recvfrom() operation. */ + PJ_IOQUEUE_OP_WRITE = 8, /**< write() operation. */ + PJ_IOQUEUE_OP_SEND = 16, /**< send() operation. */ + PJ_IOQUEUE_OP_SEND_TO = 32, /**< sendto() operation. */ +#if defined(PJ_HAS_TCP) && PJ_HAS_TCP != 0 + PJ_IOQUEUE_OP_ACCEPT = 64, /**< accept() operation. */ + PJ_IOQUEUE_OP_CONNECT = 128 /**< connect() operation. */ +#endif /* PJ_HAS_TCP */ +} pj_ioqueue_operation_e; + + +/** + * This macro specifies the maximum number of events that can be + * processed by the ioqueue on a single poll cycle, on implementation + * that supports it. The value is only meaningfull when specified + * during PJLIB build. + */ +#ifndef PJ_IOQUEUE_MAX_EVENTS_IN_SINGLE_POLL +# define PJ_IOQUEUE_MAX_EVENTS_IN_SINGLE_POLL (16) +#endif + +/** + * When this flag is specified in ioqueue's recv() or send() operations, + * the ioqueue will always mark the operation as asynchronous. + */ +#define PJ_IOQUEUE_ALWAYS_ASYNC ((pj_uint32_t)1 << (pj_uint32_t)31) + +/** + * Return the name of the ioqueue implementation. + * + * @return Implementation name. + */ +PJ_DECL(const char*) pj_ioqueue_name(void); + + +/** + * Create a new I/O Queue framework. + * + * @param pool The pool to allocate the I/O queue structure. + * @param max_fd The maximum number of handles to be supported, which + * should not exceed PJ_IOQUEUE_MAX_HANDLES. + * @param ioqueue Pointer to hold the newly created I/O Queue. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pj_ioqueue_create( pj_pool_t *pool, + pj_size_t max_fd, + pj_ioqueue_t **ioqueue); + +/** + * Destroy the I/O queue. + * + * @param ioque The I/O Queue to be destroyed. + * + * @return PJ_SUCCESS if success. + */ +PJ_DECL(pj_status_t) pj_ioqueue_destroy( pj_ioqueue_t *ioque ); + +/** + * Set the lock object to be used by the I/O Queue. This function can only + * be called right after the I/O queue is created, before any handle is + * registered to the I/O queue. + * + * Initially the I/O queue is created with non-recursive mutex protection. + * Applications can supply alternative lock to be used by calling this + * function. + * + * @param ioque The ioqueue instance. + * @param lock The lock to be used by the ioqueue. + * @param auto_delete In non-zero, the lock will be deleted by the ioqueue. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_ioqueue_set_lock( pj_ioqueue_t *ioque, + pj_lock_t *lock, + pj_bool_t auto_delete ); + +/** + * Set default concurrency policy for this ioqueue. If this function is not + * called, the default concurrency policy for the ioqueue is controlled by + * compile time setting PJ_IOQUEUE_DEFAULT_ALLOW_CONCURRENCY. + * + * Note that changing the concurrency setting to the ioqueue will only affect + * subsequent key registrations. To modify the concurrency setting for + * individual key, use #pj_ioqueue_set_concurrency(). + * + * @param ioqueue The ioqueue instance. + * @param allow Non-zero to allow concurrent callback calls, or + * PJ_FALSE to disallow it. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_ioqueue_set_default_concurrency(pj_ioqueue_t *ioqueue, + pj_bool_t allow); + +/** + * Register a socket to the I/O queue framework. + * When a socket is registered to the IOQueue, it may be modified to use + * non-blocking IO. If it is modified, there is no guarantee that this + * modification will be restored after the socket is unregistered. + * + * @param pool To allocate the resource for the specified handle, + * which must be valid until the handle/key is unregistered + * from I/O Queue. + * @param ioque The I/O Queue. + * @param sock The socket. + * @param user_data User data to be associated with the key, which can be + * retrieved later. + * @param cb Callback to be called when I/O operation completes. + * @param key Pointer to receive the key to be associated with this + * socket. Subsequent I/O queue operation will need this + * key. + * + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_ioqueue_register_sock( pj_pool_t *pool, + pj_ioqueue_t *ioque, + pj_sock_t sock, + void *user_data, + const pj_ioqueue_callback *cb, + pj_ioqueue_key_t **key ); + +/** + * Variant of pj_ioqueue_register_sock() with additional group lock parameter. + * If group lock is set for the key, the key will add the reference counter + * when the socket is registered and decrease it when it is destroyed. + */ +PJ_DECL(pj_status_t) pj_ioqueue_register_sock2(pj_pool_t *pool, + pj_ioqueue_t *ioque, + pj_sock_t sock, + pj_grp_lock_t *grp_lock, + void *user_data, + const pj_ioqueue_callback *cb, + pj_ioqueue_key_t **key ); + +/** + * Unregister from the I/O Queue framework. Caller must make sure that + * the key doesn't have any pending operations before calling this function, + * by calling #pj_ioqueue_is_pending() for all previously submitted + * operations except asynchronous connect, and if necessary call + * #pj_ioqueue_post_completion() to cancel the pending operations. + * + * Note that asynchronous connect operation will automatically be + * cancelled during the unregistration. + * + * Also note that when I/O Completion Port backend is used, application + * MUST close the handle immediately after unregistering the key. This is + * because there is no unregistering API for IOCP. The only way to + * unregister the handle from IOCP is to close the handle. + * + * @param key The key that was previously obtained from registration. + * + * @return PJ_SUCCESS on success or the error code. + * + * @see pj_ioqueue_is_pending + */ +PJ_DECL(pj_status_t) pj_ioqueue_unregister( pj_ioqueue_key_t *key ); + + +/** + * Get user data associated with an ioqueue key. + * + * @param key The key that was previously obtained from registration. + * + * @return The user data associated with the descriptor, or NULL + * on error or if no data is associated with the key during + * registration. + */ +PJ_DECL(void*) pj_ioqueue_get_user_data( pj_ioqueue_key_t *key ); + +/** + * Set or change the user data to be associated with the file descriptor or + * handle or socket descriptor. + * + * @param key The key that was previously obtained from registration. + * @param user_data User data to be associated with the descriptor. + * @param old_data Optional parameter to retrieve the old user data. + * + * @return PJ_SUCCESS on success or the error code. + */ +PJ_DECL(pj_status_t) pj_ioqueue_set_user_data( pj_ioqueue_key_t *key, + void *user_data, + void **old_data); + +/** + * Configure whether the ioqueue is allowed to call the key's callback + * concurrently/in parallel. The default concurrency setting for the key + * is controlled by ioqueue's default concurrency value, which can be + * changed by calling #pj_ioqueue_set_default_concurrency(). + * + * If concurrency is allowed for the key, it means that if there are more + * than one pending operations complete simultaneously, more than one + * threads may call the key's callback at the same time. This generally + * would promote good scalability for application, at the expense of more + * complexity to manage the concurrent accesses in application's code. + * + * Alternatively application may disable the concurrent access by + * setting the \a allow flag to false. With concurrency disabled, only + * one thread can call the key's callback at one time. + * + * @param key The key that was previously obtained from registration. + * @param allow Set this to non-zero to allow concurrent callback calls + * and zero (PJ_FALSE) to disallow it. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_ioqueue_set_concurrency(pj_ioqueue_key_t *key, + pj_bool_t allow); + +/** + * Acquire the key's mutex. When the key's concurrency is disabled, + * application may call this function to synchronize its operation + * with the key's callback (i.e. this function will block until the + * key's callback returns). + * + * @param key The key that was previously obtained from registration. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_ioqueue_lock_key(pj_ioqueue_key_t *key); + +/** + * Release the lock previously acquired with pj_ioqueue_lock_key(). + * + * @param key The key that was previously obtained from registration. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_ioqueue_unlock_key(pj_ioqueue_key_t *key); + +/** + * Initialize operation key. + * + * @param op_key The operation key to be initialied. + * @param size The size of the operation key. + */ +PJ_DECL(void) pj_ioqueue_op_key_init( pj_ioqueue_op_key_t *op_key, + pj_size_t size ); + +/** + * Check if operation is pending on the specified operation key. + * The \c op_key must have been initialized with #pj_ioqueue_op_key_init() + * or submitted as pending operation before, or otherwise the result + * is undefined. + * + * @param key The key. + * @param op_key The operation key, previously submitted to any of + * the I/O functions and has returned PJ_EPENDING. + * + * @return Non-zero if operation is still pending. + */ +PJ_DECL(pj_bool_t) pj_ioqueue_is_pending( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key ); + + +/** + * Post completion status to the specified operation key and call the + * appropriate callback. When the callback is called, the number of bytes + * received in read/write callback or the status in accept/connect callback + * will be set from the \c bytes_status parameter. + * + * @param key The key. + * @param op_key Pending operation key. + * @param bytes_status Number of bytes or status to be set. A good value + * to put here is -PJ_ECANCELLED. + * + * @return PJ_SUCCESS if completion status has been successfully + * sent. + */ +PJ_DECL(pj_status_t) pj_ioqueue_post_completion( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_status ); + + + +#if defined(PJ_HAS_TCP) && PJ_HAS_TCP != 0 +/** + * Instruct I/O Queue to accept incoming connection on the specified + * listening socket. This function will return immediately (i.e. non-blocking) + * regardless whether a connection is immediately available. If the function + * can't complete immediately, the caller will be notified about the incoming + * connection when it calls pj_ioqueue_poll(). If a new connection is + * immediately available, the function returns PJ_SUCCESS with the new + * connection; in this case, the callback WILL NOT be called. + * + * @param key The key which registered to the server socket. + * @param op_key An operation specific key to be associated with the + * pending operation, so that application can keep track of + * which operation has been completed when the callback is + * called. + * @param new_sock Argument which contain pointer to receive the new socket + * for the incoming connection. + * @param local Optional argument which contain pointer to variable to + * receive local address. + * @param remote Optional argument which contain pointer to variable to + * receive the remote address. + * @param addrlen On input, contains the length of the buffer for the + * address, and on output, contains the actual length of the + * address. This argument is optional. + * @return + * - PJ_SUCCESS When connection is available immediately, and the + * parameters will be updated to contain information about + * the new connection. In this case, a completion callback + * WILL NOT be called. + * - PJ_EPENDING If no connection is available immediately. When a new + * connection arrives, the callback will be called. + * - non-zero which indicates the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_ioqueue_accept( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_sock_t *new_sock, + pj_sockaddr_t *local, + pj_sockaddr_t *remote, + int *addrlen ); + +/** + * Initiate non-blocking socket connect. If the socket can NOT be connected + * immediately, asynchronous connect() will be scheduled and caller will be + * notified via completion callback when it calls pj_ioqueue_poll(). If + * socket is connected immediately, the function returns PJ_SUCCESS and + * completion callback WILL NOT be called. + * + * @param key The key associated with TCP socket + * @param addr The remote address. + * @param addrlen The remote address length. + * + * @return + * - PJ_SUCCESS If socket is connected immediately. In this case, the + * completion callback WILL NOT be called. + * - PJ_EPENDING If operation is queued, or + * - non-zero Indicates the error code. + */ +PJ_DECL(pj_status_t) pj_ioqueue_connect( pj_ioqueue_key_t *key, + const pj_sockaddr_t *addr, + int addrlen ); + +#endif /* PJ_HAS_TCP */ + +/** + * Poll the I/O Queue for completed events. + * + * Note: polling the ioqueue is not necessary in Symbian. Please see + * @ref PJ_SYMBIAN_OS for more info. + * + * @param ioque the I/O Queue. + * @param timeout polling timeout, or NULL if the thread wishes to wait + * indefinetely for the event. + * + * @return + * - zero if timed out (no event). + * - (<0) if error occured during polling. Callback will NOT be called. + * - (>1) to indicate numbers of events. Callbacks have been called. + */ +PJ_DECL(int) pj_ioqueue_poll( pj_ioqueue_t *ioque, + const pj_time_val *timeout); + + +/** + * Instruct the I/O Queue to read from the specified handle. This function + * returns immediately (i.e. non-blocking) regardless whether some data has + * been transferred. If the operation can't complete immediately, caller will + * be notified about the completion when it calls pj_ioqueue_poll(). If data + * is immediately available, the function will return PJ_SUCCESS and the + * callback WILL NOT be called. + * + * @param key The key that uniquely identifies the handle. + * @param op_key An operation specific key to be associated with the + * pending operation, so that application can keep track of + * which operation has been completed when the callback is + * called. Caller must make sure that this key remains + * valid until the function completes. + * @param buffer The buffer to hold the read data. The caller MUST make sure + * that this buffer remain valid until the framework completes + * reading the handle. + * @param length On input, it specifies the size of the buffer. If data is + * available to be read immediately, the function returns + * PJ_SUCCESS and this argument will be filled with the + * amount of data read. If the function is pending, caller + * will be notified about the amount of data read in the + * callback. This parameter can point to local variable in + * caller's stack and doesn't have to remain valid for the + * duration of pending operation. + * @param flags Recv flag. If flags has PJ_IOQUEUE_ALWAYS_ASYNC then + * the function will never return PJ_SUCCESS. + * + * @return + * - PJ_SUCCESS If immediate data has been received in the buffer. In this + * case, the callback WILL NOT be called. + * - PJ_EPENDING If the operation has been queued, and the callback will be + * called when data has been received. + * - non-zero The return value indicates the error code. + */ +PJ_DECL(pj_status_t) pj_ioqueue_recv( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + void *buffer, + pj_ssize_t *length, + pj_uint32_t flags ); + +/** + * This function behaves similarly as #pj_ioqueue_recv(), except that it is + * normally called for socket, and the remote address will also be returned + * along with the data. Caller MUST make sure that both buffer and addr + * remain valid until the framework completes reading the data. + * + * @param key The key that uniquely identifies the handle. + * @param op_key An operation specific key to be associated with the + * pending operation, so that application can keep track of + * which operation has been completed when the callback is + * called. + * @param buffer The buffer to hold the read data. The caller MUST make sure + * that this buffer remain valid until the framework completes + * reading the handle. + * @param length On input, it specifies the size of the buffer. If data is + * available to be read immediately, the function returns + * PJ_SUCCESS and this argument will be filled with the + * amount of data read. If the function is pending, caller + * will be notified about the amount of data read in the + * callback. This parameter can point to local variable in + * caller's stack and doesn't have to remain valid for the + * duration of pending operation. + * @param flags Recv flag. If flags has PJ_IOQUEUE_ALWAYS_ASYNC then + * the function will never return PJ_SUCCESS. + * @param addr Optional Pointer to buffer to receive the address. + * @param addrlen On input, specifies the length of the address buffer. + * On output, it will be filled with the actual length of + * the address. This argument can be NULL if \c addr is not + * specified. + * + * @return + * - PJ_SUCCESS If immediate data has been received. In this case, the + * callback must have been called before this function + * returns, and no pending operation is scheduled. + * - PJ_EPENDING If the operation has been queued. + * - non-zero The return value indicates the error code. + */ +PJ_DECL(pj_status_t) pj_ioqueue_recvfrom( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + void *buffer, + pj_ssize_t *length, + pj_uint32_t flags, + pj_sockaddr_t *addr, + int *addrlen); + +/** + * Instruct the I/O Queue to write to the handle. This function will return + * immediately (i.e. non-blocking) regardless whether some data has been + * transferred. If the function can't complete immediately, the caller will + * be notified about the completion when it calls pj_ioqueue_poll(). If + * operation completes immediately and data has been transferred, the function + * returns PJ_SUCCESS and the callback will NOT be called. + * + * @param key The key that identifies the handle. + * @param op_key An operation specific key to be associated with the + * pending operation, so that application can keep track of + * which operation has been completed when the callback is + * called. + * @param data The data to send. Caller MUST make sure that this buffer + * remains valid until the write operation completes. + * @param length On input, it specifies the length of data to send. When + * data was sent immediately, this function returns PJ_SUCCESS + * and this parameter contains the length of data sent. If + * data can not be sent immediately, an asynchronous operation + * is scheduled and caller will be notified via callback the + * number of bytes sent. This parameter can point to local + * variable on caller's stack and doesn't have to remain + * valid until the operation has completed. + * @param flags Send flags. If flags has PJ_IOQUEUE_ALWAYS_ASYNC then + * the function will never return PJ_SUCCESS. + * + * @return + * - PJ_SUCCESS If data was immediately transferred. In this case, no + * pending operation has been scheduled and the callback + * WILL NOT be called. + * - PJ_EPENDING If the operation has been queued. Once data base been + * transferred, the callback will be called. + * - non-zero The return value indicates the error code. + */ +PJ_DECL(pj_status_t) pj_ioqueue_send( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + const void *data, + pj_ssize_t *length, + pj_uint32_t flags ); + + +/** + * Instruct the I/O Queue to write to the handle. This function will return + * immediately (i.e. non-blocking) regardless whether some data has been + * transferred. If the function can't complete immediately, the caller will + * be notified about the completion when it calls pj_ioqueue_poll(). If + * operation completes immediately and data has been transferred, the function + * returns PJ_SUCCESS and the callback will NOT be called. + * + * @param key the key that identifies the handle. + * @param op_key An operation specific key to be associated with the + * pending operation, so that application can keep track of + * which operation has been completed when the callback is + * called. + * @param data the data to send. Caller MUST make sure that this buffer + * remains valid until the write operation completes. + * @param length On input, it specifies the length of data to send. When + * data was sent immediately, this function returns PJ_SUCCESS + * and this parameter contains the length of data sent. If + * data can not be sent immediately, an asynchronous operation + * is scheduled and caller will be notified via callback the + * number of bytes sent. This parameter can point to local + * variable on caller's stack and doesn't have to remain + * valid until the operation has completed. + * @param flags send flags. If flags has PJ_IOQUEUE_ALWAYS_ASYNC then + * the function will never return PJ_SUCCESS. + * @param addr Optional remote address. + * @param addrlen Remote address length, \c addr is specified. + * + * @return + * - PJ_SUCCESS If data was immediately written. + * - PJ_EPENDING If the operation has been queued. + * - non-zero The return value indicates the error code. + */ +PJ_DECL(pj_status_t) pj_ioqueue_sendto( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + const void *data, + pj_ssize_t *length, + pj_uint32_t flags, + const pj_sockaddr_t *addr, + int addrlen); + + +/** + * !} + */ + +PJ_END_DECL + +#endif /* __PJ_IOQUEUE_H__ */ + diff --git a/pjlib/include/pj/ip_helper.h b/pjlib/include/pj/ip_helper.h new file mode 100644 index 0000000..02441d3 --- /dev/null +++ b/pjlib/include/pj/ip_helper.h @@ -0,0 +1,97 @@ +/* $Id: ip_helper.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_IP_ROUTE_H__ +#define __PJ_IP_ROUTE_H__ + +/** + * @file ip_helper.h + * @brief IP helper API + */ + +#include + +PJ_BEGIN_DECL + +/** + * @defgroup pj_ip_helper IP Interface and Routing Helper + * @ingroup PJ_IO + * @{ + * + * This module provides functions to query local host's IP interface and + * routing table. + */ + +/** + * This structure describes IP routing entry. + */ +typedef union pj_ip_route_entry +{ + /** IP routing entry for IP version 4 routing */ + struct + { + pj_in_addr if_addr; /**< Local interface IP address. */ + pj_in_addr dst_addr; /**< Destination IP address. */ + pj_in_addr mask; /**< Destination mask. */ + } ipv4; +} pj_ip_route_entry; + + +/** + * Enumerate the local IP interfaces currently active in the host. + * + * @param af Family of the address to be retrieved. Application + * may specify pj_AF_UNSPEC() to retrieve all addresses, + * or pj_AF_INET() or pj_AF_INET6() to retrieve interfaces + * with specific address family. + * @param count On input, specify the number of entries. On output, + * it will be filled with the actual number of entries. + * @param ifs Array of socket addresses, which address part will + * be filled with the interface address. The address + * family part will be initialized with the address + * family of the IP address. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_enum_ip_interface(int af, + unsigned *count, + pj_sockaddr ifs[]); + + +/** + * Enumerate the IP routing table for this host. + * + * @param count On input, specify the number of routes entries. On output, + * it will be filled with the actual number of route entries. + * @param routes Array of IP routing entries. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_enum_ip_route(unsigned *count, + pj_ip_route_entry routes[]); + + + +/** @} */ + +PJ_END_DECL + + +#endif /* __PJ_IP_ROUTE_H__ */ + diff --git a/pjlib/include/pj/list.h b/pjlib/include/pj/list.h new file mode 100644 index 0000000..8a13dcb --- /dev/null +++ b/pjlib/include/pj/list.h @@ -0,0 +1,273 @@ +/* $Id: list.h 4624 2013-10-21 06:37:30Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_LIST_H__ +#define __PJ_LIST_H__ + +/** + * @file list.h + * @brief Linked List data structure. + */ + +#include + +PJ_BEGIN_DECL + +/* + * @defgroup PJ_DS Data Structure. + */ + +/** + * @defgroup PJ_LIST Linked List + * @ingroup PJ_DS + * @{ + * + * List in PJLIB is implemented as doubly-linked list, and it won't require + * dynamic memory allocation (just as all PJLIB data structures). The list here + * should be viewed more like a low level C list instead of high level C++ list + * (which normally are easier to use but require dynamic memory allocations), + * therefore all caveats with C list apply here too (such as you can NOT put + * a node in more than one lists). + * + * \section pj_list_example_sec Examples + * + * See below for examples on how to manipulate linked list: + * - @ref page_pjlib_samples_list_c + * - @ref page_pjlib_list_test + */ + + +/** + * Use this macro in the start of the structure declaration to declare that + * the structure can be used in the linked list operation. This macro simply + * declares additional member @a prev and @a next to the structure. + * @hideinitializer + */ +#define PJ_DECL_LIST_MEMBER(type) \ + /** List @a prev. */ \ + type *prev; \ + /** List @a next. */ \ + type *next + + +/** + * This structure describes generic list node and list. The owner of this list + * must initialize the 'value' member to an appropriate value (typically the + * owner itself). + */ +struct pj_list +{ + PJ_DECL_LIST_MEMBER(void); +} PJ_ATTR_MAY_ALIAS; /* may_alias avoids warning with gcc-4.4 -Wall -O2 */ + + +/** + * Initialize the list. + * Initially, the list will have no member, and function pj_list_empty() will + * always return nonzero (which indicates TRUE) for the newly initialized + * list. + * + * @param node The list head. + */ +PJ_INLINE(void) pj_list_init(pj_list_type * node) +{ + ((pj_list*)node)->next = ((pj_list*)node)->prev = node; +} + + +/** + * Check that the list is empty. + * + * @param node The list head. + * + * @return Non-zero if the list is empty, or zero if it is not empty. + * + */ +PJ_INLINE(int) pj_list_empty(const pj_list_type * node) +{ + return ((pj_list*)node)->next == node; +} + + +/** + * Insert the node to the list before the specified element position. + * + * @param pos The element to which the node will be inserted before. + * @param node The element to be inserted. + * + * @return void. + */ +PJ_IDECL(void) pj_list_insert_before(pj_list_type *pos, pj_list_type *node); + + +/** + * Insert the node to the back of the list. This is just an alias for + * #pj_list_insert_before(). + * + * @param list The list. + * @param node The element to be inserted. + */ +PJ_INLINE(void) pj_list_push_back(pj_list_type *list, pj_list_type *node) +{ + pj_list_insert_before(list, node); +} + + +/** + * Inserts all nodes in \a nodes to the target list. + * + * @param lst The target list. + * @param nodes Nodes list. + */ +PJ_IDECL(void) pj_list_insert_nodes_before(pj_list_type *lst, + pj_list_type *nodes); + +/** + * Insert a node to the list after the specified element position. + * + * @param pos The element in the list which will precede the inserted + * element. + * @param node The element to be inserted after the position element. + * + * @return void. + */ +PJ_IDECL(void) pj_list_insert_after(pj_list_type *pos, pj_list_type *node); + + +/** + * Insert the node to the front of the list. This is just an alias for + * #pj_list_insert_after(). + * + * @param list The list. + * @param node The element to be inserted. + */ +PJ_INLINE(void) pj_list_push_front(pj_list_type *list, pj_list_type *node) +{ + pj_list_insert_after(list, node); +} + + +/** + * Insert all nodes in \a nodes to the target list. + * + * @param lst The target list. + * @param nodes Nodes list. + */ +PJ_IDECL(void) pj_list_insert_nodes_after(pj_list_type *lst, + pj_list_type *nodes); + + +/** + * Remove elements from the source list, and insert them to the destination + * list. The elements of the source list will occupy the + * front elements of the target list. Note that the node pointed by \a list2 + * itself is not considered as a node, but rather as the list descriptor, so + * it will not be inserted to the \a list1. The elements to be inserted starts + * at \a list2->next. If \a list2 is to be included in the operation, use + * \a pj_list_insert_nodes_before. + * + * @param list1 The destination list. + * @param list2 The source list. + * + * @return void. + */ +PJ_IDECL(void) pj_list_merge_first(pj_list_type *list1, pj_list_type *list2); + + +/** + * Remove elements from the second list argument, and insert them to the list + * in the first argument. The elements from the second list will be appended + * to the first list. Note that the node pointed by \a list2 + * itself is not considered as a node, but rather as the list descriptor, so + * it will not be inserted to the \a list1. The elements to be inserted starts + * at \a list2->next. If \a list2 is to be included in the operation, use + * \a pj_list_insert_nodes_before. + * + * @param list1 The element in the list which will precede the inserted + * element. + * @param list2 The element in the list to be inserted. + * + * @return void. + */ +PJ_IDECL(void) pj_list_merge_last( pj_list_type *list1, pj_list_type *list2); + + +/** + * Erase the node from the list it currently belongs. + * + * @param node The element to be erased. + */ +PJ_IDECL(void) pj_list_erase(pj_list_type *node); + + +/** + * Find node in the list. + * + * @param list The list head. + * @param node The node element to be searched. + * + * @return The node itself if it is found in the list, or NULL if it is not + * found in the list. + */ +PJ_IDECL(pj_list_type*) pj_list_find_node(pj_list_type *list, + pj_list_type *node); + + +/** + * Search the list for the specified value, using the specified comparison + * function. This function iterates on nodes in the list, started with the + * first node, and call the user supplied comparison function until the + * comparison function returns ZERO. + * + * @param list The list head. + * @param value The user defined value to be passed in the comparison + * function + * @param comp The comparison function, which should return ZERO to + * indicate that the searched value is found. + * + * @return The first node that matched, or NULL if it is not found. + */ +PJ_IDECL(pj_list_type*) pj_list_search(pj_list_type *list, void *value, + int (*comp)(void *value, + const pj_list_type *node) + ); + + +/** + * Traverse the list to get the number of elements in the list. + * + * @param list The list head. + * + * @return Number of elements. + */ +PJ_IDECL(pj_size_t) pj_list_size(const pj_list_type *list); + + +/** + * @} + */ + +#if PJ_FUNCTIONS_ARE_INLINED +# include "list_i.h" +#endif + +PJ_END_DECL + +#endif /* __PJ_LIST_H__ */ + diff --git a/pjlib/include/pj/list_i.h b/pjlib/include/pj/list_i.h new file mode 100644 index 0000000..1ae8da8 --- /dev/null +++ b/pjlib/include/pj/list_i.h @@ -0,0 +1,121 @@ +/* $Id: list_i.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + +/* Internal */ +PJ_INLINE(void) pj_link_node(pj_list_type *prev, pj_list_type *next) +{ + ((pj_list*)prev)->next = next; + ((pj_list*)next)->prev = prev; +} + +PJ_IDEF(void) pj_list_insert_after(pj_list_type *pos, pj_list_type *node) +{ + ((pj_list*)node)->prev = pos; + ((pj_list*)node)->next = ((pj_list*)pos)->next; + ((pj_list*) ((pj_list*)pos)->next) ->prev = node; + ((pj_list*)pos)->next = node; +} + + +PJ_IDEF(void) pj_list_insert_before(pj_list_type *pos, pj_list_type *node) +{ + pj_list_insert_after(((pj_list*)pos)->prev, node); +} + + +PJ_IDEF(void) pj_list_insert_nodes_after(pj_list_type *pos, pj_list_type *lst) +{ + pj_list *lst_last = (pj_list *) ((pj_list*)lst)->prev; + pj_list *pos_next = (pj_list *) ((pj_list*)pos)->next; + + pj_link_node(pos, lst); + pj_link_node(lst_last, pos_next); +} + +PJ_IDEF(void) pj_list_insert_nodes_before(pj_list_type *pos, pj_list_type *lst) +{ + pj_list_insert_nodes_after(((pj_list*)pos)->prev, lst); +} + +PJ_IDEF(void) pj_list_merge_last(pj_list_type *lst1, pj_list_type *lst2) +{ + if (!pj_list_empty(lst2)) { + pj_link_node(((pj_list*)lst1)->prev, ((pj_list*)lst2)->next); + pj_link_node(((pj_list*)lst2)->prev, lst1); + pj_list_init(lst2); + } +} + +PJ_IDEF(void) pj_list_merge_first(pj_list_type *lst1, pj_list_type *lst2) +{ + if (!pj_list_empty(lst2)) { + pj_link_node(((pj_list*)lst2)->prev, ((pj_list*)lst1)->next); + pj_link_node(((pj_list*)lst1), ((pj_list*)lst2)->next); + pj_list_init(lst2); + } +} + +PJ_IDEF(void) pj_list_erase(pj_list_type *node) +{ + pj_link_node( ((pj_list*)node)->prev, ((pj_list*)node)->next); + + /* It'll be safer to init the next/prev fields to itself, to + * prevent multiple erase() from corrupting the list. See + * ticket #520 for one sample bug. + */ + pj_list_init(node); +} + + +PJ_IDEF(pj_list_type*) pj_list_find_node(pj_list_type *list, pj_list_type *node) +{ + pj_list *p = (pj_list *) ((pj_list*)list)->next; + while (p != list && p != node) + p = (pj_list *) p->next; + + return p==node ? p : NULL; +} + + +PJ_IDEF(pj_list_type*) pj_list_search(pj_list_type *list, void *value, + int (*comp)(void *value, const pj_list_type *node)) +{ + pj_list *p = (pj_list *) ((pj_list*)list)->next; + while (p != list && (*comp)(value, p) != 0) + p = (pj_list *) p->next; + + return p==list ? NULL : p; +} + + +PJ_IDEF(pj_size_t) pj_list_size(const pj_list_type *list) +{ + const pj_list *node = (const pj_list*) ((const pj_list*)list)->next; + pj_size_t count = 0; + + while (node != list) { + ++count; + node = (pj_list*)node->next; + } + + return count; +} + diff --git a/pjlib/include/pj/lock.h b/pjlib/include/pj/lock.h new file mode 100644 index 0000000..9dc7448 --- /dev/null +++ b/pjlib/include/pj/lock.h @@ -0,0 +1,427 @@ +/* $Id: lock.h 4992 2015-03-06 06:09:22Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_LOCK_H__ +#define __PJ_LOCK_H__ + +/** + * @file lock.h + * @brief Higher abstraction for locking objects. + */ +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_LOCK Lock Objects + * @ingroup PJ_OS + * @{ + * + * Lock Objects are higher abstraction for different lock mechanisms. + * It offers the same API for manipulating different lock types (e.g. + * @ref PJ_MUTEX "mutex", @ref PJ_SEM "semaphores", or null locks). + * Because Lock Objects have the same API for different types of lock + * implementation, it can be passed around in function arguments. As the + * result, it can be used to control locking policy for a particular + * feature. + */ + + +/** + * Create simple, non recursive mutex lock object. + * + * @param pool Memory pool. + * @param name Lock object's name. + * @param lock Pointer to store the returned handle. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_lock_create_simple_mutex( pj_pool_t *pool, + const char *name, + pj_lock_t **lock ); + +/** + * Create recursive mutex lock object. + * + * @param pool Memory pool. + * @param name Lock object's name. + * @param lock Pointer to store the returned handle. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_lock_create_recursive_mutex( pj_pool_t *pool, + const char *name, + pj_lock_t **lock ); + + +/** + * Create NULL mutex. A NULL mutex doesn't actually have any synchronization + * object attached to it. + * + * @param pool Memory pool. + * @param name Lock object's name. + * @param lock Pointer to store the returned handle. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_lock_create_null_mutex( pj_pool_t *pool, + const char *name, + pj_lock_t **lock ); + + +#if defined(PJ_HAS_SEMAPHORE) && PJ_HAS_SEMAPHORE != 0 +/** + * Create semaphore lock object. + * + * @param pool Memory pool. + * @param name Lock object's name. + * @param initial Initial value of the semaphore. + * @param max Maximum value of the semaphore. + * @param lock Pointer to store the returned handle. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_lock_create_semaphore( pj_pool_t *pool, + const char *name, + unsigned initial, + unsigned max, + pj_lock_t **lock ); + +#endif /* PJ_HAS_SEMAPHORE */ + +/** + * Acquire lock on the specified lock object. + * + * @param lock The lock object. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_lock_acquire( pj_lock_t *lock ); + + +/** + * Try to acquire lock on the specified lock object. + * + * @param lock The lock object. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_lock_tryacquire( pj_lock_t *lock ); + + +/** + * Release lock on the specified lock object. + * + * @param lock The lock object. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_lock_release( pj_lock_t *lock ); + + +/** + * Destroy the lock object. + * + * @param lock The lock object. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_lock_destroy( pj_lock_t *lock ); + + +/** @} */ + + +/** + * @defgroup PJ_GRP_LOCK Group Lock + * @ingroup PJ_LOCK + * @{ + * + * Group lock is a synchronization object to manage concurrency among members + * within the same logical group. Example of such groups are: + * + * - dialog, which has members such as the dialog itself, an invite session, + * and several transactions + * - ICE, which has members such as ICE stream transport, ICE session, STUN + * socket, TURN socket, and down to ioqueue key + * + * Group lock has three functions: + * + * - mutual exclusion: to protect resources from being accessed by more than + * one threads at the same time + * - session management: to make sure that the resource is not destroyed + * while others are still using or about to use it. + * - lock coordinator: to provide uniform lock ordering among more than one + * lock objects, which is necessary to avoid deadlock. + * + * The requirements of the group lock are: + * + * - must satisfy all the functions above + * - must allow members to join or leave the group (for example, + * transaction may be added or removed from a dialog) + * - must be able to synchronize with external lock (for example, a dialog + * lock must be able to sync itself with PJSUA lock) + * + * Please see https://trac.pjsip.org/repos/wiki/Group_Lock for more info. + */ + +/** + * Settings for creating the group lock. + */ +typedef struct pj_grp_lock_config +{ + /** + * Creation flags, currently must be zero. + */ + unsigned flags; + +} pj_grp_lock_config; + + +/** + * Initialize the config with the default values. + * + * @param cfg The config to be initialized. + */ +PJ_DECL(void) pj_grp_lock_config_default(pj_grp_lock_config *cfg); + +/** + * Create a group lock object. Initially the group lock will have reference + * counter of one. + * + * @param pool The group lock only uses the pool parameter to get + * the pool factory, from which it will create its own + * pool. + * @param cfg Optional configuration. + * @param p_grp_lock Pointer to receive the newly created group lock. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_grp_lock_create(pj_pool_t *pool, + const pj_grp_lock_config *cfg, + pj_grp_lock_t **p_grp_lock); + +/** + * Create a group lock object, with the specified destructor handler, to be + * called by the group lock when it is about to be destroyed. Initially the + * group lock will have reference counter of one. + * + * @param pool The group lock only uses the pool parameter to get + * the pool factory, from which it will create its own + * pool. + * @param cfg Optional configuration. + * @param member A pointer to be passed to the handler. + * @param handler The destroy handler. + * @param p_grp_lock Pointer to receive the newly created group lock. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_grp_lock_create_w_handler(pj_pool_t *pool, + const pj_grp_lock_config *cfg, + void *member, + void (*handler)(void *member), + pj_grp_lock_t **p_grp_lock); + +/** + * Forcibly destroy the group lock, ignoring the reference counter value. + * + * @param grp_lock The group lock. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_grp_lock_destroy( pj_grp_lock_t *grp_lock); + +/** + * Move the contents of the old lock to the new lock and destroy the + * old lock. + * + * @param old_lock The old group lock to be destroyed. + * @param new_lock The new group lock. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_grp_lock_replace(pj_grp_lock_t *old_lock, + pj_grp_lock_t *new_lock); + +/** + * Acquire lock on the specified group lock. + * + * @param grp_lock The group lock. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_grp_lock_acquire( pj_grp_lock_t *grp_lock); + +/** + * Acquire lock on the specified group lock if it is available, otherwise + * return immediately wihout waiting. + * + * @param grp_lock The group lock. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_grp_lock_tryacquire( pj_grp_lock_t *grp_lock); + +/** + * Release the previously held lock. This may cause the group lock + * to be destroyed if it is the last one to hold the reference counter. + * In that case, the function will return PJ_EGONE. + * + * @param grp_lock The group lock. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_grp_lock_release( pj_grp_lock_t *grp_lock); + +/** + * Add a destructor handler, to be called by the group lock when it is + * about to be destroyed. + * + * @param grp_lock The group lock. + * @param pool Pool to allocate memory for the handler. + * @param member A pointer to be passed to the handler. + * @param handler The destroy handler. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_grp_lock_add_handler(pj_grp_lock_t *grp_lock, + pj_pool_t *pool, + void *member, + void (*handler)(void *member)); + +/** + * Remove previously registered handler. All parameters must be the same + * as when the handler was added. + * + * @param grp_lock The group lock. + * @param member A pointer to be passed to the handler. + * @param handler The destroy handler. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_grp_lock_del_handler(pj_grp_lock_t *grp_lock, + void *member, + void (*handler)(void *member)); + +/** + * Increment reference counter to prevent the group lock grom being destroyed. + * + * @param grp_lock The group lock. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +#if !PJ_GRP_LOCK_DEBUG +PJ_DECL(pj_status_t) pj_grp_lock_add_ref(pj_grp_lock_t *grp_lock); + +#define pj_grp_lock_add_ref_dbg(grp_lock, x, y) pj_grp_lock_add_ref(grp_lock) + +#else + +#define pj_grp_lock_add_ref(g) pj_grp_lock_add_ref_dbg(g, __FILE__, __LINE__) + +PJ_DECL(pj_status_t) pj_grp_lock_add_ref_dbg(pj_grp_lock_t *grp_lock, + const char *file, + int line); +#endif + +/** + * Decrement the reference counter. When the counter value reaches zero, the + * group lock will be destroyed and all destructor handlers will be called. + * + * @param grp_lock The group lock. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +#if !PJ_GRP_LOCK_DEBUG +PJ_DECL(pj_status_t) pj_grp_lock_dec_ref(pj_grp_lock_t *grp_lock); + +#define pj_grp_lock_dec_ref_dbg(grp_lock, x, y) pj_grp_lock_dec_ref(grp_lock) +#else + +#define pj_grp_lock_dec_ref(g) pj_grp_lock_dec_ref_dbg(g, __FILE__, __LINE__) + +PJ_DECL(pj_status_t) pj_grp_lock_dec_ref_dbg(pj_grp_lock_t *grp_lock, + const char *file, + int line); + +#endif + +/** + * Get current reference count value. This normally is only used for + * debugging purpose. + * + * @param grp_lock The group lock. + * + * @return The reference count value. + */ +PJ_DECL(int) pj_grp_lock_get_ref(pj_grp_lock_t *grp_lock); + + +/** + * Dump group lock info for debugging purpose. If group lock debugging is + * enabled (via PJ_GRP_LOCK_DEBUG) macro, this will print the group lock + * reference counter value along with the source file and line. If + * debugging is disabled, this will only print the reference counter. + * + * @param grp_lock The group lock. + */ +PJ_DECL(void) pj_grp_lock_dump(pj_grp_lock_t *grp_lock); + + +/** + * Synchronize an external lock with the group lock, by adding it to the + * list of locks to be acquired by the group lock when the group lock is + * acquired. + * + * The ''pos'' argument specifies the lock order and also the relative + * position with regard to lock ordering against the group lock. Locks with + * lower ''pos'' value will be locked first, and those with negative value + * will be locked before the group lock (the group lock's ''pos'' value is + * zero). + * + * @param grp_lock The group lock. + * @param ext_lock The external lock + * @param pos The position. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_grp_lock_chain_lock(pj_grp_lock_t *grp_lock, + pj_lock_t *ext_lock, + int pos); + +/** + * Remove an external lock from group lock's list of synchronized locks. + * + * @param grp_lock The group lock. + * @param ext_lock The external lock + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_grp_lock_unchain_lock(pj_grp_lock_t *grp_lock, + pj_lock_t *ext_lock); + + +/** @} */ + + +PJ_END_DECL + + +#endif /* __PJ_LOCK_H__ */ + diff --git a/pjlib/include/pj/log.h b/pjlib/include/pj/log.h new file mode 100644 index 0000000..c9d5c31 --- /dev/null +++ b/pjlib/include/pj/log.h @@ -0,0 +1,453 @@ +/* $Id: log.h 4584 2013-08-30 04:03:22Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_LOG_H__ +#define __PJ_LOG_H__ + +/** + * @file log.h + * @brief Logging Utility. + */ + +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_MISC Miscelaneous + */ + +/** + * @defgroup PJ_LOG Logging Facility + * @ingroup PJ_MISC + * @{ + * + * The PJLIB logging facility is a configurable, flexible, and convenient + * way to write logging or trace information. + * + * To write to the log, one uses construct like below: + * + *
+ *   ...
+ *   PJ_LOG(3, ("main.c", "Starting hello..."));
+ *   ...
+ *   PJ_LOG(3, ("main.c", "Hello world from process %d", pj_getpid()));
+ *   ...
+ * 
+ * + * In the above example, the number @b 3 controls the verbosity level of + * the information (which means "information", by convention). The string + * "main.c" specifies the source or sender of the message. + * + * + * \section pj_log_quick_sample_sec Examples + * + * For examples, see: + * - @ref page_pjlib_samples_log_c. + * + */ + +/** + * Log decoration flag, to be specified with #pj_log_set_decor(). + */ +enum pj_log_decoration +{ + PJ_LOG_HAS_DAY_NAME = 1, /**< Include day name [default: no] */ + PJ_LOG_HAS_YEAR = 2, /**< Include year digit [no] */ + PJ_LOG_HAS_MONTH = 4, /**< Include month [no] */ + PJ_LOG_HAS_DAY_OF_MON = 8, /**< Include day of month [no] */ + PJ_LOG_HAS_TIME = 16, /**< Include time [yes] */ + PJ_LOG_HAS_MICRO_SEC = 32, /**< Include microseconds [yes] */ + PJ_LOG_HAS_SENDER = 64, /**< Include sender in the log [yes] */ + PJ_LOG_HAS_NEWLINE = 128, /**< Terminate each call with newline [yes] */ + PJ_LOG_HAS_CR = 256, /**< Include carriage return [no] */ + PJ_LOG_HAS_SPACE = 512, /**< Include two spaces before log [yes] */ + PJ_LOG_HAS_COLOR = 1024, /**< Colorize logs [yes on win32] */ + PJ_LOG_HAS_LEVEL_TEXT = 2048, /**< Include level text string [no] */ + PJ_LOG_HAS_THREAD_ID = 4096, /**< Include thread identification [no] */ + PJ_LOG_HAS_THREAD_SWC = 8192, /**< Add mark when thread has switched [yes]*/ + PJ_LOG_HAS_INDENT =16384 /**< Indentation. Say yes! [yes] */ +}; + +/** + * Write log message. + * This is the main macro used to write text to the logging backend. + * + * @param level The logging verbosity level. Lower number indicates higher + * importance, with level zero indicates fatal error. Only + * numeral argument is permitted (e.g. not variable). + * @param arg Enclosed 'printf' like arguments, with the first + * argument is the sender, the second argument is format + * string and the following arguments are variable number of + * arguments suitable for the format string. + * + * Sample: + * \verbatim + PJ_LOG(2, (__FILE__, "current value is %d", value)); + \endverbatim + * @hideinitializer + */ +#define PJ_LOG(level,arg) do { \ + if (level <= pj_log_get_level()) \ + pj_log_wrapper_##level(arg); \ + } while (0) + +/** + * Signature for function to be registered to the logging subsystem to + * write the actual log message to some output device. + * + * @param level Log level. + * @param data Log message, which will be NULL terminated. + * @param len Message length. + */ +typedef void pj_log_func(int level, const char *data, int len); + +/** + * Default logging writer function used by front end logger function. + * This function will print the log message to stdout only. + * Application normally should NOT need to call this function, but + * rather use the PJ_LOG macro. + * + * @param level Log level. + * @param buffer Log message. + * @param len Message length. + */ +PJ_DECL(void) pj_log_write(int level, const char *buffer, int len); + + +#if PJ_LOG_MAX_LEVEL >= 1 + +/** + * Write to log. + * + * @param sender Source of the message. + * @param level Verbosity level. + * @param format Format. + * @param marker Marker. + */ +PJ_DECL(void) pj_log(const char *sender, int level, + const char *format, va_list marker); + +/** + * Change log output function. The front-end logging functions will call + * this function to write the actual message to the desired device. + * By default, the front-end functions use pj_log_write() to write + * the messages, unless it's changed by calling this function. + * + * @param func The function that will be called to write the log + * messages to the desired device. + */ +PJ_DECL(void) pj_log_set_log_func( pj_log_func *func ); + +/** + * Get the current log output function that is used to write log messages. + * + * @return Current log output function. + */ +PJ_DECL(pj_log_func*) pj_log_get_log_func(void); + +/** + * Set maximum log level. Application can call this function to set + * the desired level of verbosity of the logging messages. The bigger the + * value, the more verbose the logging messages will be printed. However, + * the maximum level of verbosity can not exceed compile time value of + * PJ_LOG_MAX_LEVEL. + * + * @param level The maximum level of verbosity of the logging + * messages (6=very detailed..1=error only, 0=disabled) + */ +PJ_DECL(void) pj_log_set_level(int level); + +/** + * Get current maximum log verbositylevel. + * + * @return Current log maximum level. + */ +#if 1 +PJ_DECL(int) pj_log_get_level(void); +#else +PJ_DECL_DATA(int) pj_log_max_level; +#define pj_log_get_level() pj_log_max_level +#endif + +/** + * Set log decoration. The log decoration flag controls what are printed + * to output device alongside the actual message. For example, application + * can specify that date/time information should be displayed with each + * log message. + * + * @param decor Bitmask combination of #pj_log_decoration to control + * the layout of the log message. + */ +PJ_DECL(void) pj_log_set_decor(unsigned decor); + +/** + * Get current log decoration flag. + * + * @return Log decoration flag. + */ +PJ_DECL(unsigned) pj_log_get_decor(void); + +/** + * Add indentation to log message. Indentation will add PJ_LOG_INDENT_CHAR + * before the message, and is useful to show the depth of function calls. + * + * @param indent The indentation to add or substract. Positive value + * adds current indent, negative value subtracts current + * indent. + */ +PJ_DECL(void) pj_log_add_indent(int indent); + +/** + * Push indentation to the right by default value (PJ_LOG_INDENT). + */ +PJ_DECL(void) pj_log_push_indent(void); + +/** + * Pop indentation (to the left) by default value (PJ_LOG_INDENT). + */ +PJ_DECL(void) pj_log_pop_indent(void); + +/** + * Set color of log messages. + * + * @param level Log level which color will be changed. + * @param color Desired color. + */ +PJ_DECL(void) pj_log_set_color(int level, pj_color_t color); + +/** + * Get color of log messages. + * + * @param level Log level which color will be returned. + * @return Log color. + */ +PJ_DECL(pj_color_t) pj_log_get_color(int level); + +/** + * Internal function to be called by pj_init() + */ +pj_status_t pj_log_init(void); + +#else /* #if PJ_LOG_MAX_LEVEL >= 1 */ + +/** + * Change log output function. The front-end logging functions will call + * this function to write the actual message to the desired device. + * By default, the front-end functions use pj_log_write() to write + * the messages, unless it's changed by calling this function. + * + * @param func The function that will be called to write the log + * messages to the desired device. + */ +# define pj_log_set_log_func(func) + +/** + * Write to log. + * + * @param sender Source of the message. + * @param level Verbosity level. + * @param format Format. + * @param marker Marker. + */ +# define pj_log(sender, level, format, marker) + +/** + * Set maximum log level. Application can call this function to set + * the desired level of verbosity of the logging messages. The bigger the + * value, the more verbose the logging messages will be printed. However, + * the maximum level of verbosity can not exceed compile time value of + * PJ_LOG_MAX_LEVEL. + * + * @param level The maximum level of verbosity of the logging + * messages (6=very detailed..1=error only, 0=disabled) + */ +# define pj_log_set_level(level) + +/** + * Set log decoration. The log decoration flag controls what are printed + * to output device alongside the actual message. For example, application + * can specify that date/time information should be displayed with each + * log message. + * + * @param decor Bitmask combination of #pj_log_decoration to control + * the layout of the log message. + */ +# define pj_log_set_decor(decor) + +/** + * Add indentation to log message. Indentation will add PJ_LOG_INDENT_CHAR + * before the message, and is useful to show the depth of function calls. + * + * @param indent The indentation to add or substract. Positive value + * adds current indent, negative value subtracts current + * indent. + */ +# define pj_log_add_indent(indent) + +/** + * Push indentation to the right by default value (PJ_LOG_INDENT). + */ +# define pj_log_push_indent() + +/** + * Pop indentation (to the left) by default value (PJ_LOG_INDENT). + */ +# define pj_log_pop_indent() + +/** + * Set color of log messages. + * + * @param level Log level which color will be changed. + * @param color Desired color. + */ +# define pj_log_set_color(level, color) + +/** + * Get current maximum log verbositylevel. + * + * @return Current log maximum level. + */ +# define pj_log_get_level() 0 + +/** + * Get current log decoration flag. + * + * @return Log decoration flag. + */ +# define pj_log_get_decor() 0 + +/** + * Get color of log messages. + * + * @param level Log level which color will be returned. + * @return Log color. + */ +# define pj_log_get_color(level) 0 + + +/** + * Internal. + */ +# define pj_log_init() PJ_SUCCESS + +#endif /* #if PJ_LOG_MAX_LEVEL >= 1 */ + +/** + * @} + */ + +/* **************************************************************************/ +/* + * Log functions implementation prototypes. + * These functions are called by PJ_LOG macros according to verbosity + * level specified when calling the macro. Applications should not normally + * need to call these functions directly. + */ + +/** + * @def pj_log_wrapper_1(arg) + * Internal function to write log with verbosity 1. Will evaluate to + * empty expression if PJ_LOG_MAX_LEVEL is below 1. + * @param arg Log expression. + */ +#if PJ_LOG_MAX_LEVEL >= 1 + #define pj_log_wrapper_1(arg) pj_log_1 arg + /** Internal function. */ + PJ_DECL(void) pj_log_1(const char *src, const char *format, ...); +#else + #define pj_log_wrapper_1(arg) +#endif + +/** + * @def pj_log_wrapper_2(arg) + * Internal function to write log with verbosity 2. Will evaluate to + * empty expression if PJ_LOG_MAX_LEVEL is below 2. + * @param arg Log expression. + */ +#if PJ_LOG_MAX_LEVEL >= 2 + #define pj_log_wrapper_2(arg) pj_log_2 arg + /** Internal function. */ + PJ_DECL(void) pj_log_2(const char *src, const char *format, ...); +#else + #define pj_log_wrapper_2(arg) +#endif + +/** + * @def pj_log_wrapper_3(arg) + * Internal function to write log with verbosity 3. Will evaluate to + * empty expression if PJ_LOG_MAX_LEVEL is below 3. + * @param arg Log expression. + */ +#if PJ_LOG_MAX_LEVEL >= 3 + #define pj_log_wrapper_3(arg) pj_log_3 arg + /** Internal function. */ + PJ_DECL(void) pj_log_3(const char *src, const char *format, ...); +#else + #define pj_log_wrapper_3(arg) +#endif + +/** + * @def pj_log_wrapper_4(arg) + * Internal function to write log with verbosity 4. Will evaluate to + * empty expression if PJ_LOG_MAX_LEVEL is below 4. + * @param arg Log expression. + */ +#if PJ_LOG_MAX_LEVEL >= 4 + #define pj_log_wrapper_4(arg) pj_log_4 arg + /** Internal function. */ + PJ_DECL(void) pj_log_4(const char *src, const char *format, ...); +#else + #define pj_log_wrapper_4(arg) +#endif + +/** + * @def pj_log_wrapper_5(arg) + * Internal function to write log with verbosity 5. Will evaluate to + * empty expression if PJ_LOG_MAX_LEVEL is below 5. + * @param arg Log expression. + */ +#if PJ_LOG_MAX_LEVEL >= 5 + #define pj_log_wrapper_5(arg) pj_log_5 arg + /** Internal function. */ + PJ_DECL(void) pj_log_5(const char *src, const char *format, ...); +#else + #define pj_log_wrapper_5(arg) +#endif + +/** + * @def pj_log_wrapper_6(arg) + * Internal function to write log with verbosity 6. Will evaluate to + * empty expression if PJ_LOG_MAX_LEVEL is below 6. + * @param arg Log expression. + */ +#if PJ_LOG_MAX_LEVEL >= 6 + #define pj_log_wrapper_6(arg) pj_log_6 arg + /** Internal function. */ + PJ_DECL(void) pj_log_6(const char *src, const char *format, ...); +#else + #define pj_log_wrapper_6(arg) +#endif + + +PJ_END_DECL + +#endif /* __PJ_LOG_H__ */ + diff --git a/pjlib/include/pj/math.h b/pjlib/include/pj/math.h new file mode 100644 index 0000000..22f3e4d --- /dev/null +++ b/pjlib/include/pj/math.h @@ -0,0 +1,197 @@ +/* $Id: math.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __PJ_MATH_H__ +#define __PJ_MATH_H__ + +/** + * @file math.h + * @brief Mathematics and Statistics. + */ + +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup pj_math Mathematics and Statistics + * @ingroup PJ_MISC + * @{ + * + * Provides common mathematics constants and operations, and also standard + * statistics calculation (min, max, mean, standard deviation). Statistics + * calculation is done in realtime (statistics state is updated on time each + * new sample comes). + */ + +/** + * Mathematical constants + */ +#define PJ_PI 3.14159265358979323846 /* pi */ +#define PJ_1_PI 0.318309886183790671538 /* 1/pi */ + +/** + * Mathematical macro + */ +#define PJ_ABS(x) ((x) > 0 ? (x) : -(x)) +#define PJ_MAX(x, y) ((x) > (y)? (x) : (y)) +#define PJ_MIN(x, y) ((x) < (y)? (x) : (y)) + +/** + * This structure describes statistics state. + */ +typedef struct pj_math_stat +{ + int n; /* number of samples */ + int max; /* maximum value */ + int min; /* minimum value */ + int last; /* last value */ + int mean; /* mean */ + + /* Private members */ +#if PJ_HAS_FLOATING_POINT + float fmean_; /* mean(floating point) */ +#else + int mean_res_; /* mean residu */ +#endif + pj_highprec_t m2_; /* variance * n */ +} pj_math_stat; + +/** + * Calculate integer square root of an integer. + * + * @param i Integer to be calculated. + * + * @return Square root result. + */ +PJ_INLINE(unsigned) pj_isqrt(unsigned i) +{ + unsigned res = 1, prev; + + /* Rough guess, calculate half bit of input */ + prev = i >> 2; + while (prev) { + prev >>= 2; + res <<= 1; + } + + /* Babilonian method */ + do { + prev = res; + res = (prev + i/prev) >> 1; + } while ((prev+res)>>1 != res); + + return res; +} + +/** + * Initialize statistics state. + * + * @param stat Statistic state. + */ +PJ_INLINE(void) pj_math_stat_init(pj_math_stat *stat) +{ + pj_bzero(stat, sizeof(pj_math_stat)); +} + +/** + * Update statistics state as a new sample comes. + * + * @param stat Statistic state. + * @param val The new sample data. + */ +PJ_INLINE(void) pj_math_stat_update(pj_math_stat *stat, int val) +{ +#if PJ_HAS_FLOATING_POINT + float delta; +#else + int delta; +#endif + + stat->last = val; + + if (stat->n++) { + if (stat->min > val) + stat->min = val; + if (stat->max < val) + stat->max = val; + } else { + stat->min = stat->max = val; + } + +#if PJ_HAS_FLOATING_POINT + delta = val - stat->fmean_; + stat->fmean_ += delta/stat->n; + + /* Return mean value with 'rounding' */ + stat->mean = (int) (stat->fmean_ + 0.5); + + stat->m2_ += (int)(delta * (val-stat->fmean_)); +#else + delta = val - stat->mean; + stat->mean += delta/stat->n; + stat->mean_res_ += delta % stat->n; + if (stat->mean_res_ >= stat->n) { + ++stat->mean; + stat->mean_res_ -= stat->n; + } else if (stat->mean_res_ <= -stat->n) { + --stat->mean; + stat->mean_res_ += stat->n; + } + + stat->m2_ += delta * (val-stat->mean); +#endif +} + +/** + * Get the standard deviation of specified statistics state. + * + * @param stat Statistic state. + * + * @return The standard deviation. + */ +PJ_INLINE(unsigned) pj_math_stat_get_stddev(const pj_math_stat *stat) +{ + if (stat->n == 0) return 0; + return (pj_isqrt((unsigned)(stat->m2_/stat->n))); +} + +/** + * Set the standard deviation of statistics state. This is useful when + * the statistic state is operated in 'read-only' mode as a storage of + * statistical data. + * + * @param stat Statistic state. + * + * @param dev The standard deviation. + */ +PJ_INLINE(void) pj_math_stat_set_stddev(pj_math_stat *stat, unsigned dev) +{ + if (stat->n == 0) + stat->n = 1; + stat->m2_ = dev*dev*stat->n; +} + +/** @} */ + +PJ_END_DECL + +#endif /* __PJ_MATH_H__ */ diff --git a/pjlib/include/pj/os.h b/pjlib/include/pj/os.h new file mode 100644 index 0000000..0516c4c --- /dev/null +++ b/pjlib/include/pj/os.h @@ -0,0 +1,1480 @@ +/* $Id: os.h 5012 2015-03-22 07:50:28Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_OS_H__ +#define __PJ_OS_H__ + +/** + * @file os.h + * @brief OS dependent functions + */ +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_OS Operating System Dependent Functionality. + */ + + +/* **************************************************************************/ +/** + * @defgroup PJ_SYS_INFO System Information + * @ingroup PJ_OS + * @{ + */ + +/** + * These enumeration contains constants to indicate support of miscellaneous + * system features. These will go in "flags" field of #pj_sys_info structure. + */ +typedef enum pj_sys_info_flag +{ + /** + * Support for Apple iOS background feature. + */ + PJ_SYS_HAS_IOS_BG = 1 + +} pj_sys_info_flag; + + +/** + * This structure contains information about the system. Use #pj_get_sys_info() + * to obtain the system information. + */ +typedef struct pj_sys_info +{ + /** + * Null terminated string containing processor information (e.g. "i386", + * "x86_64"). It may contain empty string if the value cannot be obtained. + */ + pj_str_t machine; + + /** + * Null terminated string identifying the system operation (e.g. "Linux", + * "win32", "wince"). It may contain empty string if the value cannot be + * obtained. + */ + pj_str_t os_name; + + /** + * A number containing the operating system version number. By convention, + * this field is divided into four bytes, where the highest order byte + * contains the most major version of the OS, the next less significant + * byte contains the less major version, and so on. How the OS version + * number is mapped into these four bytes would be specific for each OS. + * For example, Linux-2.6.32-28 would yield "os_ver" value of 0x0206201c, + * while for Windows 7 it will be 0x06010000 (because dwMajorVersion is + * 6 and dwMinorVersion is 1 for Windows 7). + * + * This field may contain zero if the OS version cannot be obtained. + */ + pj_uint32_t os_ver; + + /** + * Null terminated string identifying the SDK name that is used to build + * the library (e.g. "glibc", "uclibc", "msvc", "wince"). It may contain + * empty string if the value cannot eb obtained. + */ + pj_str_t sdk_name; + + /** + * A number containing the SDK version, using the numbering convention as + * the "os_ver" field. The value will be zero if the version cannot be + * obtained. + */ + pj_uint32_t sdk_ver; + + /** + * A longer null terminated string identifying the underlying system with + * as much information as possible. + */ + pj_str_t info; + + /** + * Other flags containing system specific information. The value is + * bitmask of #pj_sys_info_flag constants. + */ + pj_uint32_t flags; + +} pj_sys_info; + + +/** + * Obtain the system information. + * + * @return System information structure. + */ +PJ_DECL(const pj_sys_info*) pj_get_sys_info(void); + +/* + * @} + */ + +/* **************************************************************************/ +/** + * @defgroup PJ_THREAD Threads + * @ingroup PJ_OS + * @{ + * This module provides multithreading API. + * + * \section pj_thread_examples_sec Examples + * + * For examples, please see: + * - \ref page_pjlib_thread_test + * - \ref page_pjlib_sleep_test + * + */ + +/** + * Thread creation flags: + * - PJ_THREAD_SUSPENDED: specify that the thread should be created suspended. + */ +typedef enum pj_thread_create_flags +{ + PJ_THREAD_SUSPENDED = 1 +} pj_thread_create_flags; + + +/** + * Type of thread entry function. + */ +typedef int (PJ_THREAD_FUNC pj_thread_proc)(void*); + +/** + * Size of thread struct. + */ +#if !defined(PJ_THREAD_DESC_SIZE) +# define PJ_THREAD_DESC_SIZE (64) +#endif + +/** + * Thread structure, to thread's state when the thread is created by external + * or native API. + */ +typedef long pj_thread_desc[PJ_THREAD_DESC_SIZE]; + +/** + * Get process ID. + * @return process ID. + */ +PJ_DECL(pj_uint32_t) pj_getpid(void); + +/** + * Create a new thread. + * + * @param pool The memory pool from which the thread record + * will be allocated from. + * @param thread_name The optional name to be assigned to the thread. + * @param proc Thread entry function. + * @param arg Argument to be passed to the thread entry function. + * @param stack_size The size of the stack for the new thread, or ZERO or + * PJ_THREAD_DEFAULT_STACK_SIZE to let the + * library choose the reasonable size for the stack. + * For some systems, the stack will be allocated from + * the pool, so the pool must have suitable capacity. + * @param flags Flags for thread creation, which is bitmask combination + * from enum pj_thread_create_flags. + * @param thread Pointer to hold the newly created thread. + * + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_thread_create( pj_pool_t *pool, + const char *thread_name, + pj_thread_proc *proc, + void *arg, + pj_size_t stack_size, + unsigned flags, + pj_thread_t **thread ); + +/** + * Register a thread that was created by external or native API to PJLIB. + * This function must be called in the context of the thread being registered. + * When the thread is created by external function or API call, + * it must be 'registered' to PJLIB using pj_thread_register(), so that it can + * cooperate with PJLIB's framework. During registration, some data needs to + * be maintained, and this data must remain available during the thread's + * lifetime. + * + * @param thread_name The optional name to be assigned to the thread. + * @param desc Thread descriptor, which must be available throughout + * the lifetime of the thread. + * @param thread Pointer to hold the created thread handle. + * + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_thread_register ( const char *thread_name, + pj_thread_desc desc, + pj_thread_t **thread); + +/** + * Check if this thread has been registered to PJLIB. + * + * @return Non-zero if it is registered. + */ +PJ_DECL(pj_bool_t) pj_thread_is_registered(void); + + +/** + * Get thread priority value for the thread. + * + * @param thread Thread handle. + * + * @return Thread priority value, or -1 on error. + */ +PJ_DECL(int) pj_thread_get_prio(pj_thread_t *thread); + + +/** + * Set the thread priority. The priority value must be in the priority + * value range, which can be retrieved with #pj_thread_get_prio_min() and + * #pj_thread_get_prio_max() functions. + * + * @param thread Thread handle. + * @param prio New priority to be set to the thread. + * + * @return PJ_SUCCESS on success or the error code. + */ +PJ_DECL(pj_status_t) pj_thread_set_prio(pj_thread_t *thread, int prio); + +/** + * Get the lowest priority value available for this thread. + * + * @param thread Thread handle. + * @return Minimum thread priority value, or -1 on error. + */ +PJ_DECL(int) pj_thread_get_prio_min(pj_thread_t *thread); + + +/** + * Get the highest priority value available for this thread. + * + * @param thread Thread handle. + * @return Minimum thread priority value, or -1 on error. + */ +PJ_DECL(int) pj_thread_get_prio_max(pj_thread_t *thread); + + +/** + * Return native handle from pj_thread_t for manipulation using native + * OS APIs. + * + * @param thread PJLIB thread descriptor. + * + * @return Native thread handle. For example, when the + * backend thread uses pthread, this function will + * return pointer to pthread_t, and on Windows, + * this function will return HANDLE. + */ +PJ_DECL(void*) pj_thread_get_os_handle(pj_thread_t *thread); + +/** + * Get thread name. + * + * @param thread The thread handle. + * + * @return Thread name as null terminated string. + */ +PJ_DECL(const char*) pj_thread_get_name(pj_thread_t *thread); + +/** + * Resume a suspended thread. + * + * @param thread The thread handle. + * + * @return zero on success. + */ +PJ_DECL(pj_status_t) pj_thread_resume(pj_thread_t *thread); + +/** + * Get the current thread. + * + * @return Thread handle of current thread. + */ +PJ_DECL(pj_thread_t*) pj_thread_this(void); + +/** + * Join thread, and block the caller thread until the specified thread exits. + * If it is called from within the thread itself, it will return immediately + * with failure status. + * If the specified thread has already been dead, or it does not exist, + * the function will return immediately with successful status. + * + * @param thread The thread handle. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pj_thread_join(pj_thread_t *thread); + + +/** + * Destroy thread and release resources allocated for the thread. + * However, the memory allocated for the pj_thread_t itself will only be released + * when the pool used to create the thread is destroyed. + * + * @param thread The thread handle. + * + * @return zero on success. + */ +PJ_DECL(pj_status_t) pj_thread_destroy(pj_thread_t *thread); + + +/** + * Put the current thread to sleep for the specified miliseconds. + * + * @param msec Miliseconds delay. + * + * @return zero if successfull. + */ +PJ_DECL(pj_status_t) pj_thread_sleep(unsigned msec); + +/** + * @def PJ_CHECK_STACK() + * PJ_CHECK_STACK() macro is used to check the sanity of the stack. + * The OS implementation may check that no stack overflow occurs, and + * it also may collect statistic about stack usage. + */ +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 + +# define PJ_CHECK_STACK() pj_thread_check_stack(__FILE__, __LINE__) + +/** @internal + * The implementation of stack checking. + */ +PJ_DECL(void) pj_thread_check_stack(const char *file, int line); + +/** @internal + * Get maximum stack usage statistic. + */ +PJ_DECL(pj_uint32_t) pj_thread_get_stack_max_usage(pj_thread_t *thread); + +/** @internal + * Dump thread stack status. + */ +PJ_DECL(pj_status_t) pj_thread_get_stack_info(pj_thread_t *thread, + const char **file, + int *line); +#else + +# define PJ_CHECK_STACK() +/** pj_thread_get_stack_max_usage() for the thread */ +# define pj_thread_get_stack_max_usage(thread) 0 +/** pj_thread_get_stack_info() for the thread */ +# define pj_thread_get_stack_info(thread,f,l) (*(f)="",*(l)=0) +#endif /* PJ_OS_HAS_CHECK_STACK */ + +/** + * @} + */ + +/* **************************************************************************/ +/** + * @defgroup PJ_SYMBIAN_OS Symbian OS Specific + * @ingroup PJ_OS + * @{ + * Functionalities specific to Symbian OS. + * + * Symbian OS strongly discourages the use of polling since this wastes + * CPU power, and instead provides Active Object and Active Scheduler + * pattern to allow application (in this case, PJLIB) to register asynchronous + * tasks. PJLIB port for Symbian complies to this recommended behavior. + * As the result, few things have been changed in PJLIB for Symbian: + * - the timer heap (see @ref PJ_TIMER) is implemented with active + * object framework, and each timer entry registered to the timer + * heap will register an Active Object to the Active Scheduler. + * Because of this, polling the timer heap with pj_timer_heap_poll() + * is no longer necessary, and this function will just evaluate + * to nothing. + * - the ioqueue (see @ref PJ_IOQUEUE) is also implemented with + * active object framework, with each asynchronous operation will + * register an Active Object to the Active Scheduler. Because of + * this, polling the ioqueue with pj_ioqueue_poll() is no longer + * necessary, and this function will just evaluate to nothing. + * + * Since timer heap and ioqueue polling are no longer necessary, Symbian + * application can now poll for all events by calling + * \a User::WaitForAnyRequest() and \a CActiveScheduler::RunIfReady(). + * PJLIB provides a thin wrapper which calls these two functions, + * called pj_symbianos_poll(). + */ + +/** + * Wait the completion of any Symbian active objects. When the timeout + * value is not specified (the \a ms_timeout argument is -1), this + * function is a thin wrapper which calls \a User::WaitForAnyRequest() + * and \a CActiveScheduler::RunIfReady(). If the timeout value is + * specified, this function will schedule a timer entry to the timer + * heap (which is an Active Object), to limit the wait time for event + * occurences. Scheduling a timer entry is an expensive operation, + * therefore application should only specify a timeout value when it's + * really necessary (for example, when it's not sure there are other + * Active Objects currently running in the application). + * + * @param priority The minimum priority of the Active Objects to + * poll, which values are from CActive::TPriority + * constants. If -1 is given, CActive::EPriorityStandard. + * priority will be used. + * @param ms_timeout Optional timeout to wait. Application should + * specify -1 to let the function wait indefinitely + * for any events. + * + * @return PJ_TRUE if there have been any events executed + * during the polling. This function will only return + * PJ_FALSE if \a ms_timeout argument is specified + * (i.e. the value is not -1) and there was no event + * executed when the timeout timer elapsed. + */ +PJ_DECL(pj_bool_t) pj_symbianos_poll(int priority, int ms_timeout); + + +/** + * This structure declares Symbian OS specific parameters that can be + * specified when calling #pj_symbianos_set_params(). + */ +typedef struct pj_symbianos_params +{ + /** + * Optional RSocketServ instance to be used by PJLIB. If this + * value is NULL, PJLIB will create a new RSocketServ instance + * when pj_init() is called. + */ + void *rsocketserv; + + /** + * Optional RConnection instance to be used by PJLIB when creating + * sockets. If this value is NULL, no RConnection will be + * specified when creating sockets. + */ + void *rconnection; + + /** + * Optional RHostResolver instance to be used by PJLIB. If this value + * is NULL, a new RHostResolver instance will be created when + * pj_init() is called. + */ + void *rhostresolver; + + /** + * Optional RHostResolver for IPv6 instance to be used by PJLIB. + * If this value is NULL, a new RHostResolver instance will be created + * when pj_init() is called. + */ + void *rhostresolver6; + +} pj_symbianos_params; + +/** + * Specify Symbian OS parameters to be used by PJLIB. This function MUST + * be called before #pj_init() is called. + * + * @param prm Symbian specific parameters. + * + * @return PJ_SUCCESS if the parameters can be applied + * successfully. + */ +PJ_DECL(pj_status_t) pj_symbianos_set_params(pj_symbianos_params *prm); + +/** + * Notify PJLIB that the access point connection has been down or unusable + * and PJLIB should not try to access the Symbian socket API (especially ones + * that send packets). Sending packet when RConnection is reconnected to + * different access point may cause the WaitForRequest() for the function to + * block indefinitely. + * + * @param up If set to PJ_FALSE it will cause PJLIB to not try + * to access socket API, and error will be returned + * immediately instead. + */ +PJ_DECL(void) pj_symbianos_set_connection_status(pj_bool_t up); + +/** + * @} + */ + +/* **************************************************************************/ +/** + * @defgroup PJ_TLS Thread Local Storage. + * @ingroup PJ_OS + * @{ + */ + +/** + * Allocate thread local storage index. The initial value of the variable at + * the index is zero. + * + * @param index Pointer to hold the return value. + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_thread_local_alloc(long *index); + +/** + * Deallocate thread local variable. + * + * @param index The variable index. + */ +PJ_DECL(void) pj_thread_local_free(long index); + +/** + * Set the value of thread local variable. + * + * @param index The index of the variable. + * @param value The value. + */ +PJ_DECL(pj_status_t) pj_thread_local_set(long index, void *value); + +/** + * Get the value of thread local variable. + * + * @param index The index of the variable. + * @return The value. + */ +PJ_DECL(void*) pj_thread_local_get(long index); + + +/** + * @} + */ + + +/* **************************************************************************/ +/** + * @defgroup PJ_ATOMIC Atomic Variables + * @ingroup PJ_OS + * @{ + * + * This module provides API to manipulate atomic variables. + * + * \section pj_atomic_examples_sec Examples + * + * For some example codes, please see: + * - @ref page_pjlib_atomic_test + */ + + +/** + * Create atomic variable. + * + * @param pool The pool. + * @param initial The initial value of the atomic variable. + * @param atomic Pointer to hold the atomic variable upon return. + * + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_atomic_create( pj_pool_t *pool, + pj_atomic_value_t initial, + pj_atomic_t **atomic ); + +/** + * Destroy atomic variable. + * + * @param atomic_var the atomic variable. + * + * @return PJ_SUCCESS if success. + */ +PJ_DECL(pj_status_t) pj_atomic_destroy( pj_atomic_t *atomic_var ); + +/** + * Set the value of an atomic type, and return the previous value. + * + * @param atomic_var the atomic variable. + * @param value value to be set to the variable. + */ +PJ_DECL(void) pj_atomic_set( pj_atomic_t *atomic_var, + pj_atomic_value_t value); + +/** + * Get the value of an atomic type. + * + * @param atomic_var the atomic variable. + * + * @return the value of the atomic variable. + */ +PJ_DECL(pj_atomic_value_t) pj_atomic_get(pj_atomic_t *atomic_var); + +/** + * Increment the value of an atomic type. + * + * @param atomic_var the atomic variable. + */ +PJ_DECL(void) pj_atomic_inc(pj_atomic_t *atomic_var); + +/** + * Increment the value of an atomic type and get the result. + * + * @param atomic_var the atomic variable. + * + * @return The incremented value. + */ +PJ_DECL(pj_atomic_value_t) pj_atomic_inc_and_get(pj_atomic_t *atomic_var); + +/** + * Decrement the value of an atomic type. + * + * @param atomic_var the atomic variable. + */ +PJ_DECL(void) pj_atomic_dec(pj_atomic_t *atomic_var); + +/** + * Decrement the value of an atomic type and get the result. + * + * @param atomic_var the atomic variable. + * + * @return The decremented value. + */ +PJ_DECL(pj_atomic_value_t) pj_atomic_dec_and_get(pj_atomic_t *atomic_var); + +/** + * Add a value to an atomic type. + * + * @param atomic_var The atomic variable. + * @param value Value to be added. + */ +PJ_DECL(void) pj_atomic_add( pj_atomic_t *atomic_var, + pj_atomic_value_t value); + +/** + * Add a value to an atomic type and get the result. + * + * @param atomic_var The atomic variable. + * @param value Value to be added. + * + * @return The result after the addition. + */ +PJ_DECL(pj_atomic_value_t) pj_atomic_add_and_get( pj_atomic_t *atomic_var, + pj_atomic_value_t value); + +/** + * @} + */ + +/* **************************************************************************/ +/** + * @defgroup PJ_MUTEX Mutexes. + * @ingroup PJ_OS + * @{ + * + * Mutex manipulation. Alternatively, application can use higher abstraction + * for lock objects, which provides uniform API for all kinds of lock + * mechanisms, including mutex. See @ref PJ_LOCK for more information. + */ + +/** + * Mutex types: + * - PJ_MUTEX_DEFAULT: default mutex type, which is system dependent. + * - PJ_MUTEX_SIMPLE: non-recursive mutex. + * - PJ_MUTEX_RECURSE: recursive mutex. + */ +typedef enum pj_mutex_type_e +{ + PJ_MUTEX_DEFAULT, + PJ_MUTEX_SIMPLE, + PJ_MUTEX_RECURSE +} pj_mutex_type_e; + + +/** + * Create mutex of the specified type. + * + * @param pool The pool. + * @param name Name to be associated with the mutex (for debugging). + * @param type The type of the mutex, of type #pj_mutex_type_e. + * @param mutex Pointer to hold the returned mutex instance. + * + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_mutex_create(pj_pool_t *pool, + const char *name, + int type, + pj_mutex_t **mutex); + +/** + * Create simple, non-recursive mutex. + * This function is a simple wrapper for #pj_mutex_create to create + * non-recursive mutex. + * + * @param pool The pool. + * @param name Mutex name. + * @param mutex Pointer to hold the returned mutex instance. + * + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_mutex_create_simple( pj_pool_t *pool, const char *name, + pj_mutex_t **mutex ); + +/** + * Create recursive mutex. + * This function is a simple wrapper for #pj_mutex_create to create + * recursive mutex. + * + * @param pool The pool. + * @param name Mutex name. + * @param mutex Pointer to hold the returned mutex instance. + * + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_mutex_create_recursive( pj_pool_t *pool, + const char *name, + pj_mutex_t **mutex ); + +/** + * Acquire mutex lock. + * + * @param mutex The mutex. + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_mutex_lock(pj_mutex_t *mutex); + +/** + * Release mutex lock. + * + * @param mutex The mutex. + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_mutex_unlock(pj_mutex_t *mutex); + +/** + * Try to acquire mutex lock. + * + * @param mutex The mutex. + * @return PJ_SUCCESS on success, or the error code if the + * lock couldn't be acquired. + */ +PJ_DECL(pj_status_t) pj_mutex_trylock(pj_mutex_t *mutex); + +/** + * Destroy mutex. + * + * @param mutex Te mutex. + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_mutex_destroy(pj_mutex_t *mutex); + +/** + * Determine whether calling thread is owning the mutex (only available when + * PJ_DEBUG is set). + * @param mutex The mutex. + * @return Non-zero if yes. + */ +PJ_DECL(pj_bool_t) pj_mutex_is_locked(pj_mutex_t *mutex); + +/** + * @} + */ + +/* **************************************************************************/ +/** + * @defgroup PJ_RW_MUTEX Reader/Writer Mutex + * @ingroup PJ_OS + * @{ + * Reader/writer mutex is a classic synchronization object where multiple + * readers can acquire the mutex, but only a single writer can acquire the + * mutex. + */ + +/** + * Opaque declaration for reader/writer mutex. + * Reader/writer mutex is a classic synchronization object where multiple + * readers can acquire the mutex, but only a single writer can acquire the + * mutex. + */ +typedef struct pj_rwmutex_t pj_rwmutex_t; + +/** + * Create reader/writer mutex. + * + * @param pool Pool to allocate memory for the mutex. + * @param name Name to be assigned to the mutex. + * @param mutex Pointer to receive the newly created mutex. + * + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_rwmutex_create(pj_pool_t *pool, const char *name, + pj_rwmutex_t **mutex); + +/** + * Lock the mutex for reading. + * + * @param mutex The mutex. + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_rwmutex_lock_read(pj_rwmutex_t *mutex); + +/** + * Lock the mutex for writing. + * + * @param mutex The mutex. + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_rwmutex_lock_write(pj_rwmutex_t *mutex); + +/** + * Release read lock. + * + * @param mutex The mutex. + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_rwmutex_unlock_read(pj_rwmutex_t *mutex); + +/** + * Release write lock. + * + * @param mutex The mutex. + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_rwmutex_unlock_write(pj_rwmutex_t *mutex); + +/** + * Destroy reader/writer mutex. + * + * @param mutex The mutex. + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_rwmutex_destroy(pj_rwmutex_t *mutex); + + +/** + * @} + */ + + +/* **************************************************************************/ +/** + * @defgroup PJ_CRIT_SEC Critical sections. + * @ingroup PJ_OS + * @{ + * Critical section protection can be used to protect regions where: + * - mutual exclusion protection is needed. + * - it's rather too expensive to create a mutex. + * - the time spent in the region is very very brief. + * + * Critical section is a global object, and it prevents any threads from + * entering any regions that are protected by critical section once a thread + * is already in the section. + * + * Critial section is \a not recursive! + * + * Application MUST NOT call any functions that may cause current + * thread to block (such as allocating memory, performing I/O, locking mutex, + * etc.) while holding the critical section. + */ +/** + * Enter critical section. + */ +PJ_DECL(void) pj_enter_critical_section(void); + +/** + * Leave critical section. + */ +PJ_DECL(void) pj_leave_critical_section(void); + +/** + * @} + */ + +/* **************************************************************************/ +#if defined(PJ_HAS_SEMAPHORE) && PJ_HAS_SEMAPHORE != 0 +/** + * @defgroup PJ_SEM Semaphores. + * @ingroup PJ_OS + * @{ + * + * This module provides abstraction for semaphores, where available. + */ + +/** + * Create semaphore. + * + * @param pool The pool. + * @param name Name to be assigned to the semaphore (for logging purpose) + * @param initial The initial count of the semaphore. + * @param max The maximum count of the semaphore. + * @param sem Pointer to hold the semaphore created. + * + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_sem_create( pj_pool_t *pool, + const char *name, + unsigned initial, + unsigned max, + pj_sem_t **sem); + +/** + * Wait for semaphore. + * + * @param sem The semaphore. + * + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_sem_wait(pj_sem_t *sem); + +/** + * Try wait for semaphore. + * + * @param sem The semaphore. + * + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_sem_trywait(pj_sem_t *sem); + +/** + * Release semaphore. + * + * @param sem The semaphore. + * + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_sem_post(pj_sem_t *sem); + +/** + * Destroy semaphore. + * + * @param sem The semaphore. + * + * @return PJ_SUCCESS on success, or the error code. + */ +PJ_DECL(pj_status_t) pj_sem_destroy(pj_sem_t *sem); + +/** + * @} + */ +#endif /* PJ_HAS_SEMAPHORE */ + + +/* **************************************************************************/ +#if defined(PJ_HAS_EVENT_OBJ) && PJ_HAS_EVENT_OBJ != 0 +/** + * @defgroup PJ_EVENT Event Object. + * @ingroup PJ_OS + * @{ + * + * This module provides abstraction to event object (e.g. Win32 Event) where + * available. Event objects can be used for synchronization among threads. + */ + +/** + * Create event object. + * + * @param pool The pool. + * @param name The name of the event object (for logging purpose). + * @param manual_reset Specify whether the event is manual-reset + * @param initial Specify the initial state of the event object. + * @param event Pointer to hold the returned event object. + * + * @return event handle, or NULL if failed. + */ +PJ_DECL(pj_status_t) pj_event_create(pj_pool_t *pool, const char *name, + pj_bool_t manual_reset, pj_bool_t initial, + pj_event_t **event); + +/** + * Wait for event to be signaled. + * + * @param event The event object. + * + * @return zero if successfull. + */ +PJ_DECL(pj_status_t) pj_event_wait(pj_event_t *event); + +/** + * Try wait for event object to be signalled. + * + * @param event The event object. + * + * @return zero if successfull. + */ +PJ_DECL(pj_status_t) pj_event_trywait(pj_event_t *event); + +/** + * Set the event object state to signaled. For auto-reset event, this + * will only release the first thread that are waiting on the event. For + * manual reset event, the state remains signaled until the event is reset. + * If there is no thread waiting on the event, the event object state + * remains signaled. + * + * @param event The event object. + * + * @return zero if successfull. + */ +PJ_DECL(pj_status_t) pj_event_set(pj_event_t *event); + +/** + * Set the event object to signaled state to release appropriate number of + * waiting threads and then reset the event object to non-signaled. For + * manual-reset event, this function will release all waiting threads. For + * auto-reset event, this function will only release one waiting thread. + * + * @param event The event object. + * + * @return zero if successfull. + */ +PJ_DECL(pj_status_t) pj_event_pulse(pj_event_t *event); + +/** + * Set the event object state to non-signaled. + * + * @param event The event object. + * + * @return zero if successfull. + */ +PJ_DECL(pj_status_t) pj_event_reset(pj_event_t *event); + +/** + * Destroy the event object. + * + * @param event The event object. + * + * @return zero if successfull. + */ +PJ_DECL(pj_status_t) pj_event_destroy(pj_event_t *event); + +/** + * @} + */ +#endif /* PJ_HAS_EVENT_OBJ */ + +/* **************************************************************************/ +/** + * @addtogroup PJ_TIME Time Data Type and Manipulation. + * @ingroup PJ_OS + * @{ + * This module provides API for manipulating time. + * + * \section pj_time_examples_sec Examples + * + * For examples, please see: + * - \ref page_pjlib_sleep_test + */ + +/** + * Get current time of day in local representation. + * + * @param tv Variable to store the result. + * + * @return zero if successfull. + */ +PJ_DECL(pj_status_t) pj_gettimeofday(pj_time_val *tv); + + +/** + * Parse time value into date/time representation. + * + * @param tv The time. + * @param pt Variable to store the date time result. + * + * @return zero if successfull. + */ +PJ_DECL(pj_status_t) pj_time_decode(const pj_time_val *tv, pj_parsed_time *pt); + +/** + * Encode date/time to time value. + * + * @param pt The date/time. + * @param tv Variable to store time value result. + * + * @return zero if successfull. + */ +PJ_DECL(pj_status_t) pj_time_encode(const pj_parsed_time *pt, pj_time_val *tv); + +/** + * Convert local time to GMT. + * + * @param tv Time to convert. + * + * @return zero if successfull. + */ +PJ_DECL(pj_status_t) pj_time_local_to_gmt(pj_time_val *tv); + +/** + * Convert GMT to local time. + * + * @param tv Time to convert. + * + * @return zero if successfull. + */ +PJ_DECL(pj_status_t) pj_time_gmt_to_local(pj_time_val *tv); + +/** + * @} + */ + +/* **************************************************************************/ +#if defined(PJ_TERM_HAS_COLOR) && PJ_TERM_HAS_COLOR != 0 + +/** + * @defgroup PJ_TERM Terminal + * @ingroup PJ_OS + * @{ + */ + +/** + * Set current terminal color. + * + * @param color The RGB color. + * + * @return zero on success. + */ +PJ_DECL(pj_status_t) pj_term_set_color(pj_color_t color); + +/** + * Get current terminal foreground color. + * + * @return RGB color. + */ +PJ_DECL(pj_color_t) pj_term_get_color(void); + +/** + * @} + */ + +#endif /* PJ_TERM_HAS_COLOR */ + +/* **************************************************************************/ +/** + * @defgroup PJ_TIMESTAMP High Resolution Timestamp + * @ingroup PJ_OS + * @{ + * + * PJLIB provides High Resolution Timestamp API to access highest + * resolution timestamp value provided by the platform. The API is usefull + * to measure precise elapsed time, and can be used in applications such + * as profiling. + * + * The timestamp value is represented in cycles, and can be related to + * normal time (in seconds or sub-seconds) using various functions provided. + * + * \section pj_timestamp_examples_sec Examples + * + * For examples, please see: + * - \ref page_pjlib_sleep_test + * - \ref page_pjlib_timestamp_test + */ + +/* + * High resolution timer. + */ +#if defined(PJ_HAS_HIGH_RES_TIMER) && PJ_HAS_HIGH_RES_TIMER != 0 + +/** + * Get monotonic time since some unspecified starting point. + * + * @param tv Variable to store the result. + * + * @return PJ_SUCCESS if successful. + */ +PJ_DECL(pj_status_t) pj_gettickcount(pj_time_val *tv); + +/** + * Acquire high resolution timer value. The time value are stored + * in cycles. + * + * @param ts High resolution timer value. + * @return PJ_SUCCESS or the appropriate error code. + * + * @see pj_get_timestamp_freq(). + */ +PJ_DECL(pj_status_t) pj_get_timestamp(pj_timestamp *ts); + +/** + * Get high resolution timer frequency, in cycles per second. + * + * @param freq Timer frequency, in cycles per second. + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_get_timestamp_freq(pj_timestamp *freq); + +/** + * Set timestamp from 32bit values. + * @param t The timestamp to be set. + * @param hi The high 32bit part. + * @param lo The low 32bit part. + */ +PJ_INLINE(void) pj_set_timestamp32(pj_timestamp *t, pj_uint32_t hi, + pj_uint32_t lo) +{ + t->u32.hi = hi; + t->u32.lo = lo; +} + + +/** + * Compare timestamp t1 and t2. + * @param t1 t1. + * @param t2 t2. + * @return -1 if (t1 < t2), 1 if (t1 > t2), or 0 if (t1 == t2) + */ +PJ_INLINE(int) pj_cmp_timestamp(const pj_timestamp *t1, const pj_timestamp *t2) +{ +#if PJ_HAS_INT64 + if (t1->u64 < t2->u64) + return -1; + else if (t1->u64 > t2->u64) + return 1; + else + return 0; +#else + if (t1->u32.hi < t2->u32.hi || + (t1->u32.hi == t2->u32.hi && t1->u32.lo < t2->u32.lo)) + return -1; + else if (t1->u32.hi > t2->u32.hi || + (t1->u32.hi == t2->u32.hi && t1->u32.lo > t2->u32.lo)) + return 1; + else + return 0; +#endif +} + + +/** + * Add timestamp t2 to t1. + * @param t1 t1. + * @param t2 t2. + */ +PJ_INLINE(void) pj_add_timestamp(pj_timestamp *t1, const pj_timestamp *t2) +{ +#if PJ_HAS_INT64 + t1->u64 += t2->u64; +#else + pj_uint32_t old = t1->u32.lo; + t1->u32.hi += t2->u32.hi; + t1->u32.lo += t2->u32.lo; + if (t1->u32.lo < old) + ++t1->u32.hi; +#endif +} + +/** + * Add timestamp t2 to t1. + * @param t1 t1. + * @param t2 t2. + */ +PJ_INLINE(void) pj_add_timestamp32(pj_timestamp *t1, pj_uint32_t t2) +{ +#if PJ_HAS_INT64 + t1->u64 += t2; +#else + pj_uint32_t old = t1->u32.lo; + t1->u32.lo += t2; + if (t1->u32.lo < old) + ++t1->u32.hi; +#endif +} + +/** + * Substract timestamp t2 from t1. + * @param t1 t1. + * @param t2 t2. + */ +PJ_INLINE(void) pj_sub_timestamp(pj_timestamp *t1, const pj_timestamp *t2) +{ +#if PJ_HAS_INT64 + t1->u64 -= t2->u64; +#else + t1->u32.hi -= t2->u32.hi; + if (t1->u32.lo >= t2->u32.lo) + t1->u32.lo -= t2->u32.lo; + else { + t1->u32.lo -= t2->u32.lo; + --t1->u32.hi; + } +#endif +} + +/** + * Substract timestamp t2 from t1. + * @param t1 t1. + * @param t2 t2. + */ +PJ_INLINE(void) pj_sub_timestamp32(pj_timestamp *t1, pj_uint32_t t2) +{ +#if PJ_HAS_INT64 + t1->u64 -= t2; +#else + if (t1->u32.lo >= t2) + t1->u32.lo -= t2; + else { + t1->u32.lo -= t2; + --t1->u32.hi; + } +#endif +} + +/** + * Get the timestamp difference between t2 and t1 (that is t2 minus t1), + * and return a 32bit signed integer difference. + */ +PJ_INLINE(pj_int32_t) pj_timestamp_diff32(const pj_timestamp *t1, + const pj_timestamp *t2) +{ + /* Be careful with the signess (I think!) */ +#if PJ_HAS_INT64 + pj_int64_t diff = t2->u64 - t1->u64; + return (pj_int32_t) diff; +#else + pj_int32 diff = t2->u32.lo - t1->u32.lo; + return diff; +#endif +} + + +/** + * Calculate the elapsed time, and store it in pj_time_val. + * This function calculates the elapsed time using highest precision + * calculation that is available for current platform, considering + * whether floating point or 64-bit precision arithmetic is available. + * For maximum portability, application should prefer to use this function + * rather than calculating the elapsed time by itself. + * + * @param start The starting timestamp. + * @param stop The end timestamp. + * + * @return Elapsed time as #pj_time_val. + * + * @see pj_elapsed_usec(), pj_elapsed_cycle(), pj_elapsed_nanosec() + */ +PJ_DECL(pj_time_val) pj_elapsed_time( const pj_timestamp *start, + const pj_timestamp *stop ); + +/** + * Calculate the elapsed time as 32-bit miliseconds. + * This function calculates the elapsed time using highest precision + * calculation that is available for current platform, considering + * whether floating point or 64-bit precision arithmetic is available. + * For maximum portability, application should prefer to use this function + * rather than calculating the elapsed time by itself. + * + * @param start The starting timestamp. + * @param stop The end timestamp. + * + * @return Elapsed time in milisecond. + * + * @see pj_elapsed_time(), pj_elapsed_cycle(), pj_elapsed_nanosec() + */ +PJ_DECL(pj_uint32_t) pj_elapsed_msec( const pj_timestamp *start, + const pj_timestamp *stop ); + +/** + * Variant of #pj_elapsed_msec() which returns 64bit value. + */ +PJ_DECL(pj_uint64_t) pj_elapsed_msec64(const pj_timestamp *start, + const pj_timestamp *stop ); + +/** + * Calculate the elapsed time in 32-bit microseconds. + * This function calculates the elapsed time using highest precision + * calculation that is available for current platform, considering + * whether floating point or 64-bit precision arithmetic is available. + * For maximum portability, application should prefer to use this function + * rather than calculating the elapsed time by itself. + * + * @param start The starting timestamp. + * @param stop The end timestamp. + * + * @return Elapsed time in microsecond. + * + * @see pj_elapsed_time(), pj_elapsed_cycle(), pj_elapsed_nanosec() + */ +PJ_DECL(pj_uint32_t) pj_elapsed_usec( const pj_timestamp *start, + const pj_timestamp *stop ); + +/** + * Calculate the elapsed time in 32-bit nanoseconds. + * This function calculates the elapsed time using highest precision + * calculation that is available for current platform, considering + * whether floating point or 64-bit precision arithmetic is available. + * For maximum portability, application should prefer to use this function + * rather than calculating the elapsed time by itself. + * + * @param start The starting timestamp. + * @param stop The end timestamp. + * + * @return Elapsed time in nanoseconds. + * + * @see pj_elapsed_time(), pj_elapsed_cycle(), pj_elapsed_usec() + */ +PJ_DECL(pj_uint32_t) pj_elapsed_nanosec( const pj_timestamp *start, + const pj_timestamp *stop ); + +/** + * Calculate the elapsed time in 32-bit cycles. + * This function calculates the elapsed time using highest precision + * calculation that is available for current platform, considering + * whether floating point or 64-bit precision arithmetic is available. + * For maximum portability, application should prefer to use this function + * rather than calculating the elapsed time by itself. + * + * @param start The starting timestamp. + * @param stop The end timestamp. + * + * @return Elapsed time in cycles. + * + * @see pj_elapsed_usec(), pj_elapsed_time(), pj_elapsed_nanosec() + */ +PJ_DECL(pj_uint32_t) pj_elapsed_cycle( const pj_timestamp *start, + const pj_timestamp *stop ); + + +#endif /* PJ_HAS_HIGH_RES_TIMER */ + +/** @} */ + + +/* **************************************************************************/ +/** + * @defgroup PJ_APP_OS Application execution + * @ingroup PJ_OS + * @{ + */ + +/** + * Type for application main function. + */ +typedef int (*pj_main_func_ptr)(int argc, char *argv[]); + +/** + * Run the application. This function has to be called in the main thread + * and after doing the necessary initialization according to the flags + * provided, it will call main_func() function. + * + * @param main_func Application's main function. + * @param argc Number of arguments from the main() function, which + * will be passed to main_func() function. + * @param argv The arguments from the main() function, which will + * be passed to main_func() function. + * @param flags Flags for application execution, currently must be 0. + * + * @return main_func()'s return value. + */ +PJ_DECL(int) pj_run_app(pj_main_func_ptr main_func, int argc, char *argv[], + unsigned flags); + +/** @} */ + + +/* **************************************************************************/ +/** + * Internal PJLIB function to initialize the threading subsystem. + * @return PJ_SUCCESS or the appropriate error code. + */ +pj_status_t pj_thread_init(void); + + +PJ_END_DECL + +#endif /* __PJ_OS_H__ */ + diff --git a/pjlib/include/pj/pool.h b/pjlib/include/pj/pool.h new file mode 100644 index 0000000..f35bb03 --- /dev/null +++ b/pjlib/include/pj/pool.h @@ -0,0 +1,903 @@ +/* $Id: pool.h 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include + +/* See if we use pool's alternate API. + * The alternate API is used e.g. to implement pool debugging. + */ +#if PJ_HAS_POOL_ALT_API +# include +#endif + + +#ifndef __PJ_POOL_H__ +#define __PJ_POOL_H__ + +/** + * @file pool.h + * @brief Memory Pool. + */ + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_POOL_GROUP Fast Memory Pool + * @brief + * Memory pools allow dynamic memory allocation comparable to malloc or the + * new in operator C++. Those implementations are not desirable for very + * high performance applications or real-time systems, because of the + * performance bottlenecks and it suffers from fragmentation issue. + * + * \section PJ_POOL_INTRO_SEC PJLIB's Memory Pool + * \subsection PJ_POOL_ADVANTAGE_SUBSEC Advantages + * + * PJLIB's pool has many advantages over traditional malloc/new operator and + * over other memory pool implementations, because: + * - unlike other memory pool implementation, it allows allocation of + * memory chunks of different sizes, + * - it's very very fast. + * \n + * Memory chunk allocation is not only an O(1) + * operation, but it's also very simple (just + * few pointer arithmetic operations) and it doesn't require locking + * any mutex, + * - it's memory efficient. + * \n + * Pool doesn't keep track individual memory chunks allocated by + * applications, so there is no additional overhead needed for each + * memory allocation (other than possible additional of few bytes, up to + * PJ_POOL_ALIGNMENT-1, for aligning the memory). + * But see the @ref PJ_POOL_CAVEATS_SUBSEC below. + * - it prevents memory leaks. + * \n + * Memory pool inherently has garbage collection functionality. In fact, + * there is no need to free the chunks allocated from the memory pool. + * All chunks previously allocated from the pool will be freed once the + * pool itself is destroyed. This would prevent memory leaks that haunt + * programmers for decades, and it provides additional performance + * advantage over traditional malloc/new operator. + * + * Even more, PJLIB's memory pool provides some additional usability and + * flexibility for applications: + * - memory leaks are easily traceable, since memory pool is assigned name, + * and application can inspect what pools currently active in the system. + * - by design, memory allocation from a pool is not thread safe. We assumed + * that a pool will be owned by a higher level object, and thread safety + * should be handled by that object. This enables very fast pool operations + * and prevents unnecessary locking operations, + * - by default, the memory pool API behaves more like C++ new operator, + * in that it will throw PJ_NO_MEMORY_EXCEPTION exception (see + * @ref PJ_EXCEPT) when memory chunk allocation fails. This enables failure + * handling to be done on more high level function (instead of checking + * the result of pj_pool_alloc() everytime). If application doesn't like + * this, the default behavior can be changed on global basis by supplying + * different policy to the pool factory. + * - any memory allocation backend allocator/deallocator may be used. By + * default, the policy uses malloc() and free() to manage the pool's block, + * but application may use different strategy, for example to allocate + * memory blocks from a globally static memory location. + * + * + * \subsection PJ_POOL_PERFORMANCE_SUBSEC Performance + * + * The result of PJLIB's memory design and careful implementation is a + * memory allocation strategy that can speed-up the memory allocations + * and deallocations by up to 30 times compared to standard + * malloc()/free() (more than 150 million allocations per second on a + * P4/3.0GHz Linux machine). + * + * (Note: your mileage may vary, of course. You can see how much PJLIB's + * pool improves the performance over malloc()/free() in your target + * system by running pjlib-test application). + * + * + * \subsection PJ_POOL_CAVEATS_SUBSEC Caveats + * + * There are some caveats though! + * + * When creating pool, PJLIB requires applications to specify the initial + * pool size, and as soon as the pool is created, PJLIB allocates memory + * from the system by that size. Application designers MUST choose the + * initial pool size carefully, since choosing too big value will result in + * wasting system's memory. + * + * But the pool can grow. Application designer can specify how the + * pool will grow in size, by specifying the size increment when creating + * the pool. + * + * The pool, however, cannot shrink! Since there is no + * function to deallocate memory chunks, there is no way for the pool to + * release back unused memory to the system. + * Application designers must be aware that constant memory allocations + * from pool that has infinite life-time may cause the memory usage of + * the application to grow over time. + * + * + * \section PJ_POOL_USING_SEC Using Memory Pool + * + * This section describes how to use PJLIB's memory pool framework. + * As we hope the readers will witness, PJLIB's memory pool API is quite + * straightforward. + * + * \subsection PJ_POOL_USING_F Create Pool Factory + * First, application needs to initialize a pool factory (this normally + * only needs to be done once in one application). PJLIB provides + * a pool factory implementation called caching pool (see @ref + * PJ_CACHING_POOL), and it is initialized by calling #pj_caching_pool_init(). + * + * \subsection PJ_POOL_USING_P Create The Pool + * Then application creates the pool object itself with #pj_pool_create(), + * specifying among other thing the pool factory where the pool should + * be created from, the pool name, initial size, and increment/expansion + * size. + * + * \subsection PJ_POOL_USING_M Allocate Memory as Required + * Then whenever application needs to allocate dynamic memory, it would + * call #pj_pool_alloc(), #pj_pool_calloc(), or #pj_pool_zalloc() to + * allocate memory chunks from the pool. + * + * \subsection PJ_POOL_USING_DP Destroy the Pool + * When application has finished with the pool, it should call + * #pj_pool_release() to release the pool object back to the factory. + * Depending on the types of the factory, this may release the memory back + * to the operating system. + * + * \subsection PJ_POOL_USING_Dc Destroy the Pool Factory + * And finally, before application quites, it should deinitialize the + * pool factory, to make sure that all memory blocks allocated by the + * factory are released back to the operating system. After this, of + * course no more memory pool allocation can be requested. + * + * \subsection PJ_POOL_USING_EX Example + * Below is a sample complete program that utilizes PJLIB's memory pool. + * + * \code + + #include + + #define THIS_FILE "pool_sample.c" + + static void my_perror(const char *title, pj_status_t status) + { + char errmsg[PJ_ERR_MSG_SIZE]; + + pj_strerror(status, errmsg, sizeof(errmsg)); + PJ_LOG(1,(THIS_FILE, "%s: %s [status=%d]", title, errmsg, status)); + } + + static void pool_demo_1(pj_pool_factory *pfactory) + { + unsigned i; + pj_pool_t *pool; + + // Must create pool before we can allocate anything + pool = pj_pool_create(pfactory, // the factory + "pool1", // pool's name + 4000, // initial size + 4000, // increment size + NULL); // use default callback. + if (pool == NULL) { + my_perror("Error creating pool", PJ_ENOMEM); + return; + } + + // Demo: allocate some memory chunks + for (i=0; i<1000; ++i) { + void *p; + + p = pj_pool_alloc(pool, (pj_rand()+1) % 512); + + // Do something with p + ... + + // Look! No need to free p!! + } + + // Done with silly demo, must free pool to release all memory. + pj_pool_release(pool); + } + + int main() + { + pj_caching_pool cp; + pj_status_t status; + + // Must init PJLIB before anything else + status = pj_init(); + if (status != PJ_SUCCESS) { + my_perror("Error initializing PJLIB", status); + return 1; + } + + // Create the pool factory, in this case, a caching pool, + // using default pool policy. + pj_caching_pool_init(&cp, NULL, 1024*1024 ); + + // Do a demo + pool_demo_1(&cp.factory); + + // Done with demos, destroy caching pool before exiting app. + pj_caching_pool_destroy(&cp); + + return 0; + } + + \endcode + * + * More information about pool factory, the pool object, and caching pool + * can be found on the Module Links below. + */ + + +/** + * @defgroup PJ_POOL Memory Pool Object + * @ingroup PJ_POOL_GROUP + * @brief + * The memory pool is an opaque object created by pool factory. + * Application uses this object to request a memory chunk, by calling + * #pj_pool_alloc(), #pj_pool_calloc(), or #pj_pool_zalloc(). + * When the application has finished using + * the pool, it must call #pj_pool_release() to free all the chunks previously + * allocated and release the pool back to the factory. + * + * A memory pool is initialized with an initial amount of memory, which is + * called a block. Pool can be configured to dynamically allocate more memory + * blocks when it runs out of memory. + * + * The pool doesn't keep track of individual memory allocations + * by user, and the user doesn't have to free these indidual allocations. This + * makes memory allocation simple and very fast. All the memory allocated from + * the pool will be destroyed when the pool itself is destroyed. + * + * \section PJ_POOL_THREADING_SEC More on Threading Policies + * - By design, memory allocation from a pool is not thread safe. We assumed + * that a pool will be owned by an object, and thread safety should be + * handled by that object. Thus these functions are not thread safe: + * - #pj_pool_alloc, + * - #pj_pool_calloc, + * - and other pool statistic functions. + * - Threading in the pool factory is decided by the policy set for the + * factory when it was created. + * + * \section PJ_POOL_EXAMPLES_SEC Examples + * + * For some sample codes on how to use the pool, please see: + * - @ref page_pjlib_pool_test + * + * @{ + */ + +/** + * The type for function to receive callback from the pool when it is unable + * to allocate memory. The elegant way to handle this condition is to throw + * exception, and this is what is expected by most of this library + * components. + */ +typedef void pj_pool_callback(pj_pool_t *pool, pj_size_t size); + +/** + * This class, which is used internally by the pool, describes a single + * block of memory from which user memory allocations will be allocated from. + */ +typedef struct pj_pool_block +{ + PJ_DECL_LIST_MEMBER(struct pj_pool_block); /**< List's prev and next. */ + unsigned char *buf; /**< Start of buffer. */ + unsigned char *cur; /**< Current alloc ptr. */ + unsigned char *end; /**< End of buffer. */ +} pj_pool_block; + + +/** + * This structure describes the memory pool. Only implementors of pool factory + * need to care about the contents of this structure. + */ +struct pj_pool_t +{ + PJ_DECL_LIST_MEMBER(struct pj_pool_t); /**< Standard list elements. */ + + /** Pool name */ + char obj_name[PJ_MAX_OBJ_NAME]; + + /** Pool factory. */ + pj_pool_factory *factory; + + /** Data put by factory */ + void *factory_data; + + /** Current capacity allocated by the pool. */ + pj_size_t capacity; + + /** Size of memory block to be allocated when the pool runs out of memory */ + pj_size_t increment_size; + + /** List of memory blocks allcoated by the pool. */ + pj_pool_block block_list; + + /** The callback to be called when the pool is unable to allocate memory. */ + pj_pool_callback *callback; + +}; + + +/** + * Guidance on how much memory required for initial pool administrative data. + */ +#define PJ_POOL_SIZE (sizeof(struct pj_pool_t)) + +/** + * Pool memory alignment (must be power of 2). + */ +#ifndef PJ_POOL_ALIGNMENT +# define PJ_POOL_ALIGNMENT 4 +#endif + +/** + * Create a new pool from the pool factory. This wrapper will call create_pool + * member of the pool factory. + * + * @param factory The pool factory. + * @param name The name to be assigned to the pool. The name should + * not be longer than PJ_MAX_OBJ_NAME (32 chars), or + * otherwise it will be truncated. + * @param initial_size The size of initial memory blocks taken by the pool. + * Note that the pool will take 68+20 bytes for + * administrative area from this block. + * @param increment_size the size of each additional blocks to be allocated + * when the pool is running out of memory. If user + * requests memory which is larger than this size, then + * an error occurs. + * Note that each time a pool allocates additional block, + * it needs PJ_POOL_SIZE more to store some + * administrative info. + * @param callback Callback to be called when error occurs in the pool. + * If this value is NULL, then the callback from pool + * factory policy will be used. + * Note that when an error occurs during pool creation, + * the callback itself is not called. Instead, NULL + * will be returned. + * + * @return The memory pool, or NULL. + */ +PJ_IDECL(pj_pool_t*) pj_pool_create(pj_pool_factory *factory, + const char *name, + pj_size_t initial_size, + pj_size_t increment_size, + pj_pool_callback *callback); + +/** + * Release the pool back to pool factory. + * + * @param pool Memory pool. + */ +PJ_IDECL(void) pj_pool_release( pj_pool_t *pool ); + +/** + * Get pool object name. + * + * @param pool the pool. + * + * @return pool name as NULL terminated string. + */ +PJ_IDECL(const char *) pj_pool_getobjname( const pj_pool_t *pool ); + +/** + * Reset the pool to its state when it was initialized. + * This means that if additional blocks have been allocated during runtime, + * then they will be freed. Only the original block allocated during + * initialization is retained. This function will also reset the internal + * counters, such as pool capacity and used size. + * + * @param pool the pool. + */ +PJ_DECL(void) pj_pool_reset( pj_pool_t *pool ); + + +/** + * Get the pool capacity, that is, the system storage that have been allocated + * by the pool, and have been used/will be used to allocate user requests. + * There's no guarantee that the returned value represent a single + * contiguous block, because the capacity may be spread in several blocks. + * + * @param pool the pool. + * + * @return the capacity. + */ +PJ_IDECL(pj_size_t) pj_pool_get_capacity( pj_pool_t *pool ); + +/** + * Get the total size of user allocation request. + * + * @param pool the pool. + * + * @return the total size. + */ +PJ_IDECL(pj_size_t) pj_pool_get_used_size( pj_pool_t *pool ); + +/** + * Allocate storage with the specified size from the pool. + * If there's no storage available in the pool, then the pool can allocate more + * blocks if the increment size is larger than the requested size. + * + * @param pool the pool. + * @param size the requested size. + * + * @return pointer to the allocated memory. + * + * @see PJ_POOL_ALLOC_T + */ +PJ_IDECL(void*) pj_pool_alloc( pj_pool_t *pool, pj_size_t size); + +/** + * Allocate storage from the pool, and initialize it to zero. + * This function behaves like pj_pool_alloc(), except that the storage will + * be initialized to zero. + * + * @param pool the pool. + * @param count the number of elements in the array. + * @param elem the size of individual element. + * + * @return pointer to the allocated memory. + */ +PJ_IDECL(void*) pj_pool_calloc( pj_pool_t *pool, pj_size_t count, + pj_size_t elem); + + +/** + * Allocate storage from the pool and initialize it to zero. + * + * @param pool The pool. + * @param size The size to be allocated. + * + * @return Pointer to the allocated memory. + * + * @see PJ_POOL_ZALLOC_T + */ +PJ_INLINE(void*) pj_pool_zalloc(pj_pool_t *pool, pj_size_t size) +{ + return pj_pool_calloc(pool, 1, size); +} + + +/** + * This macro allocates memory from the pool and returns the instance of + * the specified type. It provides a stricker type safety than pj_pool_alloc() + * since the return value of this macro will be type-casted to the specified + * type. + * + * @param pool The pool + * @param type The type of object to be allocated + * + * @return Memory buffer of the specified type. + */ +#define PJ_POOL_ALLOC_T(pool,type) \ + ((type*)pj_pool_alloc(pool, sizeof(type))) + +/** + * This macro allocates memory from the pool, zeroes the buffer, and + * returns the instance of the specified type. It provides a stricker type + * safety than pj_pool_zalloc() since the return value of this macro will be + * type-casted to the specified type. + * + * @param pool The pool + * @param type The type of object to be allocated + * + * @return Memory buffer of the specified type. + */ +#define PJ_POOL_ZALLOC_T(pool,type) \ + ((type*)pj_pool_zalloc(pool, sizeof(type))) + +/* + * Internal functions + */ +PJ_IDECL(void*) pj_pool_alloc_from_block(pj_pool_block *block, pj_size_t size); +PJ_DECL(void*) pj_pool_allocate_find(pj_pool_t *pool, pj_size_t size); + + + +/** + * @} // PJ_POOL + */ + +/* **************************************************************************/ +/** + * @defgroup PJ_POOL_FACTORY Pool Factory and Policy + * @ingroup PJ_POOL_GROUP + * @brief + * A pool object must be created through a factory. A factory not only provides + * generic interface functions to create and release pool, but also provides + * strategy to manage the life time of pools. One sample implementation, + * \a pj_caching_pool, can be set to keep the pools released by application for + * future use as long as the total memory is below the limit. + * + * The pool factory interface declared in PJLIB is designed to be extensible. + * Application can define its own strategy by creating it's own pool factory + * implementation, and this strategy can be used even by existing library + * without recompilation. + * + * \section PJ_POOL_FACTORY_ITF Pool Factory Interface + * The pool factory defines the following interface: + * - \a policy: the memory pool factory policy. + * - \a create_pool(): create a new memory pool. + * - \a release_pool(): release memory pool back to factory. + * + * \section PJ_POOL_FACTORY_POL Pool Factory Policy. + * + * A pool factory only defines functions to create and release pool and how + * to manage pools, but the rest of the functionalities are controlled by + * policy. A pool policy defines: + * - how memory block is allocated and deallocated (the default implementation + * allocates and deallocate memory by calling malloc() and free()). + * - callback to be called when memory allocation inside a pool fails (the + * default implementation will throw PJ_NO_MEMORY_EXCEPTION exception). + * - concurrency when creating and releasing pool from/to the factory. + * + * A pool factory can be given different policy during creation to make + * it behave differently. For example, caching pool factory can be configured + * to allocate and deallocate from a static/contiguous/preallocated memory + * instead of using malloc()/free(). + * + * What strategy/factory and what policy to use is not defined by PJLIB, but + * instead is left to application to make use whichever is most efficient for + * itself. + * + * The pool factory policy controls the behaviour of memory factories, and + * defines the following interface: + * - \a block_alloc(): allocate memory block from backend memory mgmt/system. + * - \a block_free(): free memory block back to backend memory mgmt/system. + * @{ + */ + +/* We unfortunately don't have support for factory policy options as now, + so we keep this commented at the moment. +enum PJ_POOL_FACTORY_OPTION +{ + PJ_POOL_FACTORY_SERIALIZE = 1 +}; +*/ + +/** + * This structure declares pool factory interface. + */ +typedef struct pj_pool_factory_policy +{ + /** + * Allocate memory block (for use by pool). This function is called + * by memory pool to allocate memory block. + * + * @param factory Pool factory. + * @param size The size of memory block to allocate. + * + * @return Memory block. + */ + void* (*block_alloc)(pj_pool_factory *factory, pj_size_t size); + + /** + * Free memory block. + * + * @param factory Pool factory. + * @param mem Memory block previously allocated by block_alloc(). + * @param size The size of memory block. + */ + void (*block_free)(pj_pool_factory *factory, void *mem, pj_size_t size); + + /** + * Default callback to be called when memory allocation fails. + */ + pj_pool_callback *callback; + + /** + * Option flags. + */ + unsigned flags; + +} pj_pool_factory_policy; + +/** + * \def PJ_NO_MEMORY_EXCEPTION + * This constant denotes the exception number that will be thrown by default + * memory factory policy when memory allocation fails. + * + * @see pj_NO_MEMORY_EXCEPTION() + */ +PJ_DECL_DATA(int) PJ_NO_MEMORY_EXCEPTION; + +/** + * Get #PJ_NO_MEMORY_EXCEPTION constant. + */ +PJ_DECL(int) pj_NO_MEMORY_EXCEPTION(void); + +/** + * This global variable points to default memory pool factory policy. + * The behaviour of the default policy is: + * - block allocation and deallocation use malloc() and free(). + * - callback will raise PJ_NO_MEMORY_EXCEPTION exception. + * - access to pool factory is not serialized (i.e. not thread safe). + * + * @see pj_pool_factory_get_default_policy + */ +PJ_DECL_DATA(pj_pool_factory_policy) pj_pool_factory_default_policy; + + +/** + * Get the default pool factory policy. + * + * @return the pool policy. + */ +PJ_DECL(const pj_pool_factory_policy*) pj_pool_factory_get_default_policy(void); + + +/** + * This structure contains the declaration for pool factory interface. + */ +struct pj_pool_factory +{ + /** + * Memory pool policy. + */ + pj_pool_factory_policy policy; + + /** + * Create a new pool from the pool factory. + * + * @param factory The pool factory. + * @param name the name to be assigned to the pool. The name should + * not be longer than PJ_MAX_OBJ_NAME (32 chars), or + * otherwise it will be truncated. + * @param initial_size the size of initial memory blocks taken by the pool. + * Note that the pool will take 68+20 bytes for + * administrative area from this block. + * @param increment_size the size of each additional blocks to be allocated + * when the pool is running out of memory. If user + * requests memory which is larger than this size, then + * an error occurs. + * Note that each time a pool allocates additional block, + * it needs 20 bytes (equal to sizeof(pj_pool_block)) to + * store some administrative info. + * @param callback Cllback to be called when error occurs in the pool. + * Note that when an error occurs during pool creation, + * the callback itself is not called. Instead, NULL + * will be returned. + * + * @return the memory pool, or NULL. + */ + pj_pool_t* (*create_pool)( pj_pool_factory *factory, + const char *name, + pj_size_t initial_size, + pj_size_t increment_size, + pj_pool_callback *callback); + + /** + * Release the pool to the pool factory. + * + * @param factory The pool factory. + * @param pool The pool to be released. + */ + void (*release_pool)( pj_pool_factory *factory, pj_pool_t *pool ); + + /** + * Dump pool status to log. + * + * @param factory The pool factory. + */ + void (*dump_status)( pj_pool_factory *factory, pj_bool_t detail ); + + /** + * This is optional callback to be called by allocation policy when + * it allocates a new memory block. The factory may use this callback + * for example to keep track of the total number of memory blocks + * currently allocated by applications. + * + * @param factory The pool factory. + * @param size Size requested by application. + * + * @return MUST return PJ_TRUE, otherwise the block + * allocation is cancelled. + */ + pj_bool_t (*on_block_alloc)(pj_pool_factory *factory, pj_size_t size); + + /** + * This is optional callback to be called by allocation policy when + * it frees memory block. The factory may use this callback + * for example to keep track of the total number of memory blocks + * currently allocated by applications. + * + * @param factory The pool factory. + * @param size Size freed. + */ + void (*on_block_free)(pj_pool_factory *factory, pj_size_t size); + +}; + +/** + * This function is intended to be used by pool factory implementors. + * @param factory Pool factory. + * @param name Pool name. + * @param initial_size Initial size. + * @param increment_size Increment size. + * @param callback Callback. + * @return The pool object, or NULL. + */ +PJ_DECL(pj_pool_t*) pj_pool_create_int( pj_pool_factory *factory, + const char *name, + pj_size_t initial_size, + pj_size_t increment_size, + pj_pool_callback *callback); + +/** + * This function is intended to be used by pool factory implementors. + * @param pool The pool. + * @param name Pool name. + * @param increment_size Increment size. + * @param callback Callback function. + */ +PJ_DECL(void) pj_pool_init_int( pj_pool_t *pool, + const char *name, + pj_size_t increment_size, + pj_pool_callback *callback); + +/** + * This function is intended to be used by pool factory implementors. + * @param pool The memory pool. + */ +PJ_DECL(void) pj_pool_destroy_int( pj_pool_t *pool ); + + +/** + * Dump pool factory state. + * @param pf The pool factory. + * @param detail Detail state required. + */ +PJ_INLINE(void) pj_pool_factory_dump( pj_pool_factory *pf, + pj_bool_t detail ) +{ + (*pf->dump_status)(pf, detail); +} + +/** + * @} // PJ_POOL_FACTORY + */ + +/* **************************************************************************/ + +/** + * @defgroup PJ_CACHING_POOL Caching Pool Factory + * @ingroup PJ_POOL_GROUP + * @brief + * Caching pool is one sample implementation of pool factory where the + * factory can reuse memory to create a pool. Application defines what the + * maximum memory the factory can hold, and when a pool is released the + * factory decides whether to destroy the pool or to keep it for future use. + * If the total amount of memory in the internal cache is still within the + * limit, the factory will keep the pool in the internal cache, otherwise the + * pool will be destroyed, thus releasing the memory back to the system. + * + * @{ + */ + +/** + * Number of unique sizes, to be used as index to the free list. + * Each pool in the free list is organized by it's size. + */ +#define PJ_CACHING_POOL_ARRAY_SIZE 16 + +/** + * Declaration for caching pool. Application doesn't normally need to + * care about the contents of this struct, it is only provided here because + * application need to define an instance of this struct (we can not allocate + * the struct from a pool since there is no pool factory yet!). + */ +struct pj_caching_pool +{ + /** Pool factory interface, must be declared first. */ + pj_pool_factory factory; + + /** Current factory's capacity, i.e. number of bytes that are allocated + * and available for application in this factory. The factory's + * capacity represents the size of all pools kept by this factory + * in it's free list, which will be returned to application when it + * requests to create a new pool. + */ + pj_size_t capacity; + + /** Maximum size that can be held by this factory. Once the capacity + * has exceeded @a max_capacity, further #pj_pool_release() will + * flush the pool. If the capacity is still below the @a max_capacity, + * #pj_pool_release() will save the pool to the factory's free list. + */ + pj_size_t max_capacity; + + /** + * Number of pools currently held by applications. This number gets + * incremented everytime #pj_pool_create() is called, and gets + * decremented when #pj_pool_release() is called. + */ + pj_size_t used_count; + + /** + * Total size of memory currently used by application. + */ + pj_size_t used_size; + + /** + * The maximum size of memory used by application throughout the life + * of the caching pool. + */ + pj_size_t peak_used_size; + + /** + * Lists of pools in the cache, indexed by pool size. + */ + pj_list free_list[PJ_CACHING_POOL_ARRAY_SIZE]; + + /** + * List of pools currently allocated by applications. + */ + pj_list used_list; + + /** + * Internal pool. + */ + char pool_buf[256 * (sizeof(size_t) / 4)]; + + /** + * Mutex. + */ + pj_lock_t *lock; +}; + + + +/** + * Initialize caching pool. + * + * @param ch_pool The caching pool factory to be initialized. + * @param policy Pool factory policy. + * @param max_capacity The total capacity to be retained in the cache. When + * the pool is returned to the cache, it will be kept in + * recycling list if the total capacity of pools in this + * list plus the capacity of the pool is still below this + * value. + */ +PJ_DECL(void) pj_caching_pool_init( pj_caching_pool *ch_pool, + const pj_pool_factory_policy *policy, + pj_size_t max_capacity); + + +/** + * Destroy caching pool, and release all the pools in the recycling list. + * + * @param ch_pool The caching pool. + */ +PJ_DECL(void) pj_caching_pool_destroy( pj_caching_pool *ch_pool ); + +/** + * @} // PJ_CACHING_POOL + */ + +# if PJ_FUNCTIONS_ARE_INLINED +# include "pool_i.h" +# endif + +PJ_END_DECL + +#endif /* __PJ_POOL_H__ */ + diff --git a/pjlib/include/pj/pool_alt.h b/pjlib/include/pj/pool_alt.h new file mode 100644 index 0000000..7c0710e --- /dev/null +++ b/pjlib/include/pj/pool_alt.h @@ -0,0 +1,201 @@ +/* $Id: pool_alt.h 5061 2015-04-10 13:19:47Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_POOL_ALT_H__ +#define __PJ_POOL_ALT_H__ + +#define __PJ_POOL_H__ + +PJ_BEGIN_DECL + +/** + * The type for function to receive callback from the pool when it is unable + * to allocate memory. The elegant way to handle this condition is to throw + * exception, and this is what is expected by most of this library + * components. + */ +typedef void pj_pool_callback(pj_pool_t *pool, pj_size_t size); + +struct pj_pool_mem +{ + struct pj_pool_mem *next; + + /* data follows immediately */ +}; + + +struct pj_pool_t +{ + struct pj_pool_mem *first_mem; + pj_pool_factory *factory; + char obj_name[32]; + pj_size_t used_size; + pj_pool_callback *cb; +}; + + +#define PJ_POOL_SIZE (sizeof(struct pj_pool_t)) + +/** + * This constant denotes the exception number that will be thrown by default + * memory factory policy when memory allocation fails. + */ +extern int PJ_NO_MEMORY_EXCEPTION; + + + +/* + * Declare all pool API as macro that calls the implementation + * function. + */ +#define pj_pool_create(fc,nm,init,inc,cb) \ + pj_pool_create_imp(__FILE__, __LINE__, fc, nm, init, inc, cb) + +#define pj_pool_release(pool) pj_pool_release_imp(pool) +#define pj_pool_getobjname(pool) pj_pool_getobjname_imp(pool) +#define pj_pool_reset(pool) pj_pool_reset_imp(pool) +#define pj_pool_get_capacity(pool) pj_pool_get_capacity_imp(pool) +#define pj_pool_get_used_size(pool) pj_pool_get_used_size_imp(pool) +#define pj_pool_alloc(pool,sz) \ + pj_pool_alloc_imp(__FILE__, __LINE__, pool, sz) + +#define pj_pool_calloc(pool,cnt,elem) \ + pj_pool_calloc_imp(__FILE__, __LINE__, pool, cnt, elem) + +#define pj_pool_zalloc(pool,sz) \ + pj_pool_zalloc_imp(__FILE__, __LINE__, pool, sz) + + + +/* + * Declare prototypes for pool implementation API. + */ + +/* Create pool */ +PJ_DECL(pj_pool_t*) pj_pool_create_imp(const char *file, int line, + void *factory, + const char *name, + pj_size_t initial_size, + pj_size_t increment_size, + pj_pool_callback *callback); + +/* Release pool */ +PJ_DECL(void) pj_pool_release_imp(pj_pool_t *pool); + +/* Get pool name */ +PJ_DECL(const char*) pj_pool_getobjname_imp(pj_pool_t *pool); + +/* Reset pool */ +PJ_DECL(void) pj_pool_reset_imp(pj_pool_t *pool); + +/* Get capacity */ +PJ_DECL(pj_size_t) pj_pool_get_capacity_imp(pj_pool_t *pool); + +/* Get total used size */ +PJ_DECL(pj_size_t) pj_pool_get_used_size_imp(pj_pool_t *pool); + +/* Allocate memory from the pool */ +PJ_DECL(void*) pj_pool_alloc_imp(const char *file, int line, + pj_pool_t *pool, pj_size_t sz); + +/* Allocate memory from the pool and zero the memory */ +PJ_DECL(void*) pj_pool_calloc_imp(const char *file, int line, + pj_pool_t *pool, unsigned cnt, + unsigned elemsz); + +/* Allocate memory from the pool and zero the memory */ +PJ_DECL(void*) pj_pool_zalloc_imp(const char *file, int line, + pj_pool_t *pool, pj_size_t sz); + + +#define PJ_POOL_ZALLOC_T(pool,type) \ + ((type*)pj_pool_zalloc(pool, sizeof(type))) +#define PJ_POOL_ALLOC_T(pool,type) \ + ((type*)pj_pool_alloc(pool, sizeof(type))) +#ifndef PJ_POOL_ALIGNMENT +# define PJ_POOL_ALIGNMENT 4 +#endif + +/** + * This structure declares pool factory interface. + */ +typedef struct pj_pool_factory_policy +{ + /** + * Allocate memory block (for use by pool). This function is called + * by memory pool to allocate memory block. + * + * @param factory Pool factory. + * @param size The size of memory block to allocate. + * + * @return Memory block. + */ + void* (*block_alloc)(pj_pool_factory *factory, pj_size_t size); + + /** + * Free memory block. + * + * @param factory Pool factory. + * @param mem Memory block previously allocated by block_alloc(). + * @param size The size of memory block. + */ + void (*block_free)(pj_pool_factory *factory, void *mem, pj_size_t size); + + /** + * Default callback to be called when memory allocation fails. + */ + pj_pool_callback *callback; + + /** + * Option flags. + */ + unsigned flags; + +} pj_pool_factory_policy; + +struct pj_pool_factory +{ + pj_pool_factory_policy policy; + int dummy; +}; + +struct pj_caching_pool +{ + pj_pool_factory factory; + + /* just to make it compilable */ + unsigned used_count; + unsigned used_size; + unsigned peak_used_size; +}; + +/* just to make it compilable */ +typedef struct pj_pool_block +{ + int dummy; +} pj_pool_block; + +#define pj_caching_pool_init( cp, pol, mac) +#define pj_caching_pool_destroy(cp) +#define pj_pool_factory_dump(pf, detail) + +PJ_END_DECL + +#endif /* __PJ_POOL_ALT_H__ */ + diff --git a/pjlib/include/pj/pool_buf.h b/pjlib/include/pj/pool_buf.h new file mode 100644 index 0000000..28734a7 --- /dev/null +++ b/pjlib/include/pj/pool_buf.h @@ -0,0 +1,105 @@ +/* $Id: pool_buf.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __POOL_STACK_H__ +#define __POOL_STACK_H__ + +#include + +/** + * @defgroup PJ_POOL_BUFFER Stack/Buffer Based Memory Pool Allocator + * @ingroup PJ_POOL_GROUP + * @brief Stack/buffer based pool. + * + * This section describes an implementation of memory pool which uses + * memory allocated from the stack. Application creates this pool + * by specifying a buffer (which can be allocated from static memory or + * stack variable), and then use normal pool API to access/use the pool. + * + * If the buffer specified during pool creation is a buffer located in the + * stack, the pool will be invalidated (or implicitly destroyed) when the + * execution leaves the enclosing block containing the buffer. Note + * that application must make sure that any objects allocated from this + * pool (such as mutexes) have been destroyed before the pool gets + * invalidated. + * + * Sample usage: + * + * \code + #include + + static void test() + { + char buffer[500]; + pj_pool_t *pool; + void *p; + + pool = pj_pool_create_on_buf("thepool", buffer, sizeof(buffer)); + + // Use the pool as usual + p = pj_pool_alloc(pool, ...); + ... + + // No need to release the pool + } + + int main() + { + pj_init(); + test(); + return 0; + } + + \endcode + * + * @{ + */ + +PJ_BEGIN_DECL + +/** + * Create the pool using the specified buffer as the pool's memory. + * Subsequent allocations made from the pool will use the memory from + * this buffer. + * + * If the buffer specified in the parameter is a buffer located in the + * stack, the pool will be invalid (or implicitly destroyed) when the + * execution leaves the enclosing block containing the buffer. Note + * that application must make sure that any objects allocated from this + * pool (such as mutexes) have been destroyed before the pool gets + * invalidated. + * + * @param name Optional pool name. + * @param buf Buffer to be used by the pool. + * @param size The size of the buffer. + * + * @return The memory pool instance. + */ +PJ_DECL(pj_pool_t*) pj_pool_create_on_buf(const char *name, + void *buf, + pj_size_t size); + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __POOL_STACK_H__ */ + diff --git a/pjlib/include/pj/pool_i.h b/pjlib/include/pj/pool_i.h new file mode 100644 index 0000000..376fd6a --- /dev/null +++ b/pjlib/include/pj/pool_i.h @@ -0,0 +1,94 @@ +/* $Id: pool_i.h 4298 2012-11-22 05:00:01Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + + +#include + + +PJ_IDEF(pj_size_t) pj_pool_get_capacity( pj_pool_t *pool ) +{ + return pool->capacity; +} + +PJ_IDEF(pj_size_t) pj_pool_get_used_size( pj_pool_t *pool ) +{ + pj_pool_block *b = pool->block_list.next; + pj_size_t used_size = sizeof(pj_pool_t); + while (b != &pool->block_list) { + used_size += (b->cur - b->buf) + sizeof(pj_pool_block); + b = b->next; + } + return used_size; +} + +PJ_IDEF(void*) pj_pool_alloc_from_block( pj_pool_block *block, pj_size_t size ) +{ + /* The operation below is valid for size==0. + * When size==0, the function will return the pointer to the pool + * memory address, but no memory will be allocated. + */ + if (size & (PJ_POOL_ALIGNMENT-1)) { + size = (size + PJ_POOL_ALIGNMENT) & ~(PJ_POOL_ALIGNMENT-1); + } + if ((pj_size_t)(block->end - block->cur) >= size) { + void *ptr = block->cur; + block->cur += size; + return ptr; + } + return NULL; +} + +PJ_IDEF(void*) pj_pool_alloc( pj_pool_t *pool, pj_size_t size) +{ + void *ptr = pj_pool_alloc_from_block(pool->block_list.next, size); + if (!ptr) + ptr = pj_pool_allocate_find(pool, size); + return ptr; +} + + +PJ_IDEF(void*) pj_pool_calloc( pj_pool_t *pool, pj_size_t count, pj_size_t size) +{ + void *buf = pj_pool_alloc( pool, size*count); + if (buf) + pj_bzero(buf, size * count); + return buf; +} + +PJ_IDEF(const char *) pj_pool_getobjname( const pj_pool_t *pool ) +{ + return pool->obj_name; +} + +PJ_IDEF(pj_pool_t*) pj_pool_create( pj_pool_factory *f, + const char *name, + pj_size_t initial_size, + pj_size_t increment_size, + pj_pool_callback *callback) +{ + return (*f->create_pool)(f, name, initial_size, increment_size, callback); +} + +PJ_IDEF(void) pj_pool_release( pj_pool_t *pool ) +{ + if (pool->factory->release_pool) + (*pool->factory->release_pool)(pool->factory, pool); +} + diff --git a/pjlib/include/pj/rand.h b/pjlib/include/pj/rand.h new file mode 100644 index 0000000..8c8eb7e --- /dev/null +++ b/pjlib/include/pj/rand.h @@ -0,0 +1,66 @@ +/* $Id: rand.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_RAND_H__ +#define __PJ_RAND_H__ + +/** + * @file rand.h + * @brief Random Number Generator. + */ + +#include + +PJ_BEGIN_DECL + + +/** + * @defgroup PJ_RAND Random Number Generator + * @ingroup PJ_MISC + * @{ + * This module contains functions for generating random numbers. + * This abstraction is needed not only because not all platforms have + * \a rand() and \a srand(), but also on some platforms \a rand() + * only has 16-bit randomness, which is not good enough. + */ + +/** + * Put in seed to random number generator. + * + * @param seed Seed value. + */ +PJ_DECL(void) pj_srand(unsigned int seed); + + +/** + * Generate random integer with 32bit randomness. + * + * @return a random integer. + */ +PJ_DECL(int) pj_rand(void); + + +/** @} */ + + +PJ_END_DECL + + +#endif /* __PJ_RAND_H__ */ + diff --git a/pjlib/include/pj/rbtree.h b/pjlib/include/pj/rbtree.h new file mode 100644 index 0000000..2f92285 --- /dev/null +++ b/pjlib/include/pj/rbtree.h @@ -0,0 +1,210 @@ +/* $Id: rbtree.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_RBTREE_H__ +#define __PJ_RBTREE_H__ + +/** + * @file rbtree.h + * @brief Red/Black Tree + */ + +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_RBTREE Red/Black Balanced Tree + * @ingroup PJ_DS + * @brief + * Red/Black tree is the variant of balanced tree, where the search, insert, + * and delete operation is \b guaranteed to take at most \a O( lg(n) ). + * @{ + */ +/** + * Color type for Red-Black tree. + */ +typedef enum pj_rbcolor_t +{ + PJ_RBCOLOR_BLACK, + PJ_RBCOLOR_RED +} pj_rbcolor_t; + +/** + * The type of the node of the R/B Tree. + */ +typedef struct pj_rbtree_node +{ + /** Pointers to the node's parent, and left and right siblings. */ + struct pj_rbtree_node *parent, *left, *right; + + /** Key associated with the node. */ + const void *key; + + /** User data associated with the node. */ + void *user_data; + + /** The R/B Tree node color. */ + pj_rbcolor_t color; + +} pj_rbtree_node; + + +/** + * The type of function use to compare key value of tree node. + * @return + * 0 if the keys are equal + * <0 if key1 is lower than key2 + * >0 if key1 is greater than key2. + */ +typedef int pj_rbtree_comp(const void *key1, const void *key2); + + +/** + * Declaration of a red-black tree. All elements in the tree must have UNIQUE + * key. + * A red black tree always maintains the balance of the tree, so that the + * tree height will not be greater than lg(N). Insert, search, and delete + * operation will take lg(N) on the worst case. But for insert and delete, + * there is additional time needed to maintain the balance of the tree. + */ +typedef struct pj_rbtree +{ + pj_rbtree_node null_node; /**< Constant to indicate NULL node. */ + pj_rbtree_node *null; /**< Constant to indicate NULL node. */ + pj_rbtree_node *root; /**< Root tree node. */ + unsigned size; /**< Number of elements in the tree. */ + pj_rbtree_comp *comp; /**< Key comparison function. */ +} pj_rbtree; + + +/** + * Guidance on how much memory required for each of the node. + */ +#define PJ_RBTREE_NODE_SIZE (sizeof(pj_rbtree_node)) + + +/** + * Guidance on memory required for the tree. + */ +#define PJ_RBTREE_SIZE (sizeof(pj_rbtree)) + + +/** + * Initialize the tree. + * @param tree the tree to be initialized. + * @param comp key comparison function to be used for this tree. + */ +PJ_DECL(void) pj_rbtree_init( pj_rbtree *tree, pj_rbtree_comp *comp); + +/** + * Get the first element in the tree. + * The first element always has the least value for the key, according to + * the comparison function. + * @param tree the tree. + * @return the tree node, or NULL if the tree has no element. + */ +PJ_DECL(pj_rbtree_node*) pj_rbtree_first( pj_rbtree *tree ); + +/** + * Get the last element in the tree. + * The last element always has the greatest key value, according to the + * comparison function defined for the tree. + * @param tree the tree. + * @return the tree node, or NULL if the tree has no element. + */ +PJ_DECL(pj_rbtree_node*) pj_rbtree_last( pj_rbtree *tree ); + +/** + * Get the successive element for the specified node. + * The successive element is an element with greater key value. + * @param tree the tree. + * @param node the node. + * @return the successive node, or NULL if the node has no successor. + */ +PJ_DECL(pj_rbtree_node*) pj_rbtree_next( pj_rbtree *tree, + pj_rbtree_node *node ); + +/** + * The the previous node for the specified node. + * The previous node is an element with less key value. + * @param tree the tree. + * @param node the node. + * @return the previous node, or NULL if the node has no previous node. + */ +PJ_DECL(pj_rbtree_node*) pj_rbtree_prev( pj_rbtree *tree, + pj_rbtree_node *node ); + +/** + * Insert a new node. + * The node will be inserted at sorted location. The key of the node must + * be UNIQUE, i.e. it hasn't existed in the tree. + * @param tree the tree. + * @param node the node to be inserted. + * @return zero on success, or -1 if the key already exist. + */ +PJ_DECL(int) pj_rbtree_insert( pj_rbtree *tree, + pj_rbtree_node *node ); + +/** + * Find a node which has the specified key. + * @param tree the tree. + * @param key the key to search. + * @return the tree node with the specified key, or NULL if the key can not + * be found. + */ +PJ_DECL(pj_rbtree_node*) pj_rbtree_find( pj_rbtree *tree, + const void *key ); + +/** + * Erase a node from the tree. + * @param tree the tree. + * @param node the node to be erased. + * @return the tree node itself. + */ +PJ_DECL(pj_rbtree_node*) pj_rbtree_erase( pj_rbtree *tree, + pj_rbtree_node *node ); + +/** + * Get the maximum tree height from the specified node. + * @param tree the tree. + * @param node the node, or NULL to get the root of the tree. + * @return the maximum height, which should be at most lg(N) + */ +PJ_DECL(unsigned) pj_rbtree_max_height( pj_rbtree *tree, + pj_rbtree_node *node ); + +/** + * Get the minumum tree height from the specified node. + * @param tree the tree. + * @param node the node, or NULL to get the root of the tree. + * @return the height + */ +PJ_DECL(unsigned) pj_rbtree_min_height( pj_rbtree *tree, + pj_rbtree_node *node ); + + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJ_RBTREE_H__ */ + diff --git a/pjlib/include/pj/sock.h b/pjlib/include/pj/sock.h new file mode 100644 index 0000000..1af0a07 --- /dev/null +++ b/pjlib/include/pj/sock.h @@ -0,0 +1,1469 @@ +/* $Id: sock.h 4860 2014-06-19 05:07:12Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_SOCK_H__ +#define __PJ_SOCK_H__ + +/** + * @file sock.h + * @brief Socket Abstraction. + */ + +#include + +PJ_BEGIN_DECL + + +/** + * @defgroup PJ_SOCK Socket Abstraction + * @ingroup PJ_IO + * @{ + * + * The PJLIB socket abstraction layer is a thin and very portable abstraction + * for socket API. It provides API similar to BSD socket API. The abstraction + * is needed because BSD socket API is not always available on all platforms, + * therefore it wouldn't be possible to create a trully portable network + * programs unless we provide such abstraction. + * + * Applications can use this API directly in their application, just + * as they would when using traditional BSD socket API, provided they + * call #pj_init() first. + * + * \section pj_sock_examples_sec Examples + * + * For some examples on how to use the socket API, please see: + * + * - \ref page_pjlib_sock_test + * - \ref page_pjlib_select_test + * - \ref page_pjlib_sock_perf_test + */ + + +/** + * Supported address families. + * APPLICATION MUST USE THESE VALUES INSTEAD OF NORMAL AF_*, BECAUSE + * THE LIBRARY WILL DO TRANSLATION TO THE NATIVE VALUE. + */ + +/** Address family is unspecified. @see pj_AF_UNSPEC() */ +extern const pj_uint16_t PJ_AF_UNSPEC; + +/** Unix domain socket. @see pj_AF_UNIX() */ +extern const pj_uint16_t PJ_AF_UNIX; + +/** POSIX name for AF_UNIX */ +#define PJ_AF_LOCAL PJ_AF_UNIX; + +/** Internet IP protocol. @see pj_AF_INET() */ +extern const pj_uint16_t PJ_AF_INET; + +/** IP version 6. @see pj_AF_INET6() */ +extern const pj_uint16_t PJ_AF_INET6; + +/** Packet family. @see pj_AF_PACKET() */ +extern const pj_uint16_t PJ_AF_PACKET; + +/** IRDA sockets. @see pj_AF_IRDA() */ +extern const pj_uint16_t PJ_AF_IRDA; + +/* + * Accessor functions for various address family constants. These + * functions are provided because Symbian doesn't allow exporting + * global variables from a DLL. + */ + +#if defined(PJ_DLL) + /** Get #PJ_AF_UNSPEC value */ + PJ_DECL(pj_uint16_t) pj_AF_UNSPEC(void); + /** Get #PJ_AF_UNIX value. */ + PJ_DECL(pj_uint16_t) pj_AF_UNIX(void); + /** Get #PJ_AF_INET value. */ + PJ_DECL(pj_uint16_t) pj_AF_INET(void); + /** Get #PJ_AF_INET6 value. */ + PJ_DECL(pj_uint16_t) pj_AF_INET6(void); + /** Get #PJ_AF_PACKET value. */ + PJ_DECL(pj_uint16_t) pj_AF_PACKET(void); + /** Get #PJ_AF_IRDA value. */ + PJ_DECL(pj_uint16_t) pj_AF_IRDA(void); +#else + /* When pjlib is not built as DLL, these accessor functions are + * simply a macro to get their constants + */ + /** Get #PJ_AF_UNSPEC value */ +# define pj_AF_UNSPEC() PJ_AF_UNSPEC + /** Get #PJ_AF_UNIX value. */ +# define pj_AF_UNIX() PJ_AF_UNIX + /** Get #PJ_AF_INET value. */ +# define pj_AF_INET() PJ_AF_INET + /** Get #PJ_AF_INET6 value. */ +# define pj_AF_INET6() PJ_AF_INET6 + /** Get #PJ_AF_PACKET value. */ +# define pj_AF_PACKET() PJ_AF_PACKET + /** Get #PJ_AF_IRDA value. */ +# define pj_AF_IRDA() PJ_AF_IRDA +#endif + + +/** + * Supported types of sockets. + * APPLICATION MUST USE THESE VALUES INSTEAD OF NORMAL SOCK_*, BECAUSE + * THE LIBRARY WILL TRANSLATE THE VALUE TO THE NATIVE VALUE. + */ + +/** Sequenced, reliable, connection-based byte streams. + * @see pj_SOCK_STREAM() */ +extern const pj_uint16_t PJ_SOCK_STREAM; + +/** Connectionless, unreliable datagrams of fixed maximum lengths. + * @see pj_SOCK_DGRAM() */ +extern const pj_uint16_t PJ_SOCK_DGRAM; + +/** Raw protocol interface. @see pj_SOCK_RAW() */ +extern const pj_uint16_t PJ_SOCK_RAW; + +/** Reliably-delivered messages. @see pj_SOCK_RDM() */ +extern const pj_uint16_t PJ_SOCK_RDM; + + +/* + * Accessor functions for various constants. These functions are provided + * because Symbian doesn't allow exporting global variables from a DLL. + */ + +#if defined(PJ_DLL) + /** Get #PJ_SOCK_STREAM constant */ + PJ_DECL(int) pj_SOCK_STREAM(void); + /** Get #PJ_SOCK_DGRAM constant */ + PJ_DECL(int) pj_SOCK_DGRAM(void); + /** Get #PJ_SOCK_RAW constant */ + PJ_DECL(int) pj_SOCK_RAW(void); + /** Get #PJ_SOCK_RDM constant */ + PJ_DECL(int) pj_SOCK_RDM(void); +#else + /** Get #PJ_SOCK_STREAM constant */ +# define pj_SOCK_STREAM() PJ_SOCK_STREAM + /** Get #PJ_SOCK_DGRAM constant */ +# define pj_SOCK_DGRAM() PJ_SOCK_DGRAM + /** Get #PJ_SOCK_RAW constant */ +# define pj_SOCK_RAW() PJ_SOCK_RAW + /** Get #PJ_SOCK_RDM constant */ +# define pj_SOCK_RDM() PJ_SOCK_RDM +#endif + + +/** + * Socket level specified in #pj_sock_setsockopt() or #pj_sock_getsockopt(). + * APPLICATION MUST USE THESE VALUES INSTEAD OF NORMAL SOL_*, BECAUSE + * THE LIBRARY WILL TRANSLATE THE VALUE TO THE NATIVE VALUE. + */ +/** Socket level. @see pj_SOL_SOCKET() */ +extern const pj_uint16_t PJ_SOL_SOCKET; +/** IP level. @see pj_SOL_IP() */ +extern const pj_uint16_t PJ_SOL_IP; +/** TCP level. @see pj_SOL_TCP() */ +extern const pj_uint16_t PJ_SOL_TCP; +/** UDP level. @see pj_SOL_UDP() */ +extern const pj_uint16_t PJ_SOL_UDP; +/** IP version 6. @see pj_SOL_IPV6() */ +extern const pj_uint16_t PJ_SOL_IPV6; + +/* + * Accessor functions for various constants. These functions are provided + * because Symbian doesn't allow exporting global variables from a DLL. + */ + +#if defined(PJ_DLL) + /** Get #PJ_SOL_SOCKET constant */ + PJ_DECL(pj_uint16_t) pj_SOL_SOCKET(void); + /** Get #PJ_SOL_IP constant */ + PJ_DECL(pj_uint16_t) pj_SOL_IP(void); + /** Get #PJ_SOL_TCP constant */ + PJ_DECL(pj_uint16_t) pj_SOL_TCP(void); + /** Get #PJ_SOL_UDP constant */ + PJ_DECL(pj_uint16_t) pj_SOL_UDP(void); + /** Get #PJ_SOL_IPV6 constant */ + PJ_DECL(pj_uint16_t) pj_SOL_IPV6(void); +#else + /** Get #PJ_SOL_SOCKET constant */ +# define pj_SOL_SOCKET() PJ_SOL_SOCKET + /** Get #PJ_SOL_IP constant */ +# define pj_SOL_IP() PJ_SOL_IP + /** Get #PJ_SOL_TCP constant */ +# define pj_SOL_TCP() PJ_SOL_TCP + /** Get #PJ_SOL_UDP constant */ +# define pj_SOL_UDP() PJ_SOL_UDP + /** Get #PJ_SOL_IPV6 constant */ +# define pj_SOL_IPV6() PJ_SOL_IPV6 +#endif + + +/* IP_TOS + * + * Note: + * TOS CURRENTLY DOES NOT WORK IN Windows 2000 and above! + * See http://support.microsoft.com/kb/248611 + */ +/** IP_TOS optname in setsockopt(). @see pj_IP_TOS() */ +extern const pj_uint16_t PJ_IP_TOS; + +/* + * IP TOS related constats. + * + * Note: + * TOS CURRENTLY DOES NOT WORK IN Windows 2000 and above! + * See http://support.microsoft.com/kb/248611 + */ +/** Minimize delays. @see pj_IPTOS_LOWDELAY() */ +extern const pj_uint16_t PJ_IPTOS_LOWDELAY; + +/** Optimize throughput. @see pj_IPTOS_THROUGHPUT() */ +extern const pj_uint16_t PJ_IPTOS_THROUGHPUT; + +/** Optimize for reliability. @see pj_IPTOS_RELIABILITY() */ +extern const pj_uint16_t PJ_IPTOS_RELIABILITY; + +/** "filler data" where slow transmission does't matter. + * @see pj_IPTOS_MINCOST() */ +extern const pj_uint16_t PJ_IPTOS_MINCOST; + + +#if defined(PJ_DLL) + /** Get #PJ_IP_TOS constant */ + PJ_DECL(int) pj_IP_TOS(void); + + /** Get #PJ_IPTOS_LOWDELAY constant */ + PJ_DECL(int) pj_IPTOS_LOWDELAY(void); + + /** Get #PJ_IPTOS_THROUGHPUT constant */ + PJ_DECL(int) pj_IPTOS_THROUGHPUT(void); + + /** Get #PJ_IPTOS_RELIABILITY constant */ + PJ_DECL(int) pj_IPTOS_RELIABILITY(void); + + /** Get #PJ_IPTOS_MINCOST constant */ + PJ_DECL(int) pj_IPTOS_MINCOST(void); +#else + /** Get #PJ_IP_TOS constant */ +# define pj_IP_TOS() PJ_IP_TOS + + /** Get #PJ_IPTOS_LOWDELAY constant */ +# define pj_IPTOS_LOWDELAY() PJ_IP_TOS_LOWDELAY + + /** Get #PJ_IPTOS_THROUGHPUT constant */ +# define pj_IPTOS_THROUGHPUT() PJ_IP_TOS_THROUGHPUT + + /** Get #PJ_IPTOS_RELIABILITY constant */ +# define pj_IPTOS_RELIABILITY() PJ_IP_TOS_RELIABILITY + + /** Get #PJ_IPTOS_MINCOST constant */ +# define pj_IPTOS_MINCOST() PJ_IP_TOS_MINCOST +#endif + + +/** + * Values to be specified as \c optname when calling #pj_sock_setsockopt() + * or #pj_sock_getsockopt(). + */ + +/** Socket type. @see pj_SO_TYPE() */ +extern const pj_uint16_t PJ_SO_TYPE; + +/** Buffer size for receive. @see pj_SO_RCVBUF() */ +extern const pj_uint16_t PJ_SO_RCVBUF; + +/** Buffer size for send. @see pj_SO_SNDBUF() */ +extern const pj_uint16_t PJ_SO_SNDBUF; + +/** Disables the Nagle algorithm for send coalescing. @see pj_TCP_NODELAY */ +extern const pj_uint16_t PJ_TCP_NODELAY; + +/** Allows the socket to be bound to an address that is already in use. + * @see pj_SO_REUSEADDR */ +extern const pj_uint16_t PJ_SO_REUSEADDR; + +/** Do not generate SIGPIPE. @see pj_SO_NOSIGPIPE */ +extern const pj_uint16_t PJ_SO_NOSIGPIPE; + +/** Set the protocol-defined priority for all packets to be sent on socket. + */ +extern const pj_uint16_t PJ_SO_PRIORITY; + +/** IP multicast interface. @see pj_IP_MULTICAST_IF() */ +extern const pj_uint16_t PJ_IP_MULTICAST_IF; + +/** IP multicast ttl. @see pj_IP_MULTICAST_TTL() */ +extern const pj_uint16_t PJ_IP_MULTICAST_TTL; + +/** IP multicast loopback. @see pj_IP_MULTICAST_LOOP() */ +extern const pj_uint16_t PJ_IP_MULTICAST_LOOP; + +/** Add an IP group membership. @see pj_IP_ADD_MEMBERSHIP() */ +extern const pj_uint16_t PJ_IP_ADD_MEMBERSHIP; + +/** Drop an IP group membership. @see pj_IP_DROP_MEMBERSHIP() */ +extern const pj_uint16_t PJ_IP_DROP_MEMBERSHIP; + + +#if defined(PJ_DLL) + /** Get #PJ_SO_TYPE constant */ + PJ_DECL(pj_uint16_t) pj_SO_TYPE(void); + + /** Get #PJ_SO_RCVBUF constant */ + PJ_DECL(pj_uint16_t) pj_SO_RCVBUF(void); + + /** Get #PJ_SO_SNDBUF constant */ + PJ_DECL(pj_uint16_t) pj_SO_SNDBUF(void); + + /** Get #PJ_TCP_NODELAY constant */ + PJ_DECL(pj_uint16_t) pj_TCP_NODELAY(void); + + /** Get #PJ_SO_REUSEADDR constant */ + PJ_DECL(pj_uint16_t) pj_SO_REUSEADDR(void); + + /** Get #PJ_SO_NOSIGPIPE constant */ + PJ_DECL(pj_uint16_t) pj_SO_NOSIGPIPE(void); + + /** Get #PJ_SO_PRIORITY constant */ + PJ_DECL(pj_uint16_t) pj_SO_PRIORITY(void); + + /** Get #PJ_IP_MULTICAST_IF constant */ + PJ_DECL(pj_uint16_t) pj_IP_MULTICAST_IF(void); + + /** Get #PJ_IP_MULTICAST_TTL constant */ + PJ_DECL(pj_uint16_t) pj_IP_MULTICAST_TTL(void); + + /** Get #PJ_IP_MULTICAST_LOOP constant */ + PJ_DECL(pj_uint16_t) pj_IP_MULTICAST_LOOP(void); + + /** Get #PJ_IP_ADD_MEMBERSHIP constant */ + PJ_DECL(pj_uint16_t) pj_IP_ADD_MEMBERSHIP(void); + + /** Get #PJ_IP_DROP_MEMBERSHIP constant */ + PJ_DECL(pj_uint16_t) pj_IP_DROP_MEMBERSHIP(void); +#else + /** Get #PJ_SO_TYPE constant */ +# define pj_SO_TYPE() PJ_SO_TYPE + + /** Get #PJ_SO_RCVBUF constant */ +# define pj_SO_RCVBUF() PJ_SO_RCVBUF + + /** Get #PJ_SO_SNDBUF constant */ +# define pj_SO_SNDBUF() PJ_SO_SNDBUF + + /** Get #PJ_TCP_NODELAY constant */ +# define pj_TCP_NODELAY() PJ_TCP_NODELAY + + /** Get #PJ_SO_REUSEADDR constant */ +# define pj_SO_REUSEADDR() PJ_SO_REUSEADDR + + /** Get #PJ_SO_NOSIGPIPE constant */ +# define pj_SO_NOSIGPIPE() PJ_SO_NOSIGPIPE + + /** Get #PJ_SO_PRIORITY constant */ +# define pj_SO_PRIORITY() PJ_SO_PRIORITY + + /** Get #PJ_IP_MULTICAST_IF constant */ +# define pj_IP_MULTICAST_IF() PJ_IP_MULTICAST_IF + + /** Get #PJ_IP_MULTICAST_TTL constant */ +# define pj_IP_MULTICAST_TTL() PJ_IP_MULTICAST_TTL + + /** Get #PJ_IP_MULTICAST_LOOP constant */ +# define pj_IP_MULTICAST_LOOP() PJ_IP_MULTICAST_LOOP + + /** Get #PJ_IP_ADD_MEMBERSHIP constant */ +# define pj_IP_ADD_MEMBERSHIP() PJ_IP_ADD_MEMBERSHIP + + /** Get #PJ_IP_DROP_MEMBERSHIP constant */ +# define pj_IP_DROP_MEMBERSHIP() PJ_IP_DROP_MEMBERSHIP +#endif + + +/* + * Flags to be specified in #pj_sock_recv, #pj_sock_send, etc. + */ + +/** Out-of-band messages. @see pj_MSG_OOB() */ +extern const int PJ_MSG_OOB; + +/** Peek, don't remove from buffer. @see pj_MSG_PEEK() */ +extern const int PJ_MSG_PEEK; + +/** Don't route. @see pj_MSG_DONTROUTE() */ +extern const int PJ_MSG_DONTROUTE; + + +#if defined(PJ_DLL) + /** Get #PJ_MSG_OOB constant */ + PJ_DECL(int) pj_MSG_OOB(void); + + /** Get #PJ_MSG_PEEK constant */ + PJ_DECL(int) pj_MSG_PEEK(void); + + /** Get #PJ_MSG_DONTROUTE constant */ + PJ_DECL(int) pj_MSG_DONTROUTE(void); +#else + /** Get #PJ_MSG_OOB constant */ +# define pj_MSG_OOB() PJ_MSG_OOB + + /** Get #PJ_MSG_PEEK constant */ +# define pj_MSG_PEEK() PJ_MSG_PEEK + + /** Get #PJ_MSG_DONTROUTE constant */ +# define pj_MSG_DONTROUTE() PJ_MSG_DONTROUTE +#endif + + +/** + * Flag to be specified in #pj_sock_shutdown(). + */ +typedef enum pj_socket_sd_type +{ + PJ_SD_RECEIVE = 0, /**< No more receive. */ + PJ_SHUT_RD = 0, /**< Alias for SD_RECEIVE. */ + PJ_SD_SEND = 1, /**< No more sending. */ + PJ_SHUT_WR = 1, /**< Alias for SD_SEND. */ + PJ_SD_BOTH = 2, /**< No more send and receive. */ + PJ_SHUT_RDWR = 2 /**< Alias for SD_BOTH. */ +} pj_socket_sd_type; + + + +/** Address to accept any incoming messages. */ +#define PJ_INADDR_ANY ((pj_uint32_t)0) + +/** Address indicating an error return */ +#define PJ_INADDR_NONE ((pj_uint32_t)0xffffffff) + +/** Address to send to all hosts. */ +#define PJ_INADDR_BROADCAST ((pj_uint32_t)0xffffffff) + + +/** + * Maximum length specifiable by #pj_sock_listen(). + * If the build system doesn't override this value, then the lowest + * denominator (five, in Win32 systems) will be used. + */ +#if !defined(PJ_SOMAXCONN) +# define PJ_SOMAXCONN 5 +#endif + + +/** + * Constant for invalid socket returned by #pj_sock_socket() and + * #pj_sock_accept(). + */ +#define PJ_INVALID_SOCKET (-1) + +/* Must undefine s_addr because of pj_in_addr below */ +#undef s_addr + +/** + * This structure describes Internet address. + */ +typedef struct pj_in_addr +{ + pj_uint32_t s_addr; /**< The 32bit IP address. */ +} pj_in_addr; + + +/** + * Maximum length of text representation of an IPv4 address. + */ +#define PJ_INET_ADDRSTRLEN 16 + +/** + * Maximum length of text representation of an IPv6 address. + */ +#define PJ_INET6_ADDRSTRLEN 46 + +/** + * The size of sin_zero field in pj_sockaddr_in structure. Most OSes + * use 8, but others such as the BSD TCP/IP stack in eCos uses 24. + */ +#ifndef PJ_SOCKADDR_IN_SIN_ZERO_LEN +# define PJ_SOCKADDR_IN_SIN_ZERO_LEN 8 +#endif + +/** + * This structure describes Internet socket address. + * If PJ_SOCKADDR_HAS_LEN is not zero, then sin_zero_len member is added + * to this struct. As far the application is concerned, the value of + * this member will always be zero. Internally, PJLIB may modify the value + * before calling OS socket API, and reset the value back to zero before + * returning the struct to application. + */ +struct pj_sockaddr_in +{ +#if defined(PJ_SOCKADDR_HAS_LEN) && PJ_SOCKADDR_HAS_LEN!=0 + pj_uint8_t sin_zero_len; /**< Just ignore this. */ + pj_uint8_t sin_family; /**< Address family. */ +#else + pj_uint16_t sin_family; /**< Address family. */ +#endif + pj_uint16_t sin_port; /**< Transport layer port number. */ + pj_in_addr sin_addr; /**< IP address. */ + char sin_zero[PJ_SOCKADDR_IN_SIN_ZERO_LEN]; /**< Padding.*/ +}; + + +#undef s6_addr + +/** + * This structure describes IPv6 address. + */ +typedef union pj_in6_addr +{ + /* This is the main entry */ + pj_uint8_t s6_addr[16]; /**< 8-bit array */ + + /* While these are used for proper alignment */ + pj_uint32_t u6_addr32[4]; + + /* Do not use this with Winsock2, as this will align pj_sockaddr_in6 + * to 64-bit boundary and Winsock2 doesn't like it! + * Update 26/04/2010: + * This is now disabled, see http://trac.pjsip.org/repos/ticket/1058 + */ +#if 0 && defined(PJ_HAS_INT64) && PJ_HAS_INT64!=0 && \ + (!defined(PJ_WIN32) || PJ_WIN32==0) + pj_int64_t u6_addr64[2]; +#endif + +} pj_in6_addr; + + +/** Initializer value for pj_in6_addr. */ +#define PJ_IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } } + +/** Initializer value for pj_in6_addr. */ +#define PJ_IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } } + +/** + * This structure describes IPv6 socket address. + * If PJ_SOCKADDR_HAS_LEN is not zero, then sin_zero_len member is added + * to this struct. As far the application is concerned, the value of + * this member will always be zero. Internally, PJLIB may modify the value + * before calling OS socket API, and reset the value back to zero before + * returning the struct to application. + */ +typedef struct pj_sockaddr_in6 +{ +#if defined(PJ_SOCKADDR_HAS_LEN) && PJ_SOCKADDR_HAS_LEN!=0 + pj_uint8_t sin6_zero_len; /**< Just ignore this. */ + pj_uint8_t sin6_family; /**< Address family. */ +#else + pj_uint16_t sin6_family; /**< Address family */ +#endif + pj_uint16_t sin6_port; /**< Transport layer port number. */ + pj_uint32_t sin6_flowinfo; /**< IPv6 flow information */ + pj_in6_addr sin6_addr; /**< IPv6 address. */ + pj_uint32_t sin6_scope_id; /**< Set of interfaces for a scope */ +} pj_sockaddr_in6; + + +/** + * This structure describes common attributes found in transport addresses. + * If PJ_SOCKADDR_HAS_LEN is not zero, then sa_zero_len member is added + * to this struct. As far the application is concerned, the value of + * this member will always be zero. Internally, PJLIB may modify the value + * before calling OS socket API, and reset the value back to zero before + * returning the struct to application. + */ +typedef struct pj_addr_hdr +{ +#if defined(PJ_SOCKADDR_HAS_LEN) && PJ_SOCKADDR_HAS_LEN!=0 + pj_uint8_t sa_zero_len; + pj_uint8_t sa_family; +#else + pj_uint16_t sa_family; /**< Common data: address family. */ +#endif +} pj_addr_hdr; + + +/** + * This union describes a generic socket address. + */ +typedef union pj_sockaddr +{ + pj_addr_hdr addr; /**< Generic transport address. */ + pj_sockaddr_in ipv4; /**< IPv4 transport address. */ + pj_sockaddr_in6 ipv6; /**< IPv6 transport address. */ +} pj_sockaddr; + + +/** + * This structure provides multicast group information for IPv4 addresses. + */ +typedef struct pj_ip_mreq { + pj_in_addr imr_multiaddr; /**< IP multicast address of group. */ + pj_in_addr imr_interface; /**< local IP address of interface. */ +} pj_ip_mreq; + +/* Maximum number of socket options. */ +#define PJ_MAX_SOCKOPT_PARAMS 4 + +/** + * Options to be set for the socket. + */ +typedef struct pj_sockopt_params +{ + /* The number of options to be applied. */ + unsigned cnt; + + /* Array of options to be applied. */ + struct { + /* The level at which the option is defined. */ + int level; + + /* Option name. */ + int optname; + + /* Pointer to the buffer in which the option is specified. */ + void *optval; + + /* Buffer size of the buffer pointed by optval. */ + int optlen; + } options[PJ_MAX_SOCKOPT_PARAMS]; +} pj_sockopt_params; + +/***************************************************************************** + * + * SOCKET ADDRESS MANIPULATION. + * + ***************************************************************************** + */ + +/** + * Convert 16-bit value from network byte order to host byte order. + * + * @param netshort 16-bit network value. + * @return 16-bit host value. + */ +PJ_DECL(pj_uint16_t) pj_ntohs(pj_uint16_t netshort); + +/** + * Convert 16-bit value from host byte order to network byte order. + * + * @param hostshort 16-bit host value. + * @return 16-bit network value. + */ +PJ_DECL(pj_uint16_t) pj_htons(pj_uint16_t hostshort); + +/** + * Convert 32-bit value from network byte order to host byte order. + * + * @param netlong 32-bit network value. + * @return 32-bit host value. + */ +PJ_DECL(pj_uint32_t) pj_ntohl(pj_uint32_t netlong); + +/** + * Convert 32-bit value from host byte order to network byte order. + * + * @param hostlong 32-bit host value. + * @return 32-bit network value. + */ +PJ_DECL(pj_uint32_t) pj_htonl(pj_uint32_t hostlong); + +/** + * Convert an Internet host address given in network byte order + * to string in standard numbers and dots notation. + * + * @param inaddr The host address. + * @return The string address. + */ +PJ_DECL(char*) pj_inet_ntoa(pj_in_addr inaddr); + +/** + * This function converts the Internet host address cp from the standard + * numbers-and-dots notation into binary data and stores it in the structure + * that inp points to. + * + * @param cp IP address in standard numbers-and-dots notation. + * @param inp Structure that holds the output of the conversion. + * + * @return nonzero if the address is valid, zero if not. + */ +PJ_DECL(int) pj_inet_aton(const pj_str_t *cp, struct pj_in_addr *inp); + +/** + * This function converts an address in its standard text presentation form + * into its numeric binary form. It supports both IPv4 and IPv6 address + * conversion. + * + * @param af Specify the family of the address. The PJ_AF_INET and + * PJ_AF_INET6 address families shall be supported. + * @param src Points to the string being passed in. + * @param dst Points to a buffer into which the function stores the + * numeric address; this shall be large enough to hold the + * numeric address (32 bits for PJ_AF_INET, 128 bits for + * PJ_AF_INET6). + * + * @return PJ_SUCCESS if conversion was successful. + */ +PJ_DECL(pj_status_t) pj_inet_pton(int af, const pj_str_t *src, void *dst); + +/** + * This function converts a numeric address into a text string suitable + * for presentation. It supports both IPv4 and IPv6 address + * conversion. + * @see pj_sockaddr_print() + * + * @param af Specify the family of the address. This can be PJ_AF_INET + * or PJ_AF_INET6. + * @param src Points to a buffer holding an IPv4 address if the af argument + * is PJ_AF_INET, or an IPv6 address if the af argument is + * PJ_AF_INET6; the address must be in network byte order. + * @param dst Points to a buffer where the function stores the resulting + * text string; it shall not be NULL. + * @param size Specifies the size of this buffer, which shall be large + * enough to hold the text string (PJ_INET_ADDRSTRLEN characters + * for IPv4, PJ_INET6_ADDRSTRLEN characters for IPv6). + * + * @return PJ_SUCCESS if conversion was successful. + */ +PJ_DECL(pj_status_t) pj_inet_ntop(int af, const void *src, + char *dst, int size); + +/** + * Converts numeric address into its text string representation. + * @see pj_sockaddr_print() + * + * @param af Specify the family of the address. This can be PJ_AF_INET + * or PJ_AF_INET6. + * @param src Points to a buffer holding an IPv4 address if the af argument + * is PJ_AF_INET, or an IPv6 address if the af argument is + * PJ_AF_INET6; the address must be in network byte order. + * @param dst Points to a buffer where the function stores the resulting + * text string; it shall not be NULL. + * @param size Specifies the size of this buffer, which shall be large + * enough to hold the text string (PJ_INET_ADDRSTRLEN characters + * for IPv4, PJ_INET6_ADDRSTRLEN characters for IPv6). + * + * @return The address string or NULL if failed. + */ +PJ_DECL(char*) pj_inet_ntop2(int af, const void *src, + char *dst, int size); + +/** + * Print socket address. + * + * @param addr The socket address. + * @param buf Text buffer. + * @param size Size of buffer. + * @param flags Bitmask combination of these value: + * - 1: port number is included. + * - 2: square bracket is included for IPv6 address. + * + * @return The address string. + */ +PJ_DECL(char*) pj_sockaddr_print(const pj_sockaddr_t *addr, + char *buf, int size, + unsigned flags); + +/** + * Convert address string with numbers and dots to binary IP address. + * + * @param cp The IP address in numbers and dots notation. + * @return If success, the IP address is returned in network + * byte order. If failed, PJ_INADDR_NONE will be + * returned. + * @remark + * This is an obsolete interface to #pj_inet_aton(); it is obsolete + * because -1 is a valid address (255.255.255.255), and #pj_inet_aton() + * provides a cleaner way to indicate error return. + */ +PJ_DECL(pj_in_addr) pj_inet_addr(const pj_str_t *cp); + +/** + * Convert address string with numbers and dots to binary IP address. + * + * @param cp The IP address in numbers and dots notation. + * @return If success, the IP address is returned in network + * byte order. If failed, PJ_INADDR_NONE will be + * returned. + * @remark + * This is an obsolete interface to #pj_inet_aton(); it is obsolete + * because -1 is a valid address (255.255.255.255), and #pj_inet_aton() + * provides a cleaner way to indicate error return. + */ +PJ_DECL(pj_in_addr) pj_inet_addr2(const char *cp); + +/** + * Initialize IPv4 socket address based on the address and port info. + * The string address may be in a standard numbers and dots notation or + * may be a hostname. If hostname is specified, then the function will + * resolve the host into the IP address. + * + * @see pj_sockaddr_init() + * + * @param addr The IP socket address to be set. + * @param cp The address string, which can be in a standard + * dotted numbers or a hostname to be resolved. + * @param port The port number, in host byte order. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pj_sockaddr_in_init( pj_sockaddr_in *addr, + const pj_str_t *cp, + pj_uint16_t port); + +/** + * Initialize IP socket address based on the address and port info. + * The string address may be in a standard numbers and dots notation or + * may be a hostname. If hostname is specified, then the function will + * resolve the host into the IP address. + * + * @see pj_sockaddr_in_init() + * + * @param af Internet address family. + * @param addr The IP socket address to be set. + * @param cp The address string, which can be in a standard + * dotted numbers or a hostname to be resolved. + * @param port The port number, in host byte order. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pj_sockaddr_init(int af, + pj_sockaddr *addr, + const pj_str_t *cp, + pj_uint16_t port); + +/** + * Compare two socket addresses. + * + * @param addr1 First address. + * @param addr2 Second address. + * + * @return Zero on equal, -1 if addr1 is less than addr2, + * and +1 if addr1 is more than addr2. + */ +PJ_DECL(int) pj_sockaddr_cmp(const pj_sockaddr_t *addr1, + const pj_sockaddr_t *addr2); + +/** + * Get pointer to the address part of a socket address. + * + * @param addr Socket address. + * + * @return Pointer to address part (sin_addr or sin6_addr, + * depending on address family) + */ +PJ_DECL(void*) pj_sockaddr_get_addr(const pj_sockaddr_t *addr); + +/** + * Check that a socket address contains a non-zero address part. + * + * @param addr Socket address. + * + * @return Non-zero if address is set to non-zero. + */ +PJ_DECL(pj_bool_t) pj_sockaddr_has_addr(const pj_sockaddr_t *addr); + +/** + * Get the address part length of a socket address, based on its address + * family. For PJ_AF_INET, the length will be sizeof(pj_in_addr), and + * for PJ_AF_INET6, the length will be sizeof(pj_in6_addr). + * + * @param addr Socket address. + * + * @return Length in bytes. + */ +PJ_DECL(unsigned) pj_sockaddr_get_addr_len(const pj_sockaddr_t *addr); + +/** + * Get the socket address length, based on its address + * family. For PJ_AF_INET, the length will be sizeof(pj_sockaddr_in), and + * for PJ_AF_INET6, the length will be sizeof(pj_sockaddr_in6). + * + * @param addr Socket address. + * + * @return Length in bytes. + */ +PJ_DECL(unsigned) pj_sockaddr_get_len(const pj_sockaddr_t *addr); + +/** + * Copy only the address part (sin_addr/sin6_addr) of a socket address. + * + * @param dst Destination socket address. + * @param src Source socket address. + * + * @see @pj_sockaddr_cp() + */ +PJ_DECL(void) pj_sockaddr_copy_addr(pj_sockaddr *dst, + const pj_sockaddr *src); +/** + * Copy socket address. This will copy the whole structure depending + * on the address family of the source socket address. + * + * @param dst Destination socket address. + * @param src Source socket address. + * + * @see @pj_sockaddr_copy_addr() + */ +PJ_DECL(void) pj_sockaddr_cp(pj_sockaddr_t *dst, const pj_sockaddr_t *src); + +/** + * Get the IP address of an IPv4 socket address. + * The address is returned as 32bit value in host byte order. + * + * @param addr The IP socket address. + * @return 32bit address, in host byte order. + */ +PJ_DECL(pj_in_addr) pj_sockaddr_in_get_addr(const pj_sockaddr_in *addr); + +/** + * Set the IP address of an IPv4 socket address. + * + * @param addr The IP socket address. + * @param hostaddr The host address, in host byte order. + */ +PJ_DECL(void) pj_sockaddr_in_set_addr(pj_sockaddr_in *addr, + pj_uint32_t hostaddr); + +/** + * Set the IP address of an IP socket address from string address, + * with resolving the host if necessary. The string address may be in a + * standard numbers and dots notation or may be a hostname. If hostname + * is specified, then the function will resolve the host into the IP + * address. + * + * @see pj_sockaddr_set_str_addr() + * + * @param addr The IP socket address to be set. + * @param cp The address string, which can be in a standard + * dotted numbers or a hostname to be resolved. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pj_sockaddr_in_set_str_addr( pj_sockaddr_in *addr, + const pj_str_t *cp); + +/** + * Set the IP address of an IPv4 or IPv6 socket address from string address, + * with resolving the host if necessary. The string address may be in a + * standard IPv6 or IPv6 address or may be a hostname. If hostname + * is specified, then the function will resolve the host into the IP + * address according to the address family. + * + * @param af Address family. + * @param addr The IP socket address to be set. + * @param cp The address string, which can be in a standard + * IP numbers (IPv4 or IPv6) or a hostname to be resolved. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pj_sockaddr_set_str_addr(int af, + pj_sockaddr *addr, + const pj_str_t *cp); + +/** + * Get the port number of a socket address, in host byte order. + * This function can be used for both IPv4 and IPv6 socket address. + * + * @param addr Socket address. + * + * @return Port number, in host byte order. + */ +PJ_DECL(pj_uint16_t) pj_sockaddr_get_port(const pj_sockaddr_t *addr); + +/** + * Get the transport layer port number of an Internet socket address. + * The port is returned in host byte order. + * + * @param addr The IP socket address. + * @return Port number, in host byte order. + */ +PJ_DECL(pj_uint16_t) pj_sockaddr_in_get_port(const pj_sockaddr_in *addr); + +/** + * Set the port number of an Internet socket address. + * + * @param addr The socket address. + * @param hostport The port number, in host byte order. + */ +PJ_DECL(pj_status_t) pj_sockaddr_set_port(pj_sockaddr *addr, + pj_uint16_t hostport); + +/** + * Set the port number of an IPv4 socket address. + * + * @see pj_sockaddr_set_port() + * + * @param addr The IP socket address. + * @param hostport The port number, in host byte order. + */ +PJ_DECL(void) pj_sockaddr_in_set_port(pj_sockaddr_in *addr, + pj_uint16_t hostport); + +/** + * Parse string containing IP address and optional port into socket address, + * possibly also with address family detection. This function supports both + * IPv4 and IPv6 parsing, however IPv6 parsing may only be done if IPv6 is + * enabled during compilation. + * + * This function supports parsing several formats. Sample IPv4 inputs and + * their default results:: + * - "10.0.0.1:80": address 10.0.0.1 and port 80. + * - "10.0.0.1": address 10.0.0.1 and port zero. + * - "10.0.0.1:": address 10.0.0.1 and port zero. + * - "10.0.0.1:0": address 10.0.0.1 and port zero. + * - ":80": address 0.0.0.0 and port 80. + * - ":": address 0.0.0.0 and port 0. + * - "localhost": address 127.0.0.1 and port 0. + * - "localhost:": address 127.0.0.1 and port 0. + * - "localhost:80": address 127.0.0.1 and port 80. + * + * Sample IPv6 inputs and their default results: + * - "[fec0::01]:80": address fec0::01 and port 80 + * - "[fec0::01]": address fec0::01 and port 0 + * - "[fec0::01]:": address fec0::01 and port 0 + * - "[fec0::01]:0": address fec0::01 and port 0 + * - "fec0::01": address fec0::01 and port 0 + * - "fec0::01:80": address fec0::01:80 and port 0 + * - "::": address zero (::) and port 0 + * - "[::]": address zero (::) and port 0 + * - "[::]:": address zero (::) and port 0 + * - ":::": address zero (::) and port 0 + * - "[::]:80": address zero (::) and port 0 + * - ":::80": address zero (::) and port 80 + * + * Note: when the IPv6 socket address contains port number, the IP + * part of the socket address should be enclosed with square brackets, + * otherwise the port number will be included as part of the IP address + * (see "fec0::01:80" example above). + * + * @param af Optionally specify the address family to be used. If the + * address family is to be deducted from the input, specify + * pj_AF_UNSPEC() here. Other supported values are + * #pj_AF_INET() and #pj_AF_INET6() + * @param options Additional options to assist the parsing, must be zero + * for now. + * @param str The input string to be parsed. + * @param addr Pointer to store the result. + * + * @return PJ_SUCCESS if the parsing is successful. + * + * @see pj_sockaddr_parse2() + */ +PJ_DECL(pj_status_t) pj_sockaddr_parse(int af, unsigned options, + const pj_str_t *str, + pj_sockaddr *addr); + +/** + * This function is similar to #pj_sockaddr_parse(), except that it will not + * convert the hostpart into IP address (thus possibly resolving the hostname + * into a #pj_sockaddr. + * + * Unlike #pj_sockaddr_parse(), this function has a limitation that if port + * number is specified in an IPv6 input string, the IP part of the IPv6 socket + * address MUST be enclosed in square brackets, otherwise the port number will + * be considered as part of the IPv6 IP address. + * + * @param af Optionally specify the address family to be used. If the + * address family is to be deducted from the input, specify + * #pj_AF_UNSPEC() here. Other supported values are + * #pj_AF_INET() and #pj_AF_INET6() + * @param options Additional options to assist the parsing, must be zero + * for now. + * @param str The input string to be parsed. + * @param hostpart Optional pointer to store the host part of the socket + * address, with any brackets removed. + * @param port Optional pointer to store the port number. If port number + * is not found, this will be set to zero upon return. + * @param raf Optional pointer to store the detected address family of + * the input address. + * + * @return PJ_SUCCESS if the parsing is successful. + * + * @see pj_sockaddr_parse() + */ +PJ_DECL(pj_status_t) pj_sockaddr_parse2(int af, unsigned options, + const pj_str_t *str, + pj_str_t *hostpart, + pj_uint16_t *port, + int *raf); + +/***************************************************************************** + * + * HOST NAME AND ADDRESS. + * + ***************************************************************************** + */ + +/** + * Get system's host name. + * + * @return The hostname, or empty string if the hostname can not + * be identified. + */ +PJ_DECL(const pj_str_t*) pj_gethostname(void); + +/** + * Get host's IP address, which the the first IP address that is resolved + * from the hostname. + * + * @return The host's IP address, PJ_INADDR_NONE if the host + * IP address can not be identified. + */ +PJ_DECL(pj_in_addr) pj_gethostaddr(void); + + +/***************************************************************************** + * + * SOCKET API. + * + ***************************************************************************** + */ + +/** + * Create new socket/endpoint for communication. + * + * @param family Specifies a communication domain; this selects the + * protocol family which will be used for communication. + * @param type The socket has the indicated type, which specifies the + * communication semantics. + * @param protocol Specifies a particular protocol to be used with the + * socket. Normally only a single protocol exists to support + * a particular socket type within a given protocol family, + * in which a case protocol can be specified as 0. + * @param sock New socket descriptor, or PJ_INVALID_SOCKET on error. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pj_sock_socket(int family, + int type, + int protocol, + pj_sock_t *sock); + +/** + * Close the socket descriptor. + * + * @param sockfd The socket descriptor. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pj_sock_close(pj_sock_t sockfd); + + +/** + * This function gives the socket sockfd the local address my_addr. my_addr is + * addrlen bytes long. Traditionally, this is called assigning a name to + * a socket. When a socket is created with #pj_sock_socket(), it exists in a + * name space (address family) but has no name assigned. + * + * @param sockfd The socket desriptor. + * @param my_addr The local address to bind the socket to. + * @param addrlen The length of the address. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pj_sock_bind( pj_sock_t sockfd, + const pj_sockaddr_t *my_addr, + int addrlen); + +/** + * Bind the IP socket sockfd to the given address and port. + * + * @param sockfd The socket descriptor. + * @param addr Local address to bind the socket to, in host byte order. + * @param port The local port to bind the socket to, in host byte order. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pj_sock_bind_in( pj_sock_t sockfd, + pj_uint32_t addr, + pj_uint16_t port); + +/** + * Bind the IP socket sockfd to the given address and a random port in the + * specified range. + * + * @param sockfd The socket desriptor. + * @param addr The local address and port to bind the socket to. + * @param port_range The port range, relative the to start port number + * specified in port field in #addr. Note that if the + * port is zero, this param will be ignored. + * @param max_try Maximum retries. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pj_sock_bind_random( pj_sock_t sockfd, + const pj_sockaddr_t *addr, + pj_uint16_t port_range, + pj_uint16_t max_try); + +#if PJ_HAS_TCP +/** + * Listen for incoming connection. This function only applies to connection + * oriented sockets (such as PJ_SOCK_STREAM or PJ_SOCK_SEQPACKET), and it + * indicates the willingness to accept incoming connections. + * + * @param sockfd The socket descriptor. + * @param backlog Defines the maximum length the queue of pending + * connections may grow to. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pj_sock_listen( pj_sock_t sockfd, + int backlog ); + +/** + * Accept new connection on the specified connection oriented server socket. + * + * @param serverfd The server socket. + * @param newsock New socket on success, of PJ_INVALID_SOCKET if failed. + * @param addr A pointer to sockaddr type. If the argument is not NULL, + * it will be filled by the address of connecting entity. + * @param addrlen Initially specifies the length of the address, and upon + * return will be filled with the exact address length. + * + * @return Zero on success, or the error number. + */ +PJ_DECL(pj_status_t) pj_sock_accept( pj_sock_t serverfd, + pj_sock_t *newsock, + pj_sockaddr_t *addr, + int *addrlen); +#endif + +/** + * The file descriptor sockfd must refer to a socket. If the socket is of + * type PJ_SOCK_DGRAM then the serv_addr address is the address to which + * datagrams are sent by default, and the only address from which datagrams + * are received. If the socket is of type PJ_SOCK_STREAM or PJ_SOCK_SEQPACKET, + * this call attempts to make a connection to another socket. The + * other socket is specified by serv_addr, which is an address (of length + * addrlen) in the communications space of the socket. Each communications + * space interprets the serv_addr parameter in its own way. + * + * @param sockfd The socket descriptor. + * @param serv_addr Server address to connect to. + * @param addrlen The length of server address. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pj_sock_connect( pj_sock_t sockfd, + const pj_sockaddr_t *serv_addr, + int addrlen); + +/** + * Return the address of peer which is connected to socket sockfd. + * + * @param sockfd The socket descriptor. + * @param addr Pointer to sockaddr structure to which the address + * will be returned. + * @param namelen Initially the length of the addr. Upon return the value + * will be set to the actual length of the address. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pj_sock_getpeername(pj_sock_t sockfd, + pj_sockaddr_t *addr, + int *namelen); + +/** + * Return the current name of the specified socket. + * + * @param sockfd The socket descriptor. + * @param addr Pointer to sockaddr structure to which the address + * will be returned. + * @param namelen Initially the length of the addr. Upon return the value + * will be set to the actual length of the address. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pj_sock_getsockname( pj_sock_t sockfd, + pj_sockaddr_t *addr, + int *namelen); + +/** + * Get socket option associated with a socket. Options may exist at multiple + * protocol levels; they are always present at the uppermost socket level. + * + * @param sockfd The socket descriptor. + * @param level The level which to get the option from. + * @param optname The option name. + * @param optval Identifies the buffer which the value will be + * returned. + * @param optlen Initially contains the length of the buffer, upon + * return will be set to the actual size of the value. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pj_sock_getsockopt( pj_sock_t sockfd, + pj_uint16_t level, + pj_uint16_t optname, + void *optval, + int *optlen); +/** + * Manipulate the options associated with a socket. Options may exist at + * multiple protocol levels; they are always present at the uppermost socket + * level. + * + * @param sockfd The socket descriptor. + * @param level The level which to get the option from. + * @param optname The option name. + * @param optval Identifies the buffer which contain the value. + * @param optlen The length of the value. + * + * @return PJ_SUCCESS or the status code. + */ +PJ_DECL(pj_status_t) pj_sock_setsockopt( pj_sock_t sockfd, + pj_uint16_t level, + pj_uint16_t optname, + const void *optval, + int optlen); + +/** + * Set socket options associated with a socket. This method will apply all the + * options specified, and ignore any errors that might be raised. + * + * @param sockfd The socket descriptor. + * @param params The socket options. + * + * @return PJ_SUCCESS or the last error code. + */ +PJ_DECL(pj_status_t) pj_sock_setsockopt_params( pj_sock_t sockfd, + const pj_sockopt_params *params); + +/** + * Helper function to set socket buffer size using #pj_sock_setsockopt() + * with capability to auto retry with lower buffer setting value until + * the highest possible value is successfully set. + * + * @param sockfd The socket descriptor. + * @param optname The option name, valid values are pj_SO_RCVBUF() + * and pj_SO_SNDBUF(). + * @param auto_retry Option whether auto retry with lower value is + * enabled. + * @param buf_size On input, specify the prefered buffer size setting, + * on output, the buffer size setting applied. + * + * @return PJ_SUCCESS or the status code. + */ +PJ_DECL(pj_status_t) pj_sock_setsockopt_sobuf( pj_sock_t sockfd, + pj_uint16_t optname, + pj_bool_t auto_retry, + unsigned *buf_size); + + +/** + * Receives data stream or message coming to the specified socket. + * + * @param sockfd The socket descriptor. + * @param buf The buffer to receive the data or message. + * @param len On input, the length of the buffer. On return, + * contains the length of data received. + * @param flags Flags (such as pj_MSG_PEEK()). + * + * @return PJ_SUCCESS or the error code. + */ +PJ_DECL(pj_status_t) pj_sock_recv(pj_sock_t sockfd, + void *buf, + pj_ssize_t *len, + unsigned flags); + +/** + * Receives data stream or message coming to the specified socket. + * + * @param sockfd The socket descriptor. + * @param buf The buffer to receive the data or message. + * @param len On input, the length of the buffer. On return, + * contains the length of data received. + * @param flags Flags (such as pj_MSG_PEEK()). + * @param from If not NULL, it will be filled with the source + * address of the connection. + * @param fromlen Initially contains the length of from address, + * and upon return will be filled with the actual + * length of the address. + * + * @return PJ_SUCCESS or the error code. + */ +PJ_DECL(pj_status_t) pj_sock_recvfrom( pj_sock_t sockfd, + void *buf, + pj_ssize_t *len, + unsigned flags, + pj_sockaddr_t *from, + int *fromlen); + +/** + * Transmit data to the socket. + * + * @param sockfd Socket descriptor. + * @param buf Buffer containing data to be sent. + * @param len On input, the length of the data in the buffer. + * Upon return, it will be filled with the length + * of data sent. + * @param flags Flags (such as pj_MSG_DONTROUTE()). + * + * @return PJ_SUCCESS or the status code. + */ +PJ_DECL(pj_status_t) pj_sock_send(pj_sock_t sockfd, + const void *buf, + pj_ssize_t *len, + unsigned flags); + +/** + * Transmit data to the socket to the specified address. + * + * @param sockfd Socket descriptor. + * @param buf Buffer containing data to be sent. + * @param len On input, the length of the data in the buffer. + * Upon return, it will be filled with the length + * of data sent. + * @param flags Flags (such as pj_MSG_DONTROUTE()). + * @param to The address to send. + * @param tolen The length of the address in bytes. + * + * @return PJ_SUCCESS or the status code. + */ +PJ_DECL(pj_status_t) pj_sock_sendto(pj_sock_t sockfd, + const void *buf, + pj_ssize_t *len, + unsigned flags, + const pj_sockaddr_t *to, + int tolen); + +#if PJ_HAS_TCP +/** + * The shutdown call causes all or part of a full-duplex connection on the + * socket associated with sockfd to be shut down. + * + * @param sockfd The socket descriptor. + * @param how If how is PJ_SHUT_RD, further receptions will be + * disallowed. If how is PJ_SHUT_WR, further transmissions + * will be disallowed. If how is PJ_SHUT_RDWR, further + * receptions andtransmissions will be disallowed. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pj_sock_shutdown( pj_sock_t sockfd, + int how); +#endif + +/** + * @} + */ + + +PJ_END_DECL + +#endif /* __PJ_SOCK_H__ */ + diff --git a/pjlib/include/pj/sock_qos.h b/pjlib/include/pj/sock_qos.h new file mode 100644 index 0000000..fbd9afd --- /dev/null +++ b/pjlib/include/pj/sock_qos.h @@ -0,0 +1,427 @@ +/* $Id: sock_qos.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_SOCK_QOS_H__ +#define __PJ_SOCK_QOS_H__ + +/** + * @file sock_qos.h + * @brief Socket QoS API + */ + +#include + +PJ_BEGIN_DECL + + +/** + * @defgroup socket_qos Socket Quality of Service (QoS) API: TOS, DSCP, WMM, IEEE 802.1p + * @ingroup PJ_SOCK + * @{ + + + \section intro QoS Technologies + + QoS settings are available for both Layer 2 and 3 of TCP/IP protocols: + + \subsection intro_ieee8021p Layer 2: IEEE 802.1p for Ethernet + + IEEE 802.1p tagging will mark frames sent by a host for prioritized + delivery using a 3-bit Priority field in the virtual local area network + (VLAN) header of the Ethernet frame. The VLAN header is placed inside + the Ethernet header, between the Source Address field and either the + Length field (for an IEEE 802.3 frame) or the EtherType field (for an + Ethernet II frame). + + \subsection intro_wmm Layer 2: WMM + + At the Network Interface layer for IEEE 802.11 wireless, the Wi-Fi + Alliance certification for Wi-Fi Multimedia (WMM) defines four access + categories for prioritizing network traffic. These access categories + are (in order of highest to lowest priority) voice, video, best-effort, + and background. Host support for WMM prioritization requires that both + wireless network adapters and their drivers support WMM. Wireless + access points (APs) must have WMM enabled. + + \subsection intro_dscp Layer 3: DSCP + + At the Internet layer, you can use Differentiated Services/Diffserv and + set the value of the Differentiated Services Code Point (DSCP) in the + IP header. As defined in RFC 2474, the DSCP value is the high-order 6 bits + of the IP version 4 (IPv4) TOS field and the IP version 6 (IPv6) Traffic + Class field. + + \subsection intro_other Layer 3: Other + + Other mechanisms exist (such as RSVP, IntServ) but this will not be + implemented. + + + \section availability QoS Availability + + \subsection linux Linux + + DSCP is available via IP TOS option. + + Ethernet 802.1p tagging is done by setting setsockopt(SO_PRIORITY) option + of the socket, then with the set_egress_map option of the vconfig utility + to convert this to set vlan-qos field of the packet. + + WMM is not known to be available. + + \subsection windows Windows and Windows Mobile + + (It's a mess!) + + DSCP is settable with setsockopt() on Windows 2000 or older, but Windows + would silently ignore this call on WinXP or later, unless administrator + modifies the registry. On Windows 2000, Windows XP, and Windows Server + 2003, GQoS (Generic QoS) API is the standard API, but this API may not be + supported in the future. On Vista and Windows 7, the is a new QoS2 API, + also known as Quality Windows Audio-Video Experience (qWAVE). + + IEEE 802.1p tagging is available via Traffic Control (TC) API, available + on Windows XP SP2, but this needs administrator access. For Vista and + later, it's in qWAVE. + + WMM is available for mobile platforms on Windows Mobile 6 platform and + Windows Embedded CE 6, via setsockopt(IP_DSCP_TRAFFIC_TYPE). qWAVE + supports this as well. + + \subsection symbian Symbian S60 3rd Ed + + Both DSCP and WMM is supported via RSocket::SetOpt() with will set both + Layer 2 and Layer 3 QoS settings accordingly. Internally, PJLIB sets the + DSCP field of the socket, and based on certain DSCP values mapping, + Symbian will set the WMM tag accordingly. + + \section api PJLIB's QoS API Abstraction + + Based on the above, the following API is implemented. + + Declare the following "standard" traffic types. + + \code + typedef enum pj_qos_type + { + PJ_QOS_TYPE_BEST_EFFORT, + PJ_QOS_TYPE_BACKGROUND, + PJ_QOS_TYPE_VIDEO, + PJ_QOS_TYPE_VOICE, + PJ_QOS_TYPE_CONTROL + } pj_qos_type; + \endcode + + The traffic classes above will determine how the Layer 2 and 3 QoS + settings will be used. The standard mapping between the classes above + to the corresponding Layer 2 and 3 settings are as follows: + + \code + ================================================================= + PJLIB Traffic Type IP DSCP WMM 802.1p + ----------------------------------------------------------------- + BEST_EFFORT 0x00 BE (Bulk Effort) 0 + BACKGROUND 0x08 BK (Bulk) 2 + VIDEO 0x28 VI (Video) 5 + VOICE 0x30 VO (Voice) 6 + CONTROL 0x38 VO (Voice) 7 + ================================================================= + \endcode + + There are two sets of API provided to manipulate the QoS parameters. + + \subsection portable_api Portable API + + The first set of API is: + + \code + // Set QoS parameters + PJ_DECL(pj_status_t) pj_sock_set_qos_type(pj_sock_t sock, + pj_qos_type val); + + // Get QoS parameters + PJ_DECL(pj_status_t) pj_sock_get_qos_type(pj_sock_t sock, + pj_qos_type *p_val); + \endcode + + The API will set the traffic type according to the DSCP class, for both + Layer 2 and Layer 3 QoS settings, where it's available. If any of the + layer QoS setting is not settable, the API will silently ignore it. + If both layers are not setable, the API will return error. + + The API above is the recommended use of QoS, since it is the most + portable across all platforms. + + \subsection detail_api Fine Grained Control API + + The second set of API is intended for application that wants to fine + tune the QoS parameters. + + The Layer 2 and 3 QoS parameters are stored in pj_qos_params structure: + + \code + typedef enum pj_qos_flag + { + PJ_QOS_PARAM_HAS_DSCP = 1, + PJ_QOS_PARAM_HAS_SO_PRIO = 2, + PJ_QOS_PARAM_HAS_WMM = 4 + } pj_qos_flag; + + typedef enum pj_qos_wmm_prio + { + PJ_QOS_WMM_PRIO_BULK_EFFORT, + PJ_QOS_WMM_PRIO_BULK, + PJ_QOS_WMM_PRIO_VIDEO, + PJ_QOS_WMM_PRIO_VOICE + } pj_qos_wmm_prio; + + typedef struct pj_qos_params + { + pj_uint8_t flags; // Determines which values to + // set, bitmask of pj_qos_flag + pj_uint8_t dscp_val; // The 6 bits DSCP value to set + pj_uint8_t so_prio; // SO_PRIORITY value + pj_qos_wmm_prio wmm_prio; // WMM priority value + } pj_qos_params; + \endcode + + The second set of API with more fine-grained control over the parameters + are: + + \code + // Retrieve QoS params for the specified traffic type + PJ_DECL(pj_status_t) pj_qos_get_params(pj_qos_type type, + pj_qos_params *p); + + // Set QoS parameters to the socket + PJ_DECL(pj_status_t) pj_sock_set_qos_params(pj_sock_t sock, + const pj_qos_params *p); + + // Get QoS parameters from the socket + PJ_DECL(pj_status_t) pj_sock_get_qos_params(pj_sock_t sock, + pj_qos_params *p); + \endcode + + + Important: + + The pj_sock_set/get_qos_params() APIs are not portable, and it's probably + only going to be implemented on Linux. Application should always try to + use pj_sock_set_qos_type() instead. + */ + + +/** + * High level traffic classification. + */ +typedef enum pj_qos_type +{ + PJ_QOS_TYPE_BEST_EFFORT, /**< Best effort traffic (default value). + Any QoS function calls with specifying + this value are effectively no-op */ + PJ_QOS_TYPE_BACKGROUND, /**< Background traffic. */ + PJ_QOS_TYPE_VIDEO, /**< Video traffic. */ + PJ_QOS_TYPE_VOICE, /**< Voice traffic. */ + PJ_QOS_TYPE_CONTROL /**< Control traffic. */ +} pj_qos_type; + +/** + * Bitmask flag to indicate which QoS layer setting is set in the + * \a flags field of the #pj_qos_params structure. + */ +typedef enum pj_qos_flag +{ + PJ_QOS_PARAM_HAS_DSCP = 1, /**< DSCP field is set. */ + PJ_QOS_PARAM_HAS_SO_PRIO = 2, /**< Socket SO_PRIORITY */ + PJ_QOS_PARAM_HAS_WMM = 4 /**< WMM field is set. */ +} pj_qos_flag; + + +/** + * Standard WMM priorities. + */ +typedef enum pj_qos_wmm_prio +{ + PJ_QOS_WMM_PRIO_BULK_EFFORT, /**< Bulk effort priority */ + PJ_QOS_WMM_PRIO_BULK, /**< Bulk priority. */ + PJ_QOS_WMM_PRIO_VIDEO, /**< Video priority */ + PJ_QOS_WMM_PRIO_VOICE /**< Voice priority */ +} pj_qos_wmm_prio; + + +/** + * QoS parameters to be set or retrieved to/from the socket. + */ +typedef struct pj_qos_params +{ + pj_uint8_t flags; /**< Determines which values to + set, bitmask of pj_qos_flag */ + pj_uint8_t dscp_val; /**< The 6 bits DSCP value to set */ + pj_uint8_t so_prio; /**< SO_PRIORITY value */ + pj_qos_wmm_prio wmm_prio; /**< WMM priority value */ +} pj_qos_params; + + + +/** + * This is the high level and portable API to enable QoS on the specified + * socket, by setting the traffic type to the specified parameter. + * + * @param sock The socket. + * @param type Traffic type to be set. + * + * @return PJ_SUCCESS if at least Layer 2 or Layer 3 setting is + * successfully set. If both Layer 2 and Layer 3 settings + * can't be set, this function will return error. + */ +PJ_DECL(pj_status_t) pj_sock_set_qos_type(pj_sock_t sock, + pj_qos_type type); + +/** + * This is the high level and portable API to get the traffic type that has + * been set on the socket. On occasions where the Layer 2 or Layer 3 settings + * were modified by using low level API, this function may return approximation + * of the closest QoS type that matches the settings. + * + * @param sock The socket. + * @param p_type Pointer to receive the traffic type of the socket. + * + * @return PJ_SUCCESS if traffic type for the socket can be obtained + * or approximated.. + */ +PJ_DECL(pj_status_t) pj_sock_get_qos_type(pj_sock_t sock, + pj_qos_type *p_type); + + +/** + * This is a convenience function to apply QoS to the socket, and print error + * logging if the operations failed. Both QoS traffic type and the low level + * QoS parameters can be applied with this function. + * + * @param sock The socket handle. + * @param qos_type QoS traffic type. The QoS traffic type will be applied + * only if the value is not PJ_QOS_TYPE_BEST_EFFORT, + * @param qos_params Optional low-level QoS parameters. This will be + * applied only if this argument is not NULL and the + * flags inside the structure is non-zero. Upon return, + * the flags will indicate which parameters have been + * applied successfully. + * @param log_level This function will print to log at this level upon + * encountering errors. + * @param log_sender Optional sender name in the log. + * @param sock_name Optional name to help identify the socket in the log. + * + * @return PJ_SUCCESS if at least Layer 2 or Layer 3 setting is + * successfully set. If both Layer 2 and Layer 3 settings + * can't be set, this function will return error. + * + * @see pj_sock_apply_qos2() + */ +PJ_DECL(pj_status_t) pj_sock_apply_qos(pj_sock_t sock, + pj_qos_type qos_type, + pj_qos_params *qos_params, + unsigned log_level, + const char *log_sender, + const char *sock_name); + +/** + * Variant of #pj_sock_apply_qos() where the \a qos_params parameter is + * const. + * + * @see pj_sock_apply_qos() + */ +PJ_DECL(pj_status_t) pj_sock_apply_qos2(pj_sock_t sock, + pj_qos_type qos_type, + const pj_qos_params *qos_params, + unsigned log_level, + const char *log_sender, + const char *sock_name); + +/** + * Retrieve the standard mapping of QoS params for the specified traffic + * type. + * + * @param type The traffic type from which the QoS parameters + * are to be retrieved. + * @param p_param Pointer to receive the QoS parameters. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_qos_get_params(pj_qos_type type, + pj_qos_params *p_param); + + +/** + * Retrieve the traffic type that matches the specified QoS parameters. + * If no exact matching is found, this function will return an + * approximation of the closest matching traffic type for the specified + * QoS parameters. + * + * @param param Structure containing QoS parameters to map into + * "standard" traffic types. + * @param p_type Pointer to receive the traffic type. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_qos_get_type(const pj_qos_params *param, + pj_qos_type *p_type); + + +/** + * This is a low level API to set QoS parameters to the socket. + * + * @param sock The socket. + * @param param Structure containing QoS parameters to be applied + * to the socket. Upon return, the \a flags field + * of this structure will be set with bitmask value + * indicating which QoS settings have successfully + * been applied to the socket. + * + * @return PJ_SUCCESS if at least one field setting has been + * successfully set. If no setting can't be set, + * this function will return error. + */ +PJ_DECL(pj_status_t) pj_sock_set_qos_params(pj_sock_t sock, + pj_qos_params *param); + +/** + * This is a low level API to get QoS parameters from the socket. + * + * @param sock The socket. + * @param p_param Pointer to receive the parameters. Upon returning + * successfully, the \a flags field of this structure + * will be initialized with the appropriate bitmask + * to indicate which fields have been successfully + * retrieved. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_sock_get_qos_params(pj_sock_t sock, + pj_qos_params *p_param); + + +/** + * @} + */ + + +PJ_END_DECL + +#endif /* __PJ_SOCK_QOS_H__ */ + diff --git a/pjlib/include/pj/sock_select.h b/pjlib/include/pj/sock_select.h new file mode 100644 index 0000000..dc39db1 --- /dev/null +++ b/pjlib/include/pj/sock_select.h @@ -0,0 +1,152 @@ +/* $Id: sock_select.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_SELECT_H__ +#define __PJ_SELECT_H__ + +/** + * @file sock_select.h + * @brief Socket select(). + */ + +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_SOCK_SELECT Socket select() API. + * @ingroup PJ_IO + * @{ + * This module provides portable abstraction for \a select() like API. + * The abstraction is needed so that it can utilize various event + * dispatching mechanisms that are available across platforms. + * + * The API is very similar to normal \a select() usage. + * + * \section pj_sock_select_examples_sec Examples + * + * For some examples on how to use the select API, please see: + * + * - \ref page_pjlib_select_test + */ + +/** + * Portable structure declarations for pj_fd_set. + * The implementation of pj_sock_select() does not use this structure + * per-se, but instead it will use the native fd_set structure. However, + * we must make sure that the size of pj_fd_set_t can accomodate the + * native fd_set structure. + */ +typedef struct pj_fd_set_t +{ + pj_sock_t data[PJ_IOQUEUE_MAX_HANDLES+ 4]; /**< Opaque buffer for fd_set */ +} pj_fd_set_t; + + +/** + * Initialize the descriptor set pointed to by fdsetp to the null set. + * + * @param fdsetp The descriptor set. + */ +PJ_DECL(void) PJ_FD_ZERO(pj_fd_set_t *fdsetp); + + +/** + * This is an internal function, application shouldn't use this. + * + * Get the number of descriptors in the set. This is defined in sock_select.c + * This function will only return the number of sockets set from PJ_FD_SET + * operation. When the set is modified by other means (such as by select()), + * the count will not be reflected here. + * + * @param fdsetp The descriptor set. + * + * @return Number of descriptors in the set. + */ +PJ_DECL(pj_size_t) PJ_FD_COUNT(const pj_fd_set_t *fdsetp); + + +/** + * Add the file descriptor fd to the set pointed to by fdsetp. + * If the file descriptor fd is already in this set, there shall be no effect + * on the set, nor will an error be returned. + * + * @param fd The socket descriptor. + * @param fdsetp The descriptor set. + */ +PJ_DECL(void) PJ_FD_SET(pj_sock_t fd, pj_fd_set_t *fdsetp); + +/** + * Remove the file descriptor fd from the set pointed to by fdsetp. + * If fd is not a member of this set, there shall be no effect on the set, + * nor will an error be returned. + * + * @param fd The socket descriptor. + * @param fdsetp The descriptor set. + */ +PJ_DECL(void) PJ_FD_CLR(pj_sock_t fd, pj_fd_set_t *fdsetp); + + +/** + * Evaluate to non-zero if the file descriptor fd is a member of the set + * pointed to by fdsetp, and shall evaluate to zero otherwise. + * + * @param fd The socket descriptor. + * @param fdsetp The descriptor set. + * + * @return Nonzero if fd is member of the descriptor set. + */ +PJ_DECL(pj_bool_t) PJ_FD_ISSET(pj_sock_t fd, const pj_fd_set_t *fdsetp); + + +/** + * This function wait for a number of file descriptors to change status. + * The behaviour is the same as select() function call which appear in + * standard BSD socket libraries. + * + * @param n On Unices, this specifies the highest-numbered + * descriptor in any of the three set, plus 1. On Windows, + * the value is ignored. + * @param readfds Optional pointer to a set of sockets to be checked for + * readability. + * @param writefds Optional pointer to a set of sockets to be checked for + * writability. + * @param exceptfds Optional pointer to a set of sockets to be checked for + * errors. + * @param timeout Maximum time for select to wait, or null for blocking + * operations. + * + * @return The total number of socket handles that are ready, or + * zero if the time limit expired, or -1 if an error occurred. + */ +PJ_DECL(int) pj_sock_select( int n, + pj_fd_set_t *readfds, + pj_fd_set_t *writefds, + pj_fd_set_t *exceptfds, + const pj_time_val *timeout); + + +/** + * @} + */ + + +PJ_END_DECL + +#endif /* __PJ_SELECT_H__ */ diff --git a/pjlib/include/pj/ssl_sock.h b/pjlib/include/pj/ssl_sock.h new file mode 100644 index 0000000..1682bda --- /dev/null +++ b/pjlib/include/pj/ssl_sock.h @@ -0,0 +1,1165 @@ +/* $Id: ssl_sock.h 5087 2015-05-07 04:48:19Z nanang $ */ +/* + * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_SSL_SOCK_H__ +#define __PJ_SSL_SOCK_H__ + +/** + * @file ssl_sock.h + * @brief Secure socket + */ + +#include +#include +#include + + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_SSL_SOCK Secure socket I/O + * @brief Secure socket provides security on socket operation using standard + * security protocols such as SSL and TLS. + * @ingroup PJ_IO + * @{ + * + * Secure socket wraps normal socket and applies security features, i.e: + * privacy and data integrity, on the socket traffic, using standard security + * protocols such as SSL and TLS. + * + * Secure socket employs active socket operations, which is similar to (and + * described more detail) in \ref PJ_ACTIVESOCK. + */ + + + /** + * This opaque structure describes the secure socket. + */ +typedef struct pj_ssl_sock_t pj_ssl_sock_t; + + +/** + * Opaque declaration of endpoint certificate or credentials. This may contains + * certificate, private key, and trusted Certificate Authorities list. + */ +typedef struct pj_ssl_cert_t pj_ssl_cert_t; + + +typedef enum pj_ssl_cert_verify_flag_t +{ + /** + * No error in verification. + */ + PJ_SSL_CERT_ESUCCESS = 0, + + /** + * The issuer certificate cannot be found. + */ + PJ_SSL_CERT_EISSUER_NOT_FOUND = (1 << 0), + + /** + * The certificate is untrusted. + */ + PJ_SSL_CERT_EUNTRUSTED = (1 << 1), + + /** + * The certificate has expired or not yet valid. + */ + PJ_SSL_CERT_EVALIDITY_PERIOD = (1 << 2), + + /** + * One or more fields of the certificate cannot be decoded due to + * invalid format. + */ + PJ_SSL_CERT_EINVALID_FORMAT = (1 << 3), + + /** + * The certificate cannot be used for the specified purpose. + */ + PJ_SSL_CERT_EINVALID_PURPOSE = (1 << 4), + + /** + * The issuer info in the certificate does not match to the (candidate) + * issuer certificate, e.g: issuer name not match to subject name + * of (candidate) issuer certificate. + */ + PJ_SSL_CERT_EISSUER_MISMATCH = (1 << 5), + + /** + * The CRL certificate cannot be found or cannot be read properly. + */ + PJ_SSL_CERT_ECRL_FAILURE = (1 << 6), + + /** + * The certificate has been revoked. + */ + PJ_SSL_CERT_EREVOKED = (1 << 7), + + /** + * The certificate chain length is too long. + */ + PJ_SSL_CERT_ECHAIN_TOO_LONG = (1 << 8), + + /** + * The server identity does not match to any identities specified in + * the certificate, e.g: subjectAltName extension, subject common name. + * This flag will only be set by application as SSL socket does not + * perform server identity verification. + */ + PJ_SSL_CERT_EIDENTITY_NOT_MATCH = (1 << 30), + + /** + * Unknown verification error. + */ + PJ_SSL_CERT_EUNKNOWN = (1 << 31) + +} pj_ssl_cert_verify_flag_t; + + +typedef enum pj_ssl_cert_name_type +{ + PJ_SSL_CERT_NAME_UNKNOWN = 0, + PJ_SSL_CERT_NAME_RFC822, + PJ_SSL_CERT_NAME_DNS, + PJ_SSL_CERT_NAME_URI, + PJ_SSL_CERT_NAME_IP +} pj_ssl_cert_name_type; + +/** + * Describe structure of certificate info. + */ +typedef struct pj_ssl_cert_info { + + unsigned version; /**< Certificate version */ + + pj_uint8_t serial_no[20]; /**< Serial number, array of + octets, first index is + MSB */ + + struct { + pj_str_t cn; /**< Common name */ + pj_str_t info; /**< One line subject, fields + are separated by slash, e.g: + "CN=sample.org/OU=HRD" */ + } subject; /**< Subject */ + + struct { + pj_str_t cn; /**< Common name */ + pj_str_t info; /**< One line subject, fields + are separated by slash.*/ + } issuer; /**< Issuer */ + + struct { + pj_time_val start; /**< Validity start */ + pj_time_val end; /**< Validity end */ + pj_bool_t gmt; /**< Flag if validity date/time + use GMT */ + } validity; /**< Validity */ + + struct { + unsigned cnt; /**< # of entry */ + struct { + pj_ssl_cert_name_type type; + /**< Name type */ + pj_str_t name; /**< The name */ + } *entry; /**< Subject alt name entry */ + } subj_alt_name; /**< Subject alternative + name extension */ + +} pj_ssl_cert_info; + + +/** + * Create credential from files. TLS server application can provide multiple + * certificates (RSA, ECC, and DSA) by supplying certificate name with "_rsa" + * suffix, e.g: "pjsip_rsa.pem", the library will automatically check for + * other certificates with "_ecc" and "_dsa" suffix. + * + * @param CA_file The file of trusted CA list. + * @param cert_file The file of certificate. + * @param privkey_file The file of private key. + * @param privkey_pass The password of private key, if any. + * @param p_cert Pointer to credential instance to be created. + * + * @return PJ_SUCCESS when successful. + */ +PJ_DECL(pj_status_t) pj_ssl_cert_load_from_files(pj_pool_t *pool, + const pj_str_t *CA_file, + const pj_str_t *cert_file, + const pj_str_t *privkey_file, + const pj_str_t *privkey_pass, + pj_ssl_cert_t **p_cert); + +/** + * Create credential from files. TLS server application can provide multiple + * certificates (RSA, ECC, and DSA) by supplying certificate name with "_rsa" + * suffix, e.g: "pjsip_rsa.pem", the library will automatically check for + * other certificates with "_ecc" and "_dsa" suffix. + * + * This is the same as pj_ssl_cert_load_from_files() but also + * accepts an additional param CA_path to load CA certificates from + * a directory. + * + * @param CA_file The file of trusted CA list. + * @param CA_path The path to a directory of trusted CA list. + * @param cert_file The file of certificate. + * @param privkey_file The file of private key. + * @param privkey_pass The password of private key, if any. + * @param p_cert Pointer to credential instance to be created. + * + * @return PJ_SUCCESS when successful. + */ +PJ_DECL(pj_status_t) pj_ssl_cert_load_from_files2( + pj_pool_t *pool, + const pj_str_t *CA_file, + const pj_str_t *CA_path, + const pj_str_t *cert_file, + const pj_str_t *privkey_file, + const pj_str_t *privkey_pass, + pj_ssl_cert_t **p_cert); + + +/** + * Dump SSL certificate info. + * + * @param ci The certificate info. + * @param indent String for left indentation. + * @param buf The buffer where certificate info will be printed on. + * @param buf_size The buffer size. + * + * @return The length of the dump result, or -1 when buffer size + * is not sufficient. + */ +PJ_DECL(pj_ssize_t) pj_ssl_cert_info_dump(const pj_ssl_cert_info *ci, + const char *indent, + char *buf, + pj_size_t buf_size); + + +/** + * Get SSL certificate verification error messages from verification status. + * + * @param verify_status The SSL certificate verification status. + * @param error_strings Array of strings to receive the verification error + * messages. + * @param count On input it specifies maximum error messages should be + * retrieved. On output it specifies the number of error + * messages retrieved. + * + * @return PJ_SUCCESS when successful. + */ +PJ_DECL(pj_status_t) pj_ssl_cert_get_verify_status_strings( + pj_uint32_t verify_status, + const char *error_strings[], + unsigned *count); + + +/** + * Cipher suites enumeration. + */ +typedef enum pj_ssl_cipher { + + /* Unsupported cipher */ + PJ_TLS_UNKNOWN_CIPHER = -1, + + /* NULL */ + PJ_TLS_NULL_WITH_NULL_NULL = 0x00000000, + + /* TLS/SSLv3 */ + PJ_TLS_RSA_WITH_NULL_MD5 = 0x00000001, + PJ_TLS_RSA_WITH_NULL_SHA = 0x00000002, + PJ_TLS_RSA_WITH_NULL_SHA256 = 0x0000003B, + PJ_TLS_RSA_WITH_RC4_128_MD5 = 0x00000004, + PJ_TLS_RSA_WITH_RC4_128_SHA = 0x00000005, + PJ_TLS_RSA_WITH_3DES_EDE_CBC_SHA = 0x0000000A, + PJ_TLS_RSA_WITH_AES_128_CBC_SHA = 0x0000002F, + PJ_TLS_RSA_WITH_AES_256_CBC_SHA = 0x00000035, + PJ_TLS_RSA_WITH_AES_128_CBC_SHA256 = 0x0000003C, + PJ_TLS_RSA_WITH_AES_256_CBC_SHA256 = 0x0000003D, + PJ_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 0x0000000D, + PJ_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 0x00000010, + PJ_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 0x00000013, + PJ_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 0x00000016, + PJ_TLS_DH_DSS_WITH_AES_128_CBC_SHA = 0x00000030, + PJ_TLS_DH_RSA_WITH_AES_128_CBC_SHA = 0x00000031, + PJ_TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 0x00000032, + PJ_TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 0x00000033, + PJ_TLS_DH_DSS_WITH_AES_256_CBC_SHA = 0x00000036, + PJ_TLS_DH_RSA_WITH_AES_256_CBC_SHA = 0x00000037, + PJ_TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 0x00000038, + PJ_TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 0x00000039, + PJ_TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 0x0000003E, + PJ_TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 0x0000003F, + PJ_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 0x00000040, + PJ_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 0x00000067, + PJ_TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 0x00000068, + PJ_TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 0x00000069, + PJ_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 0x0000006A, + PJ_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 0x0000006B, + PJ_TLS_DH_anon_WITH_RC4_128_MD5 = 0x00000018, + PJ_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA = 0x0000001B, + PJ_TLS_DH_anon_WITH_AES_128_CBC_SHA = 0x00000034, + PJ_TLS_DH_anon_WITH_AES_256_CBC_SHA = 0x0000003A, + PJ_TLS_DH_anon_WITH_AES_128_CBC_SHA256 = 0x0000006C, + PJ_TLS_DH_anon_WITH_AES_256_CBC_SHA256 = 0x0000006D, + + /* TLS (deprecated) */ + PJ_TLS_RSA_EXPORT_WITH_RC4_40_MD5 = 0x00000003, + PJ_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = 0x00000006, + PJ_TLS_RSA_WITH_IDEA_CBC_SHA = 0x00000007, + PJ_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x00000008, + PJ_TLS_RSA_WITH_DES_CBC_SHA = 0x00000009, + PJ_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA = 0x0000000B, + PJ_TLS_DH_DSS_WITH_DES_CBC_SHA = 0x0000000C, + PJ_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x0000000E, + PJ_TLS_DH_RSA_WITH_DES_CBC_SHA = 0x0000000F, + PJ_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA = 0x00000011, + PJ_TLS_DHE_DSS_WITH_DES_CBC_SHA = 0x00000012, + PJ_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA = 0x00000014, + PJ_TLS_DHE_RSA_WITH_DES_CBC_SHA = 0x00000015, + PJ_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 = 0x00000017, + PJ_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA = 0x00000019, + PJ_TLS_DH_anon_WITH_DES_CBC_SHA = 0x0000001A, + + /* SSLv3 */ + PJ_SSL_FORTEZZA_KEA_WITH_NULL_SHA = 0x0000001C, + PJ_SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA = 0x0000001D, + PJ_SSL_FORTEZZA_KEA_WITH_RC4_128_SHA = 0x0000001E, + + /* SSLv2 */ + PJ_SSL_CK_RC4_128_WITH_MD5 = 0x00010080, + PJ_SSL_CK_RC4_128_EXPORT40_WITH_MD5 = 0x00020080, + PJ_SSL_CK_RC2_128_CBC_WITH_MD5 = 0x00030080, + PJ_SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5 = 0x00040080, + PJ_SSL_CK_IDEA_128_CBC_WITH_MD5 = 0x00050080, + PJ_SSL_CK_DES_64_CBC_WITH_MD5 = 0x00060040, + PJ_SSL_CK_DES_192_EDE3_CBC_WITH_MD5 = 0x000700C0 + +} pj_ssl_cipher; + + +/** + * Get cipher list supported by SSL/TLS backend. + * + * @param ciphers The ciphers buffer to receive cipher list. + * @param cipher_num Maximum number of ciphers to be received. + * + * @return PJ_SUCCESS when successful. + */ +PJ_DECL(pj_status_t) pj_ssl_cipher_get_availables(pj_ssl_cipher ciphers[], + unsigned *cipher_num); + + +/** + * Check if the specified cipher is supported by SSL/TLS backend. + * + * @param cipher The cipher. + * + * @return PJ_TRUE when supported. + */ +PJ_DECL(pj_bool_t) pj_ssl_cipher_is_supported(pj_ssl_cipher cipher); + + +/** + * Get cipher name string. + * + * @param cipher The cipher. + * + * @return The cipher name or NULL if cipher is not recognized/ + * supported. + */ +PJ_DECL(const char*) pj_ssl_cipher_name(pj_ssl_cipher cipher); + + +/** + * Get cipher ID from cipher name string. Note that on different backends + * (e.g. OpenSSL or Symbian implementation), cipher names may not be + * equivalent for the same cipher ID. + * + * @param cipher_name The cipher name string. + * + * @return The cipher ID or PJ_TLS_UNKNOWN_CIPHER if the cipher + * name string is not recognized/supported. + */ +PJ_DECL(pj_ssl_cipher) pj_ssl_cipher_id(const char *cipher_name); + + +/** + * This structure contains the callbacks to be called by the secure socket. + */ +typedef struct pj_ssl_sock_cb +{ + /** + * This callback is called when a data arrives as the result of + * pj_ssl_sock_start_read(). + * + * @param ssock The secure socket. + * @param data The buffer containing the new data, if any. If + * the status argument is non-PJ_SUCCESS, this + * argument may be NULL. + * @param size The length of data in the buffer. + * @param status The status of the read operation. This may contain + * non-PJ_SUCCESS for example when the TCP connection + * has been closed. In this case, the buffer may + * contain left over data from previous callback which + * the application may want to process. + * @param remainder If application wishes to leave some data in the + * buffer (common for TCP applications), it should + * move the remainder data to the front part of the + * buffer and set the remainder length here. The value + * of this parameter will be ignored for datagram + * sockets. + * + * @return PJ_TRUE if further read is desired, and PJ_FALSE + * when application no longer wants to receive data. + * Application may destroy the secure socket in the + * callback and return PJ_FALSE here. + */ + pj_bool_t (*on_data_read)(pj_ssl_sock_t *ssock, + void *data, + pj_size_t size, + pj_status_t status, + pj_size_t *remainder); + /** + * This callback is called when a packet arrives as the result of + * pj_ssl_sock_start_recvfrom(). + * + * @param ssock The secure socket. + * @param data The buffer containing the packet, if any. If + * the status argument is non-PJ_SUCCESS, this + * argument will be set to NULL. + * @param size The length of packet in the buffer. If + * the status argument is non-PJ_SUCCESS, this + * argument will be set to zero. + * @param src_addr Source address of the packet. + * @param addr_len Length of the source address. + * @param status This contains + * + * @return PJ_TRUE if further read is desired, and PJ_FALSE + * when application no longer wants to receive data. + * Application may destroy the secure socket in the + * callback and return PJ_FALSE here. + */ + pj_bool_t (*on_data_recvfrom)(pj_ssl_sock_t *ssock, + void *data, + pj_size_t size, + const pj_sockaddr_t *src_addr, + int addr_len, + pj_status_t status); + + /** + * This callback is called when data has been sent. + * + * @param ssock The secure socket. + * @param send_key Key associated with the send operation. + * @param sent If value is positive non-zero it indicates the + * number of data sent. When the value is negative, + * it contains the error code which can be retrieved + * by negating the value (i.e. status=-sent). + * + * @return Application may destroy the secure socket in the + * callback and return PJ_FALSE here. + */ + pj_bool_t (*on_data_sent)(pj_ssl_sock_t *ssock, + pj_ioqueue_op_key_t *send_key, + pj_ssize_t sent); + + /** + * This callback is called when new connection arrives as the result + * of pj_ssl_sock_start_accept(). + * + * @param ssock The secure socket. + * @param newsock The new incoming secure socket. + * @param src_addr The source address of the connection. + * @param addr_len Length of the source address. + * + * @return PJ_TRUE if further accept() is desired, and PJ_FALSE + * when application no longer wants to accept incoming + * connection. Application may destroy the secure socket + * in the callback and return PJ_FALSE here. + */ + pj_bool_t (*on_accept_complete)(pj_ssl_sock_t *ssock, + pj_ssl_sock_t *newsock, + const pj_sockaddr_t *src_addr, + int src_addr_len); + + /** + * This callback is called when pending connect operation has been + * completed. + * + * @param ssock The secure socket. + * @param status The connection result. If connection has been + * successfully established, the status will contain + * PJ_SUCCESS. + * + * @return Application may destroy the secure socket in the + * callback and return PJ_FALSE here. + */ + pj_bool_t (*on_connect_complete)(pj_ssl_sock_t *ssock, + pj_status_t status); + +} pj_ssl_sock_cb; + + +/** + * Enumeration of secure socket protocol types. + * This can be combined using bitwise OR operation. + */ +typedef enum pj_ssl_sock_proto +{ + /** + * Default protocol of backend. + */ + PJ_SSL_SOCK_PROTO_DEFAULT = 0, + + /** + * SSLv2.0 protocol. + */ + PJ_SSL_SOCK_PROTO_SSL2 = (1 << 0), + + /** + * SSLv3.0 protocol. + */ + PJ_SSL_SOCK_PROTO_SSL3 = (1 << 1), + + /** + * TLSv1.0 protocol. + */ + PJ_SSL_SOCK_PROTO_TLS1 = (1 << 2), + + /** + * TLSv1.1 protocol. + */ + PJ_SSL_SOCK_PROTO_TLS1_1 = (1 << 3), + + /** + * TLSv1.2 protocol. + */ + PJ_SSL_SOCK_PROTO_TLS1_2 = (1 << 4), + + /** + * Certain backend implementation e.g:OpenSSL, has feature to enable all + * protocol. + */ + PJ_SSL_SOCK_PROTO_SSL23 = (1 << 16) - 1, + + /** + * DTLSv1.0 protocol. + */ + PJ_SSL_SOCK_PROTO_DTLS1 = (1 << 16), + +} pj_ssl_sock_proto; + + +/** + * Definition of secure socket info structure. + */ +typedef struct pj_ssl_sock_info +{ + /** + * Describes whether secure socket connection is established, i.e: TLS/SSL + * handshaking has been done successfully. + */ + pj_bool_t established; + + /** + * Describes secure socket protocol being used, see #pj_ssl_sock_proto. + * Use bitwise OR operation to combine the protocol type. + */ + pj_uint32_t proto; + + /** + * Describes cipher suite being used, this will only be set when connection + * is established. + */ + pj_ssl_cipher cipher; + + /** + * Describes local address. + */ + pj_sockaddr local_addr; + + /** + * Describes remote address. + */ + pj_sockaddr remote_addr; + + /** + * Describes active local certificate info. + */ + pj_ssl_cert_info *local_cert_info; + + /** + * Describes active remote certificate info. + */ + pj_ssl_cert_info *remote_cert_info; + + /** + * Status of peer certificate verification. + */ + pj_uint32_t verify_status; + + /** + * Last native error returned by the backend. + */ + unsigned long last_native_err; + + /** + * Group lock assigned to the ioqueue key. + */ + pj_grp_lock_t *grp_lock; + +} pj_ssl_sock_info; + + +/** + * Definition of secure socket creation parameters. + */ +typedef struct pj_ssl_sock_param +{ + /** + * Optional group lock to be assigned to the ioqueue key. + * + * Note that when a secure socket listener is configured with a group + * lock, any new secure socket of an accepted incoming connection + * will have its own group lock created automatically by the library, + * this group lock can be queried via pj_ssl_sock_get_info() in the info + * field pj_ssl_sock_info::grp_lock. + */ + pj_grp_lock_t *grp_lock; + + /** + * Specifies socket address family, either pj_AF_INET() and pj_AF_INET6(). + * + * Default is pj_AF_INET(). + */ + int sock_af; + + /** + * Specify socket type, either pj_SOCK_DGRAM() or pj_SOCK_STREAM(). + * + * Default is pj_SOCK_STREAM(). + */ + int sock_type; + + /** + * Specify the ioqueue to use. Secure socket uses the ioqueue to perform + * active socket operations, see \ref PJ_ACTIVESOCK for more detail. + */ + pj_ioqueue_t *ioqueue; + + /** + * Specify the timer heap to use. Secure socket uses the timer to provide + * auto cancelation on asynchronous operation when it takes longer time + * than specified timeout period, e.g: security negotiation timeout. + */ + pj_timer_heap_t *timer_heap; + + /** + * Specify secure socket callbacks, see #pj_ssl_sock_cb. + */ + pj_ssl_sock_cb cb; + + /** + * Specify secure socket user data. + */ + void *user_data; + + /** + * Specify security protocol to use, see #pj_ssl_sock_proto. Use bitwise OR + * operation to combine the protocol type. + * + * Default is PJ_SSL_SOCK_PROTO_DEFAULT. + */ + pj_uint32_t proto; + + /** + * Number of concurrent asynchronous operations that is to be supported + * by the secure socket. This value only affects socket receive and + * accept operations -- the secure socket will issue one or more + * asynchronous read and accept operations based on the value of this + * field. Setting this field to more than one will allow more than one + * incoming data or incoming connections to be processed simultaneously + * on multiprocessor systems, when the ioqueue is polled by more than + * one threads. + * + * The default value is 1. + */ + unsigned async_cnt; + + /** + * The ioqueue concurrency to be forced on the socket when it is + * registered to the ioqueue. See #pj_ioqueue_set_concurrency() for more + * info about ioqueue concurrency. + * + * When this value is -1, the concurrency setting will not be forced for + * this socket, and the socket will inherit the concurrency setting of + * the ioqueue. When this value is zero, the secure socket will disable + * concurrency for the socket. When this value is +1, the secure socket + * will enable concurrency for the socket. + * + * The default value is -1. + */ + int concurrency; + + /** + * If this option is specified, the secure socket will make sure that + * asynchronous send operation with stream oriented socket will only + * call the callback after all data has been sent. This means that the + * secure socket will automatically resend the remaining data until + * all data has been sent. + * + * Please note that when this option is specified, it is possible that + * error is reported after partial data has been sent. Also setting + * this will disable the ioqueue concurrency for the socket. + * + * Default value is 1. + */ + pj_bool_t whole_data; + + /** + * Specify buffer size for sending operation. Buffering sending data + * is used for allowing application to perform multiple outstanding + * send operations. Whenever application specifies this setting too + * small, sending operation may return PJ_ENOMEM. + * + * Default value is 8192 bytes. + */ + pj_size_t send_buffer_size; + + /** + * Specify buffer size for receiving encrypted (and perhaps compressed) + * data on underlying socket. This setting is unused on Symbian, since + * SSL/TLS Symbian backend, CSecureSocket, can use application buffer + * directly. + * + * Default value is 1500. + */ + pj_size_t read_buffer_size; + + /** + * Number of ciphers contained in the specified cipher preference. + * If this is set to zero, then the cipher list used will be determined + * by the backend default (for OpenSSL backend, setting + * PJ_SSL_SOCK_OSSL_CIPHERS will be used). + */ + unsigned ciphers_num; + + /** + * Ciphers and order preference. If empty, then default cipher list and + * its default order of the backend will be used. + */ + pj_ssl_cipher *ciphers; + + /** + * Security negotiation timeout. If this is set to zero (both sec and + * msec), the negotiation doesn't have a timeout. + * + * Default value is zero. + */ + pj_time_val timeout; + + /** + * Specify whether endpoint should verify peer certificate. + * + * Default value is PJ_FALSE. + */ + pj_bool_t verify_peer; + + /** + * When secure socket is acting as server (handles incoming connection), + * it will require the client to provide certificate. + * + * Default value is PJ_FALSE. + */ + pj_bool_t require_client_cert; + + /** + * Server name indication. When secure socket is acting as client + * (perform outgoing connection) and the server may host multiple + * 'virtual' servers at a single underlying network address, setting + * this will allow client to tell the server a name of the server + * it is contacting. + * + * Default value is zero/not-set. + */ + pj_str_t server_name; + + /** + * Specify if SO_REUSEADDR should be used for listening socket. This + * option will only be used with accept() operation. + * + * Default is PJ_FALSE. + */ + pj_bool_t reuse_addr; + + /** + * QoS traffic type to be set on this transport. When application wants + * to apply QoS tagging to the transport, it's preferable to set this + * field rather than \a qos_param fields since this is more portable. + * + * Default value is PJ_QOS_TYPE_BEST_EFFORT. + */ + pj_qos_type qos_type; + + /** + * Set the low level QoS parameters to the transport. This is a lower + * level operation than setting the \a qos_type field and may not be + * supported on all platforms. + * + * By default all settings in this structure are disabled. + */ + pj_qos_params qos_params; + + /** + * Specify if the transport should ignore any errors when setting the QoS + * traffic type/parameters. + * + * Default: PJ_TRUE + */ + pj_bool_t qos_ignore_error; + + /** + * Specify options to be set on the transport. + * + * By default there is no options. + * + */ + pj_sockopt_params sockopt_params; + + /** + * Specify if the transport should ignore any errors when setting the + * sockopt parameters. + * + * Default: PJ_TRUE + * + */ + pj_bool_t sockopt_ignore_error; + +} pj_ssl_sock_param; + + +/** + * Initialize the secure socket parameters for its creation with + * the default values. + * + * @param param The parameter to be initialized. + */ +PJ_DECL(void) pj_ssl_sock_param_default(pj_ssl_sock_param *param); + + +/** + * Create secure socket instance. + * + * @param pool The pool for allocating secure socket instance. + * @param param The secure socket parameter, see #pj_ssl_sock_param. + * @param p_ssock Pointer to secure socket instance to be created. + * + * @return PJ_SUCCESS when successful. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_create(pj_pool_t *pool, + const pj_ssl_sock_param *param, + pj_ssl_sock_t **p_ssock); + + +/** + * Set secure socket certificate or credentials. Credentials may include + * certificate, private key and trusted Certification Authorities list. + * Normally, server socket must provide certificate (and private key). + * Socket client may also need to provide certificate in case requested + * by the server. + * + * @param ssock The secure socket instance. + * @param pool The pool. + * @param cert The endpoint certificate/credentials, see + * #pj_ssl_cert_t. + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_set_certificate( + pj_ssl_sock_t *ssock, + pj_pool_t *pool, + const pj_ssl_cert_t *cert); + + +/** + * Close and destroy the secure socket. + * + * @param ssock The secure socket. + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_close(pj_ssl_sock_t *ssock); + + +/** + * Associate arbitrary data with the secure socket. Application may + * inspect this data in the callbacks and associate it with higher + * level processing. + * + * @param ssock The secure socket. + * @param user_data The user data to be associated with the secure + * socket. + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_set_user_data(pj_ssl_sock_t *ssock, + void *user_data); + +/** + * Retrieve the user data previously associated with this secure + * socket. + * + * @param ssock The secure socket. + * + * @return The user data. + */ +PJ_DECL(void*) pj_ssl_sock_get_user_data(pj_ssl_sock_t *ssock); + + +/** + * Retrieve the local address and port used by specified secure socket. + * + * @param ssock The secure socket. + * @param info The info buffer to be set, see #pj_ssl_sock_info. + * + * @return PJ_SUCCESS on successful. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_get_info(pj_ssl_sock_t *ssock, + pj_ssl_sock_info *info); + + +/** + * Starts read operation on this secure socket. This function will create + * \a async_cnt number of buffers (the \a async_cnt parameter was given + * in \a pj_ssl_sock_create() function) where each buffer is \a buff_size + * long. The buffers are allocated from the specified \a pool. Once the + * buffers are created, it then issues \a async_cnt number of asynchronous + * \a recv() operations to the socket and returns back to caller. Incoming + * data on the socket will be reported back to application via the + * \a on_data_read() callback. + * + * Application only needs to call this function once to initiate read + * operations. Further read operations will be done automatically by the + * secure socket when \a on_data_read() callback returns non-zero. + * + * @param ssock The secure socket. + * @param pool Pool used to allocate buffers for incoming data. + * @param buff_size The size of each buffer, in bytes. + * @param flags Flags to be given to pj_ioqueue_recv(). + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_start_read(pj_ssl_sock_t *ssock, + pj_pool_t *pool, + unsigned buff_size, + pj_uint32_t flags); + +/** + * Same as #pj_ssl_sock_start_read(), except that the application + * supplies the buffers for the read operation so that the acive socket + * does not have to allocate the buffers. + * + * @param ssock The secure socket. + * @param pool Pool used to allocate buffers for incoming data. + * @param buff_size The size of each buffer, in bytes. + * @param readbuf Array of packet buffers, each has buff_size size. + * @param flags Flags to be given to pj_ioqueue_recv(). + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_start_read2(pj_ssl_sock_t *ssock, + pj_pool_t *pool, + unsigned buff_size, + void *readbuf[], + pj_uint32_t flags); + +/** + * Same as pj_ssl_sock_start_read(), except that this function is used + * only for datagram sockets, and it will trigger \a on_data_recvfrom() + * callback instead. + * + * @param ssock The secure socket. + * @param pool Pool used to allocate buffers for incoming data. + * @param buff_size The size of each buffer, in bytes. + * @param flags Flags to be given to pj_ioqueue_recvfrom(). + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_start_recvfrom(pj_ssl_sock_t *ssock, + pj_pool_t *pool, + unsigned buff_size, + pj_uint32_t flags); + +/** + * Same as #pj_ssl_sock_start_recvfrom() except that the recvfrom() + * operation takes the buffer from the argument rather than creating + * new ones. + * + * @param ssock The secure socket. + * @param pool Pool used to allocate buffers for incoming data. + * @param buff_size The size of each buffer, in bytes. + * @param readbuf Array of packet buffers, each has buff_size size. + * @param flags Flags to be given to pj_ioqueue_recvfrom(). + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_start_recvfrom2(pj_ssl_sock_t *ssock, + pj_pool_t *pool, + unsigned buff_size, + void *readbuf[], + pj_uint32_t flags); + +/** + * Send data using the socket. + * + * @param ssock The secure socket. + * @param send_key The operation key to send the data, which is useful + * if application wants to submit multiple pending + * send operations and want to track which exact data + * has been sent in the \a on_data_sent() callback. + * @param data The data to be sent. This data must remain valid + * until the data has been sent. + * @param size The size of the data. + * @param flags Flags to be given to pj_ioqueue_send(). + * + * @return PJ_SUCCESS if data has been sent immediately, or + * PJ_EPENDING if data cannot be sent immediately or + * PJ_ENOMEM when sending buffer could not handle all + * queued data, see \a send_buffer_size. The callback + * \a on_data_sent() will be called when data is actually + * sent. Any other return value indicates error condition. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_send(pj_ssl_sock_t *ssock, + pj_ioqueue_op_key_t *send_key, + const void *data, + pj_ssize_t *size, + unsigned flags); + +/** + * Send datagram using the socket. + * + * @param ssock The secure socket. + * @param send_key The operation key to send the data, which is useful + * if application wants to submit multiple pending + * send operations and want to track which exact data + * has been sent in the \a on_data_sent() callback. + * @param data The data to be sent. This data must remain valid + * until the data has been sent. + * @param size The size of the data. + * @param flags Flags to be given to pj_ioqueue_send(). + * @param addr The destination address. + * @param addr_len Length of buffer containing destination address. + * + * @return PJ_SUCCESS if data has been sent immediately, or + * PJ_EPENDING if data cannot be sent immediately. In + * this case the \a on_data_sent() callback will be + * called when data is actually sent. Any other return + * value indicates error condition. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_sendto(pj_ssl_sock_t *ssock, + pj_ioqueue_op_key_t *send_key, + const void *data, + pj_ssize_t *size, + unsigned flags, + const pj_sockaddr_t *addr, + int addr_len); + + +/** + * Starts asynchronous socket accept() operations on this secure socket. + * This function will issue \a async_cnt number of asynchronous \a accept() + * operations to the socket and returns back to caller. Incoming + * connection on the socket will be reported back to application via the + * \a on_accept_complete() callback. + * + * Application only needs to call this function once to initiate accept() + * operations. Further accept() operations will be done automatically by + * the secure socket when \a on_accept_complete() callback returns non-zero. + * + * @param ssock The secure socket. + * @param pool Pool used to allocate some internal data for the + * operation. + * @param localaddr Local address to bind on. + * @param addr_len Length of buffer containing local address. + * + * @return PJ_SUCCESS if the operation has been successful, + * or the appropriate error code on failure. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_start_accept(pj_ssl_sock_t *ssock, + pj_pool_t *pool, + const pj_sockaddr_t *local_addr, + int addr_len); + + +/** + * Starts asynchronous socket connect() operation and SSL/TLS handshaking + * for this socket. Once the connection is done (either successfully or not), + * the \a on_connect_complete() callback will be called. + * + * @param ssock The secure socket. + * @param pool The pool to allocate some internal data for the + * operation. + * @param localaddr Local address. + * @param remaddr Remote address. + * @param addr_len Length of buffer containing above addresses. + * + * @return PJ_SUCCESS if connection can be established immediately + * or PJ_EPENDING if connection cannot be established + * immediately. In this case the \a on_connect_complete() + * callback will be called when connection is complete. + * Any other return value indicates error condition. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_start_connect(pj_ssl_sock_t *ssock, + pj_pool_t *pool, + const pj_sockaddr_t *localaddr, + const pj_sockaddr_t *remaddr, + int addr_len); + + +/** + * Starts SSL/TLS renegotiation over an already established SSL connection + * for this socket. This operation is performed transparently, no callback + * will be called once the renegotiation completed successfully. However, + * when the renegotiation fails, the connection will be closed and callback + * \a on_data_read() will be invoked with non-PJ_SUCCESS status code. + * + * @param ssock The secure socket. + * + * @return PJ_SUCCESS if renegotiation is completed immediately, + * or PJ_EPENDING if renegotiation has been started and + * waiting for completion, or the appropriate error code + * on failure. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_renegotiate(pj_ssl_sock_t *ssock); + + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJ_SSL_SOCK_H__ */ diff --git a/pjlib/include/pj/string.h b/pjlib/include/pj/string.h new file mode 100644 index 0000000..20be005 --- /dev/null +++ b/pjlib/include/pj/string.h @@ -0,0 +1,712 @@ +/* $Id: string.h 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_STRING_H__ +#define __PJ_STRING_H__ + +/** + * @file string.h + * @brief PJLIB String Operations. + */ + +#include +#include + + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_PSTR String Operations + * @ingroup PJ_DS + * @{ + * This module provides string manipulation API. + * + * \section pj_pstr_not_null_sec PJLIB String is NOT Null Terminated! + * + * That is the first information that developers need to know. Instead + * of using normal C string, strings in PJLIB are represented as + * pj_str_t structure below: + * + *
+ *   typedef struct pj_str_t
+ *   {
+ *       char      *ptr;
+ *       pj_size_t  slen;
+ *   } pj_str_t;
+ * 
+ * + * There are some advantages of using this approach: + * - the string can point to arbitrary location in memory even + * if the string in that location is not null terminated. This is + * most usefull for text parsing, where the parsed text can just + * point to the original text in the input. If we use C string, + * then we will have to copy the text portion from the input + * to a string variable. + * - because the length of the string is known, string copy operation + * can be made more efficient. + * + * Most of APIs in PJLIB that expect or return string will represent + * the string as pj_str_t instead of normal C string. + * + * \section pj_pstr_examples_sec Examples + * + * For some examples, please see: + * - @ref page_pjlib_string_test + */ + +/** + * Create string initializer from a normal C string. + * + * @param str Null terminated string to be stored. + * + * @return pj_str_t. + */ +PJ_IDECL(pj_str_t) pj_str(char *str); + +/** + * Create constant string from normal C string. + * + * @param str The string to be initialized. + * @param s Null terminated string. + * + * @return pj_str_t. + */ +PJ_INLINE(const pj_str_t*) pj_cstr(pj_str_t *str, const char *s) +{ + str->ptr = (char*)s; + str->slen = s ? (pj_ssize_t)strlen(s) : 0; + return str; +} + +/** + * Set the pointer and length to the specified value. + * + * @param str the string. + * @param ptr pointer to set. + * @param length length to set. + * + * @return the string. + */ +PJ_INLINE(pj_str_t*) pj_strset( pj_str_t *str, char *ptr, pj_size_t length) +{ + str->ptr = ptr; + str->slen = (pj_ssize_t)length; + return str; +} + +/** + * Set the pointer and length of the string to the source string, which + * must be NULL terminated. + * + * @param str the string. + * @param src pointer to set. + * + * @return the string. + */ +PJ_INLINE(pj_str_t*) pj_strset2( pj_str_t *str, char *src) +{ + str->ptr = src; + str->slen = src ? (pj_ssize_t)strlen(src) : 0; + return str; +} + +/** + * Set the pointer and the length of the string. + * + * @param str The target string. + * @param begin The start of the string. + * @param end The end of the string. + * + * @return the target string. + */ +PJ_INLINE(pj_str_t*) pj_strset3( pj_str_t *str, char *begin, char *end ) +{ + str->ptr = begin; + str->slen = (pj_ssize_t)(end-begin); + return str; +} + +/** + * Assign string. + * + * @param dst The target string. + * @param src The source string. + * + * @return the target string. + */ +PJ_IDECL(pj_str_t*) pj_strassign( pj_str_t *dst, pj_str_t *src ); + +/** + * Copy string contents. + * + * @param dst The target string. + * @param src The source string. + * + * @return the target string. + */ +PJ_IDECL(pj_str_t*) pj_strcpy(pj_str_t *dst, const pj_str_t *src); + +/** + * Copy string contents. + * + * @param dst The target string. + * @param src The source string. + * + * @return the target string. + */ +PJ_IDECL(pj_str_t*) pj_strcpy2(pj_str_t *dst, const char *src); + +/** + * Copy source string to destination up to the specified max length. + * + * @param dst The target string. + * @param src The source string. + * @param max Maximum characters to copy. + * + * @return the target string. + */ +PJ_IDECL(pj_str_t*) pj_strncpy(pj_str_t *dst, const pj_str_t *src, + pj_ssize_t max); + +/** + * Copy source string to destination up to the specified max length, + * and NULL terminate the destination. If source string length is + * greater than or equal to max, then max-1 will be copied. + * + * @param dst The target string. + * @param src The source string. + * @param max Maximum characters to copy. + * + * @return the target string. + */ +PJ_IDECL(pj_str_t*) pj_strncpy_with_null(pj_str_t *dst, const pj_str_t *src, + pj_ssize_t max); + +/** + * Duplicate string. + * + * @param pool The pool. + * @param dst The string result. + * @param src The string to duplicate. + * + * @return the string result. + */ +PJ_IDECL(pj_str_t*) pj_strdup(pj_pool_t *pool, + pj_str_t *dst, + const pj_str_t *src); + +/** + * Duplicate string and NULL terminate the destination string. + * + * @param pool The pool. + * @param dst The string result. + * @param src The string to duplicate. + * + * @return The string result. + */ +PJ_IDECL(pj_str_t*) pj_strdup_with_null(pj_pool_t *pool, + pj_str_t *dst, + const pj_str_t *src); + +/** + * Duplicate string. + * + * @param pool The pool. + * @param dst The string result. + * @param src The string to duplicate. + * + * @return the string result. + */ +PJ_IDECL(pj_str_t*) pj_strdup2(pj_pool_t *pool, + pj_str_t *dst, + const char *src); + +/** + * Duplicate string and NULL terminate the destination string. + * + * @param pool The pool. + * @param dst The string result. + * @param src The string to duplicate. + * + * @return The string result. + */ +PJ_IDECL(pj_str_t*) pj_strdup2_with_null(pj_pool_t *pool, + pj_str_t *dst, + const char *src); + + +/** + * Duplicate string. + * + * @param pool The pool. + * @param src The string to duplicate. + * + * @return the string result. + */ +PJ_IDECL(pj_str_t) pj_strdup3(pj_pool_t *pool, const char *src); + +/** + * Return the length of the string. + * + * @param str The string. + * + * @return the length of the string. + */ +PJ_INLINE(pj_size_t) pj_strlen( const pj_str_t *str ) +{ + return str->slen; +} + +/** + * Return the pointer to the string data. + * + * @param str The string. + * + * @return the pointer to the string buffer. + */ +PJ_INLINE(const char*) pj_strbuf( const pj_str_t *str ) +{ + return str->ptr; +} + +/** + * Compare strings. + * + * @param str1 The string to compare. + * @param str2 The string to compare. + * + * @return + * - < 0 if str1 is less than str2 + * - 0 if str1 is identical to str2 + * - > 0 if str1 is greater than str2 + */ +PJ_IDECL(int) pj_strcmp( const pj_str_t *str1, const pj_str_t *str2); + +/** + * Compare strings. + * + * @param str1 The string to compare. + * @param str2 The string to compare. + * + * @return + * - < 0 if str1 is less than str2 + * - 0 if str1 is identical to str2 + * - > 0 if str1 is greater than str2 + */ +PJ_IDECL(int) pj_strcmp2( const pj_str_t *str1, const char *str2 ); + +/** + * Compare strings. + * + * @param str1 The string to compare. + * @param str2 The string to compare. + * @param len The maximum number of characters to compare. + * + * @return + * - < 0 if str1 is less than str2 + * - 0 if str1 is identical to str2 + * - > 0 if str1 is greater than str2 + */ +PJ_IDECL(int) pj_strncmp( const pj_str_t *str1, const pj_str_t *str2, + pj_size_t len); + +/** + * Compare strings. + * + * @param str1 The string to compare. + * @param str2 The string to compare. + * @param len The maximum number of characters to compare. + * + * @return + * - < 0 if str1 is less than str2 + * - 0 if str1 is identical to str2 + * - > 0 if str1 is greater than str2 + */ +PJ_IDECL(int) pj_strncmp2( const pj_str_t *str1, const char *str2, + pj_size_t len); + +/** + * Perform case-insensitive comparison to the strings. + * + * @param str1 The string to compare. + * @param str2 The string to compare. + * + * @return + * - < 0 if str1 is less than str2 + * - 0 if str1 is equal to str2 + * - > 0 if str1 is greater than str2 + */ +PJ_IDECL(int) pj_stricmp(const pj_str_t *str1, const pj_str_t *str2); + +/** + * Perform lowercase comparison to the strings which consists of only + * alnum characters. More over, it will only return non-zero if both + * strings are not equal, not the usual negative or positive value. + * + * If non-alnum inputs are given, then the function may mistakenly + * treat two strings as equal. + * + * @param str1 The string to compare. + * @param str2 The string to compare. + * @param len The length to compare. + * + * @return + * - 0 if str1 is equal to str2 + * - (-1) if not equal. + */ +#if defined(PJ_HAS_STRICMP_ALNUM) && PJ_HAS_STRICMP_ALNUM!=0 +PJ_IDECL(int) strnicmp_alnum(const char *str1, const char *str2, + int len); +#else +#define strnicmp_alnum pj_ansi_strnicmp +#endif + +/** + * Perform lowercase comparison to the strings which consists of only + * alnum characters. More over, it will only return non-zero if both + * strings are not equal, not the usual negative or positive value. + * + * If non-alnum inputs are given, then the function may mistakenly + * treat two strings as equal. + * + * @param str1 The string to compare. + * @param str2 The string to compare. + * + * @return + * - 0 if str1 is equal to str2 + * - (-1) if not equal. + */ +#if defined(PJ_HAS_STRICMP_ALNUM) && PJ_HAS_STRICMP_ALNUM!=0 +PJ_IDECL(int) pj_stricmp_alnum(const pj_str_t *str1, const pj_str_t *str2); +#else +#define pj_stricmp_alnum pj_stricmp +#endif + +/** + * Perform case-insensitive comparison to the strings. + * + * @param str1 The string to compare. + * @param str2 The string to compare. + * + * @return + * - < 0 if str1 is less than str2 + * - 0 if str1 is identical to str2 + * - > 0 if str1 is greater than str2 + */ +PJ_IDECL(int) pj_stricmp2( const pj_str_t *str1, const char *str2); + +/** + * Perform case-insensitive comparison to the strings. + * + * @param str1 The string to compare. + * @param str2 The string to compare. + * @param len The maximum number of characters to compare. + * + * @return + * - < 0 if str1 is less than str2 + * - 0 if str1 is identical to str2 + * - > 0 if str1 is greater than str2 + */ +PJ_IDECL(int) pj_strnicmp( const pj_str_t *str1, const pj_str_t *str2, + pj_size_t len); + +/** + * Perform case-insensitive comparison to the strings. + * + * @param str1 The string to compare. + * @param str2 The string to compare. + * @param len The maximum number of characters to compare. + * + * @return + * - < 0 if str1 is less than str2 + * - 0 if str1 is identical to str2 + * - > 0 if str1 is greater than str2 + */ +PJ_IDECL(int) pj_strnicmp2( const pj_str_t *str1, const char *str2, + pj_size_t len); + +/** + * Concatenate strings. + * + * @param dst The destination string. + * @param src The source string. + */ +PJ_IDECL(void) pj_strcat(pj_str_t *dst, const pj_str_t *src); + + +/** + * Concatenate strings. + * + * @param dst The destination string. + * @param src The source string. + */ +PJ_IDECL(void) pj_strcat2(pj_str_t *dst, const char *src); + + +/** + * Finds a character in a string. + * + * @param str The string. + * @param chr The character to find. + * + * @return the pointer to first character found, or NULL. + */ +PJ_INLINE(char*) pj_strchr( const pj_str_t *str, int chr) +{ + return (char*) memchr((char*)str->ptr, chr, str->slen); +} + +/** + * Find the occurence of a substring substr in string str. + * + * @param str The string to search. + * @param substr The string to search fo. + * + * @return the pointer to the position of substr in str, or NULL. Note + * that if str is not NULL terminated, the returned pointer + * is pointing to non-NULL terminated string. + */ +PJ_DECL(char*) pj_strstr(const pj_str_t *str, const pj_str_t *substr); + +/** + * Performs substring lookup like pj_strstr() but ignores the case of + * both strings. + * + * @param str The string to search. + * @param substr The string to search fo. + * + * @return the pointer to the position of substr in str, or NULL. Note + * that if str is not NULL terminated, the returned pointer + * is pointing to non-NULL terminated string. + */ +PJ_DECL(char*) pj_stristr(const pj_str_t *str, const pj_str_t *substr); + +/** + * Remove (trim) leading whitespaces from the string. + * + * @param str The string. + * + * @return the string. + */ +PJ_DECL(pj_str_t*) pj_strltrim( pj_str_t *str ); + +/** + * Remove (trim) the trailing whitespaces from the string. + * + * @param str The string. + * + * @return the string. + */ +PJ_DECL(pj_str_t*) pj_strrtrim( pj_str_t *str ); + +/** + * Remove (trim) leading and trailing whitespaces from the string. + * + * @param str The string. + * + * @return the string. + */ +PJ_IDECL(pj_str_t*) pj_strtrim( pj_str_t *str ); + +/** + * Initialize the buffer with some random string. Note that the + * generated string is not NULL terminated. + * + * @param str the string to store the result. + * @param length the length of the random string to generate. + * + * @return the string. + */ +PJ_DECL(char*) pj_create_random_string(char *str, pj_size_t length); + +/** + * Convert string to signed integer. The conversion will stop as + * soon as non-digit character is found or all the characters have + * been processed. + * + * @param str the string. + * + * @return the integer. + */ +PJ_DECL(long) pj_strtol(const pj_str_t *str); + +/** + * Convert string to unsigned integer. The conversion will stop as + * soon as non-digit character is found or all the characters have + * been processed. + * + * @param str the string. + * + * @return the unsigned integer. + */ +PJ_DECL(unsigned long) pj_strtoul(const pj_str_t *str); + +/** + * Convert strings to an unsigned long-integer value. + * This function stops reading the string input either when the number + * of characters has exceeded the length of the input or it has read + * the first character it cannot recognize as part of a number, that is + * a character greater than or equal to base. + * + * @param str The input string. + * @param endptr Optional pointer to receive the remainder/unparsed + * portion of the input. + * @param base Number base to use. + * + * @return the unsigned integer number. + */ +PJ_DECL(unsigned long) pj_strtoul2(const pj_str_t *str, pj_str_t *endptr, + unsigned base); + +/** + * Convert string to float. + * + * @param str the string. + * + * @return the value. + */ +PJ_DECL(float) pj_strtof(const pj_str_t *str); + +/** + * Utility to convert unsigned integer to string. Note that the + * string will be NULL terminated. + * + * @param val the unsigned integer value. + * @param buf the buffer + * + * @return the number of characters written + */ +PJ_DECL(int) pj_utoa(unsigned long val, char *buf); + +/** + * Convert unsigned integer to string with minimum digits. Note that the + * string will be NULL terminated. + * + * @param val The unsigned integer value. + * @param buf The buffer. + * @param min_dig Minimum digits to be printed, or zero to specify no + * minimum digit. + * @param pad The padding character to be put in front of the string + * when the digits is less than minimum. + * + * @return the number of characters written. + */ +PJ_DECL(int) pj_utoa_pad( unsigned long val, char *buf, int min_dig, int pad); + + +/** + * Fill the memory location with zero. + * + * @param dst The destination buffer. + * @param size The number of bytes. + */ +PJ_INLINE(void) pj_bzero(void *dst, pj_size_t size) +{ +#if defined(PJ_HAS_BZERO) && PJ_HAS_BZERO!=0 + bzero(dst, size); +#else + memset(dst, 0, size); +#endif +} + + +/** + * Fill the memory location with value. + * + * @param dst The destination buffer. + * @param c Character to set. + * @param size The number of characters. + * + * @return the value of dst. + */ +PJ_INLINE(void*) pj_memset(void *dst, int c, pj_size_t size) +{ + return memset(dst, c, size); +} + +/** + * Copy buffer. + * + * @param dst The destination buffer. + * @param src The source buffer. + * @param size The size to copy. + * + * @return the destination buffer. + */ +PJ_INLINE(void*) pj_memcpy(void *dst, const void *src, pj_size_t size) +{ + return memcpy(dst, src, size); +} + +/** + * Move memory. + * + * @param dst The destination buffer. + * @param src The source buffer. + * @param size The size to copy. + * + * @return the destination buffer. + */ +PJ_INLINE(void*) pj_memmove(void *dst, const void *src, pj_size_t size) +{ + return memmove(dst, src, size); +} + +/** + * Compare buffers. + * + * @param buf1 The first buffer. + * @param buf2 The second buffer. + * @param size The size to compare. + * + * @return negative, zero, or positive value. + */ +PJ_INLINE(int) pj_memcmp(const void *buf1, const void *buf2, pj_size_t size) +{ + return memcmp(buf1, buf2, size); +} + +/** + * Find character in the buffer. + * + * @param buf The buffer. + * @param c The character to find. + * @param size The size to check. + * + * @return the pointer to location where the character is found, or NULL if + * not found. + */ +PJ_INLINE(void*) pj_memchr(const void *buf, int c, pj_size_t size) +{ + return (void*)memchr((void*)buf, c, size); +} + + +/** + * @} + */ + +#if PJ_FUNCTIONS_ARE_INLINED +# include +#endif + +PJ_END_DECL + +#endif /* __PJ_STRING_H__ */ + diff --git a/pjlib/include/pj/string_i.h b/pjlib/include/pj/string_i.h new file mode 100644 index 0000000..8bb86f1 --- /dev/null +++ b/pjlib/include/pj/string_i.h @@ -0,0 +1,371 @@ +/* $Id: string_i.h 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include + +PJ_IDEF(pj_str_t) pj_str(char *str) +{ + pj_str_t dst; + dst.ptr = str; + dst.slen = str ? pj_ansi_strlen(str) : 0; + return dst; +} + +PJ_IDEF(pj_str_t*) pj_strdup(pj_pool_t *pool, + pj_str_t *dst, + const pj_str_t *src) +{ + /* Without this, destination will be corrupted */ + if (dst == src) + return dst; + + if (src->slen) { + dst->ptr = (char*)pj_pool_alloc(pool, src->slen); + pj_memcpy(dst->ptr, src->ptr, src->slen); + } + dst->slen = src->slen; + return dst; +} + +PJ_IDEF(pj_str_t*) pj_strdup_with_null( pj_pool_t *pool, + pj_str_t *dst, + const pj_str_t *src) +{ + dst->ptr = (char*)pj_pool_alloc(pool, src->slen+1); + if (src->slen) { + pj_memcpy(dst->ptr, src->ptr, src->slen); + } + dst->slen = src->slen; + dst->ptr[dst->slen] = '\0'; + return dst; +} + +PJ_IDEF(pj_str_t*) pj_strdup2(pj_pool_t *pool, + pj_str_t *dst, + const char *src) +{ + dst->slen = src ? pj_ansi_strlen(src) : 0; + if (dst->slen) { + dst->ptr = (char*)pj_pool_alloc(pool, dst->slen); + pj_memcpy(dst->ptr, src, dst->slen); + } else { + dst->ptr = NULL; + } + return dst; +} + +PJ_IDEF(pj_str_t*) pj_strdup2_with_null( pj_pool_t *pool, + pj_str_t *dst, + const char *src) +{ + dst->slen = src ? pj_ansi_strlen(src) : 0; + dst->ptr = (char*)pj_pool_alloc(pool, dst->slen+1); + if (dst->slen) { + pj_memcpy(dst->ptr, src, dst->slen); + } + dst->ptr[dst->slen] = '\0'; + return dst; +} + +PJ_IDEF(pj_str_t) pj_strdup3(pj_pool_t *pool, const char *src) +{ + pj_str_t temp; + pj_strdup2(pool, &temp, src); + return temp; +} + +PJ_IDEF(pj_str_t*) pj_strassign( pj_str_t *dst, pj_str_t *src ) +{ + dst->ptr = src->ptr; + dst->slen = src->slen; + return dst; +} + +PJ_IDEF(pj_str_t*) pj_strcpy(pj_str_t *dst, const pj_str_t *src) +{ + dst->slen = src->slen; + if (src->slen > 0) + pj_memcpy(dst->ptr, src->ptr, src->slen); + return dst; +} + +PJ_IDEF(pj_str_t*) pj_strcpy2(pj_str_t *dst, const char *src) +{ + dst->slen = src ? pj_ansi_strlen(src) : 0; + if (dst->slen > 0) + pj_memcpy(dst->ptr, src, dst->slen); + return dst; +} + +PJ_IDEF(pj_str_t*) pj_strncpy( pj_str_t *dst, const pj_str_t *src, + pj_ssize_t max) +{ + if (max > src->slen) max = src->slen; + pj_memcpy(dst->ptr, src->ptr, max); + dst->slen = max; + return dst; +} + +PJ_IDEF(pj_str_t*) pj_strncpy_with_null( pj_str_t *dst, const pj_str_t *src, + pj_ssize_t max) +{ + if (max <= src->slen) + max = max-1; + else + max = src->slen; + + pj_memcpy(dst->ptr, src->ptr, max); + dst->ptr[max] = '\0'; + dst->slen = max; + return dst; +} + + +PJ_IDEF(int) pj_strcmp( const pj_str_t *str1, const pj_str_t *str2) +{ + if (str1->slen == 0) { + return str2->slen==0 ? 0 : -1; + } else if (str2->slen == 0) { + return 1; + } else { + pj_size_t min = (str1->slen < str2->slen)? str1->slen : str2->slen; + int res = pj_memcmp(str1->ptr, str2->ptr, min); + if (res == 0) { + return (str1->slen < str2->slen) ? -1 : + (str1->slen == str2->slen ? 0 : 1); + } else { + return res; + } + } +} + +PJ_IDEF(int) pj_strncmp( const pj_str_t *str1, const pj_str_t *str2, + pj_size_t len) +{ + pj_str_t copy1, copy2; + + if (len < (unsigned)str1->slen) { + copy1.ptr = str1->ptr; + copy1.slen = len; + str1 = ©1; + } + + if (len < (unsigned)str2->slen) { + copy2.ptr = str2->ptr; + copy2.slen = len; + str2 = ©2; + } + + return pj_strcmp(str1, str2); +} + +PJ_IDEF(int) pj_strncmp2( const pj_str_t *str1, const char *str2, + pj_size_t len) +{ + pj_str_t copy2; + + if (str2) { + copy2.ptr = (char*)str2; + copy2.slen = pj_ansi_strlen(str2); + } else { + copy2.slen = 0; + } + + return pj_strncmp(str1, ©2, len); +} + +PJ_IDEF(int) pj_strcmp2( const pj_str_t *str1, const char *str2 ) +{ + pj_str_t copy2; + + if (str2) { + copy2.ptr = (char*)str2; + copy2.slen = pj_ansi_strlen(str2); + } else { + copy2.ptr = NULL; + copy2.slen = 0; + } + + return pj_strcmp(str1, ©2); +} + +PJ_IDEF(int) pj_stricmp( const pj_str_t *str1, const pj_str_t *str2) +{ + if (str1->slen == 0) { + return str2->slen==0 ? 0 : -1; + } else if (str2->slen == 0) { + return 1; + } else { + pj_size_t min = (str1->slen < str2->slen)? str1->slen : str2->slen; + int res = pj_ansi_strnicmp(str1->ptr, str2->ptr, min); + if (res == 0) { + return (str1->slen < str2->slen) ? -1 : + (str1->slen == str2->slen ? 0 : 1); + } else { + return res; + } + } +} + +#if defined(PJ_HAS_STRICMP_ALNUM) && PJ_HAS_STRICMP_ALNUM!=0 +PJ_IDEF(int) strnicmp_alnum( const char *str1, const char *str2, + int len) +{ + if (len==0) + return 0; + else { + register const pj_uint32_t *p1 = (pj_uint32_t*)str1, + *p2 = (pj_uint32_t*)str2; + while (len > 3 && (*p1 & 0x5F5F5F5F)==(*p2 & 0x5F5F5F5F)) + ++p1, ++p2, len-=4; + + if (len > 3) + return -1; +#if defined(PJ_IS_LITTLE_ENDIAN) && PJ_IS_LITTLE_ENDIAN!=0 + else if (len==3) + return ((*p1 & 0x005F5F5F)==(*p2 & 0x005F5F5F)) ? 0 : -1; + else if (len==2) + return ((*p1 & 0x00005F5F)==(*p2 & 0x00005F5F)) ? 0 : -1; + else if (len==1) + return ((*p1 & 0x0000005F)==(*p2 & 0x0000005F)) ? 0 : -1; +#else + else if (len==3) + return ((*p1 & 0x5F5F5F00)==(*p2 & 0x5F5F5F00)) ? 0 : -1; + else if (len==2) + return ((*p1 & 0x5F5F0000)==(*p2 & 0x5F5F0000)) ? 0 : -1; + else if (len==1) + return ((*p1 & 0x5F000000)==(*p2 & 0x5F000000)) ? 0 : -1; +#endif + else + return 0; + } +} + +PJ_IDEF(int) pj_stricmp_alnum(const pj_str_t *str1, const pj_str_t *str2) +{ + register int len = str1->slen; + + if (len != str2->slen) { + return (len < str2->slen) ? -1 : 1; + } else if (len == 0) { + return 0; + } else { + register const pj_uint32_t *p1 = (pj_uint32_t*)str1->ptr, + *p2 = (pj_uint32_t*)str2->ptr; + while (len > 3 && (*p1 & 0x5F5F5F5F)==(*p2 & 0x5F5F5F5F)) + ++p1, ++p2, len-=4; + + if (len > 3) + return -1; +#if defined(PJ_IS_LITTLE_ENDIAN) && PJ_IS_LITTLE_ENDIAN!=0 + else if (len==3) + return ((*p1 & 0x005F5F5F)==(*p2 & 0x005F5F5F)) ? 0 : -1; + else if (len==2) + return ((*p1 & 0x00005F5F)==(*p2 & 0x00005F5F)) ? 0 : -1; + else if (len==1) + return ((*p1 & 0x0000005F)==(*p2 & 0x0000005F)) ? 0 : -1; +#else + else if (len==3) + return ((*p1 & 0x5F5F5F00)==(*p2 & 0x5F5F5F00)) ? 0 : -1; + else if (len==2) + return ((*p1 & 0x5F5F0000)==(*p2 & 0x5F5F0000)) ? 0 : -1; + else if (len==1) + return ((*p1 & 0x5F000000)==(*p2 & 0x5F000000)) ? 0 : -1; +#endif + else + return 0; + } +} +#endif /* PJ_HAS_STRICMP_ALNUM */ + +PJ_IDEF(int) pj_stricmp2( const pj_str_t *str1, const char *str2) +{ + pj_str_t copy2; + + if (str2) { + copy2.ptr = (char*)str2; + copy2.slen = pj_ansi_strlen(str2); + } else { + copy2.ptr = NULL; + copy2.slen = 0; + } + + return pj_stricmp(str1, ©2); +} + +PJ_IDEF(int) pj_strnicmp( const pj_str_t *str1, const pj_str_t *str2, + pj_size_t len) +{ + pj_str_t copy1, copy2; + + if (len < (unsigned)str1->slen) { + copy1.ptr = str1->ptr; + copy1.slen = len; + str1 = ©1; + } + + if (len < (unsigned)str2->slen) { + copy2.ptr = str2->ptr; + copy2.slen = len; + str2 = ©2; + } + + return pj_stricmp(str1, str2); +} + +PJ_IDEF(int) pj_strnicmp2( const pj_str_t *str1, const char *str2, + pj_size_t len) +{ + pj_str_t copy2; + + if (str2) { + copy2.ptr = (char*)str2; + copy2.slen = pj_ansi_strlen(str2); + } else { + copy2.slen = 0; + } + + return pj_strnicmp(str1, ©2, len); +} + +PJ_IDEF(void) pj_strcat(pj_str_t *dst, const pj_str_t *src) +{ + if (src->slen) { + pj_memcpy(dst->ptr + dst->slen, src->ptr, src->slen); + dst->slen += src->slen; + } +} + +PJ_IDEF(void) pj_strcat2(pj_str_t *dst, const char *str) +{ + pj_size_t len = str? pj_ansi_strlen(str) : 0; + if (len) { + pj_memcpy(dst->ptr + dst->slen, str, len); + dst->slen += len; + } +} + +PJ_IDEF(pj_str_t*) pj_strtrim( pj_str_t *str ) +{ + pj_strltrim(str); + pj_strrtrim(str); + return str; +} + diff --git a/pjlib/include/pj/timer.h b/pjlib/include/pj/timer.h new file mode 100644 index 0000000..fd7e71d --- /dev/null +++ b/pjlib/include/pj/timer.h @@ -0,0 +1,370 @@ +/* $Id: timer.h 4567 2013-07-19 06:31:28Z bennylp $ */ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __PJ_TIMER_H__ +#define __PJ_TIMER_H__ + +/** + * @file timer.h + * @brief Timer Heap + */ + +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJ_TIMER Timer Heap Management. + * @ingroup PJ_MISC + * @brief + * The timer scheduling implementation here is based on ACE library's + * ACE_Timer_Heap, with only little modification to suit our library's style + * (I even left most of the comments in the original source). + * + * To quote the original quote in ACE_Timer_Heap_T class: + * + * This implementation uses a heap-based callout queue of + * absolute times. Therefore, in the average and worst case, + * scheduling, canceling, and expiring timers is O(log N) (where + * N is the total number of timers). In addition, we can also + * preallocate as many \a ACE_Timer_Nodes as there are slots in + * the heap. This allows us to completely remove the need for + * dynamic memory allocation, which is important for real-time + * systems. + * + * You can find the fine ACE library at: + * http://www.cs.wustl.edu/~schmidt/ACE.html + * + * ACE is Copyright (C)1993-2006 Douglas C. Schmidt + * + * @{ + * + * \section pj_timer_examples_sec Examples + * + * For some examples on how to use the timer heap, please see the link below. + * + * - \ref page_pjlib_timer_test + */ + + +/** + * The type for internal timer ID. + */ +typedef int pj_timer_id_t; + +/** + * Forward declaration for pj_timer_entry. + */ +struct pj_timer_entry; + +/** + * The type of callback function to be called by timer scheduler when a timer + * has expired. + * + * @param timer_heap The timer heap. + * @param entry Timer entry which timer's has expired. + */ +typedef void pj_timer_heap_callback(pj_timer_heap_t *timer_heap, + struct pj_timer_entry *entry); + + +/** + * This structure represents an entry to the timer. + */ +typedef struct pj_timer_entry +{ + /** + * User data to be associated with this entry. + * Applications normally will put the instance of object that + * owns the timer entry in this field. + */ + void *user_data; + + /** + * Arbitrary ID assigned by the user/owner of this entry. + * Applications can use this ID to distinguish multiple + * timer entries that share the same callback and user_data. + */ + int id; + + /** + * Callback to be called when the timer expires. + */ + pj_timer_heap_callback *cb; + + /** + * Internal unique timer ID, which is assigned by the timer heap. + * Application should not touch this ID. + */ + pj_timer_id_t _timer_id; + + /** + * The future time when the timer expires, which the value is updated + * by timer heap when the timer is scheduled. + */ + pj_time_val _timer_value; + + /** + * Internal: the group lock used by this entry, set when + * pj_timer_heap_schedule_w_lock() is used. + */ + pj_grp_lock_t *_grp_lock; + +#if PJ_TIMER_DEBUG + const char *src_file; + int src_line; +#endif +} pj_timer_entry; + + +/** + * Calculate memory size required to create a timer heap. + * + * @param count Number of timer entries to be supported. + * @return Memory size requirement in bytes. + */ +PJ_DECL(pj_size_t) pj_timer_heap_mem_size(pj_size_t count); + +/** + * Create a timer heap. + * + * @param pool The pool where allocations in the timer heap will be + * allocated. The timer heap will dynamicly allocate + * more storate from the pool if the number of timer + * entries registered is more than the size originally + * requested when calling this function. + * @param count The maximum number of timer entries to be supported + * initially. If the application registers more entries + * during runtime, then the timer heap will resize. + * @param ht Pointer to receive the created timer heap. + * + * @return PJ_SUCCESS, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pj_timer_heap_create( pj_pool_t *pool, + pj_size_t count, + pj_timer_heap_t **ht); + +/** + * Destroy the timer heap. + * + * @param ht The timer heap. + */ +PJ_DECL(void) pj_timer_heap_destroy( pj_timer_heap_t *ht ); + + +/** + * Set lock object to be used by the timer heap. By default, the timer heap + * uses dummy synchronization. + * + * @param ht The timer heap. + * @param lock The lock object to be used for synchronization. + * @param auto_del If nonzero, the lock object will be destroyed when + * the timer heap is destroyed. + */ +PJ_DECL(void) pj_timer_heap_set_lock( pj_timer_heap_t *ht, + pj_lock_t *lock, + pj_bool_t auto_del ); + +/** + * Set maximum number of timed out entries to process in a single poll. + * + * @param ht The timer heap. + * @param count Number of entries. + * + * @return The old number. + */ +PJ_DECL(unsigned) pj_timer_heap_set_max_timed_out_per_poll(pj_timer_heap_t *ht, + unsigned count ); + +/** + * Initialize a timer entry. Application should call this function at least + * once before scheduling the entry to the timer heap, to properly initialize + * the timer entry. + * + * @param entry The timer entry to be initialized. + * @param id Arbitrary ID assigned by the user/owner of this entry. + * Applications can use this ID to distinguish multiple + * timer entries that share the same callback and user_data. + * @param user_data User data to be associated with this entry. + * Applications normally will put the instance of object that + * owns the timer entry in this field. + * @param cb Callback function to be called when the timer elapses. + * + * @return The timer entry itself. + */ +PJ_DECL(pj_timer_entry*) pj_timer_entry_init( pj_timer_entry *entry, + int id, + void *user_data, + pj_timer_heap_callback *cb ); + +/** + * Queries whether a timer entry is currently running. + * + * @param entry The timer entry to query. + * + * @return PJ_TRUE if the timer is running. PJ_FALSE if not. + */ +PJ_DECL(pj_bool_t) pj_timer_entry_running( pj_timer_entry *entry ); + +/** + * Schedule a timer entry which will expire AFTER the specified delay. + * + * @param ht The timer heap. + * @param entry The entry to be registered. + * @param delay The interval to expire. + * @return PJ_SUCCESS, or the appropriate error code. + */ +#if PJ_TIMER_DEBUG +# define pj_timer_heap_schedule(ht,e,d) \ + pj_timer_heap_schedule_dbg(ht,e,d,__FILE__,__LINE__) + + PJ_DECL(pj_status_t) pj_timer_heap_schedule_dbg( pj_timer_heap_t *ht, + pj_timer_entry *entry, + const pj_time_val *delay, + const char *src_file, + int src_line); +#else +PJ_DECL(pj_status_t) pj_timer_heap_schedule( pj_timer_heap_t *ht, + pj_timer_entry *entry, + const pj_time_val *delay); +#endif /* PJ_TIMER_DEBUG */ + +/** + * Schedule a timer entry which will expire AFTER the specified delay, and + * increment the reference counter of the group lock while the timer entry + * is active. The group lock reference counter will automatically be released + * after the timer callback is called or when the timer is cancelled. + * + * @param ht The timer heap. + * @param entry The entry to be registered. + * @param id_val The value to be set to the "id" field of the timer entry + * once the timer is scheduled. + * @param delay The interval to expire. + * @param grp_lock The group lock. + * + * @return PJ_SUCCESS, or the appropriate error code. + */ +#if PJ_TIMER_DEBUG +# define pj_timer_heap_schedule_w_grp_lock(ht,e,d,id,g) \ + pj_timer_heap_schedule_w_grp_lock_dbg(ht,e,d,id,g,__FILE__,__LINE__) + + PJ_DECL(pj_status_t) pj_timer_heap_schedule_w_grp_lock_dbg( + pj_timer_heap_t *ht, + pj_timer_entry *entry, + const pj_time_val *delay, + int id_val, + pj_grp_lock_t *grp_lock, + const char *src_file, + int src_line); +#else +PJ_DECL(pj_status_t) pj_timer_heap_schedule_w_grp_lock( + pj_timer_heap_t *ht, + pj_timer_entry *entry, + const pj_time_val *delay, + int id_val, + pj_grp_lock_t *grp_lock); +#endif /* PJ_TIMER_DEBUG */ + + +/** + * Cancel a previously registered timer. This will also decrement the + * reference counter of the group lock associated with the timer entry, + * if the entry was scheduled with one. + * + * @param ht The timer heap. + * @param entry The entry to be cancelled. + * @return The number of timer cancelled, which should be one if the + * entry has really been registered, or zero if no timer was + * cancelled. + */ +PJ_DECL(int) pj_timer_heap_cancel( pj_timer_heap_t *ht, + pj_timer_entry *entry); + +/** + * Cancel only if the previously registered timer is active. This will + * also decrement the reference counter of the group lock associated + * with the timer entry, if the entry was scheduled with one. In any + * case, set the "id" to the specified value. + * + * @param ht The timer heap. + * @param entry The entry to be cancelled. + * @param id_val Value to be set to "id" + * + * @return The number of timer cancelled, which should be one if the + * entry has really been registered, or zero if no timer was + * cancelled. + */ +PJ_DECL(int) pj_timer_heap_cancel_if_active(pj_timer_heap_t *ht, + pj_timer_entry *entry, + int id_val); + +/** + * Get the number of timer entries. + * + * @param ht The timer heap. + * @return The number of timer entries. + */ +PJ_DECL(pj_size_t) pj_timer_heap_count( pj_timer_heap_t *ht ); + +/** + * Get the earliest time registered in the timer heap. The timer heap + * MUST have at least one timer being scheduled (application should use + * #pj_timer_heap_count() before calling this function). + * + * @param ht The timer heap. + * @param timeval The time deadline of the earliest timer entry. + * + * @return PJ_SUCCESS, or PJ_ENOTFOUND if no entry is scheduled. + */ +PJ_DECL(pj_status_t) pj_timer_heap_earliest_time( pj_timer_heap_t *ht, + pj_time_val *timeval); + +/** + * Poll the timer heap, check for expired timers and call the callback for + * each of the expired timers. + * + * Note: polling the timer heap is not necessary in Symbian. Please see + * @ref PJ_SYMBIAN_OS for more info. + * + * @param ht The timer heap. + * @param next_delay If this parameter is not NULL, it will be filled up with + * the time delay until the next timer elapsed, or + * PJ_MAXINT32 in the sec part if no entry exist. + * + * @return The number of timers expired. + */ +PJ_DECL(unsigned) pj_timer_heap_poll( pj_timer_heap_t *ht, + pj_time_val *next_delay); + +#if PJ_TIMER_DEBUG +/** + * Dump timer heap entries. + * + * @param ht The timer heap. + */ +PJ_DECL(void) pj_timer_heap_dump(pj_timer_heap_t *ht); +#endif + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJ_TIMER_H__ */ + diff --git a/pjlib/include/pj/types.h b/pjlib/include/pj/types.h new file mode 100644 index 0000000..a592703 --- /dev/null +++ b/pjlib/include/pj/types.h @@ -0,0 +1,556 @@ +/* $Id: types.h 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_TYPES_H__ +#define __PJ_TYPES_H__ + + +/** + * @file types.h + * @brief Declaration of basic types and utility. + */ +/** + * @defgroup PJ_BASIC Basic Data Types and Library Functionality. + * @ingroup PJ_DS + * @{ + */ +#include + +PJ_BEGIN_DECL + +/* ************************************************************************* */ + +/** Signed 32bit integer. */ +typedef int pj_int32_t; + +/** Unsigned 32bit integer. */ +typedef unsigned int pj_uint32_t; + +/** Signed 16bit integer. */ +typedef short pj_int16_t; + +/** Unsigned 16bit integer. */ +typedef unsigned short pj_uint16_t; + +/** Signed 8bit integer. */ +typedef signed char pj_int8_t; + +/** Unsigned 8bit integer. */ +typedef unsigned char pj_uint8_t; + +/** Large unsigned integer. */ +typedef size_t pj_size_t; + +/** Large signed integer. */ +#if defined(PJ_WIN64) && PJ_WIN64!=0 + typedef pj_int64_t pj_ssize_t; +#else + typedef long pj_ssize_t; +#endif + +/** Status code. */ +typedef int pj_status_t; + +/** Boolean. */ +typedef int pj_bool_t; + +/** Native char type, which will be equal to wchar_t for Unicode + * and char for ANSI. */ +#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 + typedef wchar_t pj_char_t; +#else + typedef char pj_char_t; +#endif + +/** This macro creates Unicode or ANSI literal string depending whether + * native platform string is Unicode or ANSI. */ +#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 +# define PJ_T(literal_str) L##literal_str +#else +# define PJ_T(literal_str) literal_str +#endif + +/** Some constants */ +enum pj_constants_ +{ + /** Status is OK. */ + PJ_SUCCESS=0, + + /** True value. */ + PJ_TRUE=1, + + /** False value. */ + PJ_FALSE=0 +}; + +/** + * File offset type. + */ +#if defined(PJ_HAS_INT64) && PJ_HAS_INT64!=0 +typedef pj_int64_t pj_off_t; +#else +typedef pj_ssize_t pj_off_t; +#endif + +/* ************************************************************************* */ +/* + * Data structure types. + */ +/** + * This type is used as replacement to legacy C string, and used throughout + * the library. By convention, the string is NOT null terminated. + */ +struct pj_str_t +{ + /** Buffer pointer, which is by convention NOT null terminated. */ + char *ptr; + + /** The length of the string. */ + pj_ssize_t slen; +}; + +/** + * This structure represents high resolution (64bit) time value. The time + * values represent time in cycles, which is retrieved by calling + * #pj_get_timestamp(). + */ +typedef union pj_timestamp +{ + struct + { +#if defined(PJ_IS_LITTLE_ENDIAN) && PJ_IS_LITTLE_ENDIAN!=0 + pj_uint32_t lo; /**< Low 32-bit value of the 64-bit value. */ + pj_uint32_t hi; /**< high 32-bit value of the 64-bit value. */ +#else + pj_uint32_t hi; /**< high 32-bit value of the 64-bit value. */ + pj_uint32_t lo; /**< Low 32-bit value of the 64-bit value. */ +#endif + } u32; /**< The 64-bit value as two 32-bit values. */ + +#if PJ_HAS_INT64 + pj_uint64_t u64; /**< The whole 64-bit value, where available. */ +#endif +} pj_timestamp; + + + +/** + * The opaque data type for linked list, which is used as arguments throughout + * the linked list operations. + */ +typedef void pj_list_type; + +/** + * List. + */ +typedef struct pj_list pj_list; + +/** + * Opaque data type for hash tables. + */ +typedef struct pj_hash_table_t pj_hash_table_t; + +/** + * Opaque data type for hash entry (only used internally by hash table). + */ +typedef struct pj_hash_entry pj_hash_entry; + +/** + * Data type for hash search iterator. + * This structure should be opaque, however applications need to declare + * concrete variable of this type, that's why the declaration is visible here. + */ +typedef struct pj_hash_iterator_t +{ + pj_uint32_t index; /**< Internal index. */ + pj_hash_entry *entry; /**< Internal entry. */ +} pj_hash_iterator_t; + + +/** + * Forward declaration for memory pool factory. + */ +typedef struct pj_pool_factory pj_pool_factory; + +/** + * Opaque data type for memory pool. + */ +typedef struct pj_pool_t pj_pool_t; + +/** + * Forward declaration for caching pool, a pool factory implementation. + */ +typedef struct pj_caching_pool pj_caching_pool; + +/** + * This type is used as replacement to legacy C string, and used throughout + * the library. + */ +typedef struct pj_str_t pj_str_t; + +/** + * Opaque data type for I/O Queue structure. + */ +typedef struct pj_ioqueue_t pj_ioqueue_t; + +/** + * Opaque data type for key that identifies a handle registered to the + * I/O queue framework. + */ +typedef struct pj_ioqueue_key_t pj_ioqueue_key_t; + +/** + * Opaque data to identify timer heap. + */ +typedef struct pj_timer_heap_t pj_timer_heap_t; + +/** + * Opaque data type for atomic operations. + */ +typedef struct pj_atomic_t pj_atomic_t; + +/** + * Value type of an atomic variable. + */ +typedef PJ_ATOMIC_VALUE_TYPE pj_atomic_value_t; + +/* ************************************************************************* */ + +/** Thread handle. */ +typedef struct pj_thread_t pj_thread_t; + +/** Lock object. */ +typedef struct pj_lock_t pj_lock_t; + +/** Group lock */ +typedef struct pj_grp_lock_t pj_grp_lock_t; + +/** Mutex handle. */ +typedef struct pj_mutex_t pj_mutex_t; + +/** Semaphore handle. */ +typedef struct pj_sem_t pj_sem_t; + +/** Event object. */ +typedef struct pj_event_t pj_event_t; + +/** Unidirectional stream pipe object. */ +typedef struct pj_pipe_t pj_pipe_t; + +/** Operating system handle. */ +typedef void *pj_oshandle_t; + +/** Socket handle. */ +#if defined(PJ_WIN64) && PJ_WIN64!=0 + typedef pj_int64_t pj_sock_t; +#else + typedef long pj_sock_t; +#endif + +/** Generic socket address. */ +typedef void pj_sockaddr_t; + +/** Forward declaration. */ +typedef struct pj_sockaddr_in pj_sockaddr_in; + +/** Color type. */ +typedef unsigned int pj_color_t; + +/** Exception id. */ +typedef int pj_exception_id_t; + +/* ************************************************************************* */ + +/** Utility macro to compute the number of elements in static array. */ +#define PJ_ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0])) + +/** Maximum value for signed 32-bit integer. */ +#define PJ_MAXINT32 0x7FFFFFFFL + +/** + * Length of object names. + */ +#define PJ_MAX_OBJ_NAME 32 + +/* ************************************************************************* */ +/* + * General. + */ +/** + * Initialize the PJ Library. + * This function must be called before using the library. The purpose of this + * function is to initialize static library data, such as character table used + * in random string generation, and to initialize operating system dependent + * functionality (such as WSAStartup() in Windows). + * + * Apart from calling pj_init(), application typically should also initialize + * the random seed by calling pj_srand(). + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pj_init(void); + + +/** + * Shutdown PJLIB. + */ +PJ_DECL(void) pj_shutdown(void); + +/** + * Type of callback to register to pj_atexit(). + */ +typedef void (*pj_exit_callback)(void); + +/** + * Register cleanup function to be called by PJLIB when pj_shutdown() is + * called. + * + * @param func The function to be registered. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pj_atexit(pj_exit_callback func); + + + +/** + * Swap the byte order of an 16bit data. + * + * @param val16 The 16bit data. + * + * @return An 16bit data with swapped byte order. + */ +PJ_INLINE(pj_int16_t) pj_swap16(pj_int16_t val16) +{ + pj_uint8_t *p = (pj_uint8_t*)&val16; + pj_uint8_t tmp = *p; + *p = *(p+1); + *(p+1) = tmp; + return val16; +} + +/** + * Swap the byte order of an 32bit data. + * + * @param val32 The 32bit data. + * + * @return An 32bit data with swapped byte order. + */ +PJ_INLINE(pj_int32_t) pj_swap32(pj_int32_t val32) +{ + pj_uint8_t *p = (pj_uint8_t*)&val32; + pj_uint8_t tmp = *p; + *p = *(p+3); + *(p+3) = tmp; + tmp = *(p+1); + *(p+1) = *(p+2); + *(p+2) = tmp; + return val32; +} + + +/** + * @} + */ +/** + * @addtogroup PJ_TIME Time Data Type and Manipulation. + * @ingroup PJ_MISC + * @{ + */ + +/** + * Representation of time value in this library. + * This type can be used to represent either an interval or a specific time + * or date. + */ +typedef struct pj_time_val +{ + /** The seconds part of the time. */ + long sec; + + /** The miliseconds fraction of the time. */ + long msec; + +} pj_time_val; + +/** + * Normalize the value in time value. + * @param t Time value to be normalized. + */ +PJ_DECL(void) pj_time_val_normalize(pj_time_val *t); + +/** + * Get the total time value in miliseconds. This is the same as + * multiplying the second part with 1000 and then add the miliseconds + * part to the result. + * + * @param t The time value. + * @return Total time in miliseconds. + * @hideinitializer + */ +#define PJ_TIME_VAL_MSEC(t) ((t).sec * 1000 + (t).msec) + +/** + * This macro will check if \a t1 is equal to \a t2. + * + * @param t1 The first time value to compare. + * @param t2 The second time value to compare. + * @return Non-zero if both time values are equal. + * @hideinitializer + */ +#define PJ_TIME_VAL_EQ(t1, t2) ((t1).sec==(t2).sec && (t1).msec==(t2).msec) + +/** + * This macro will check if \a t1 is greater than \a t2 + * + * @param t1 The first time value to compare. + * @param t2 The second time value to compare. + * @return Non-zero if t1 is greater than t2. + * @hideinitializer + */ +#define PJ_TIME_VAL_GT(t1, t2) ((t1).sec>(t2).sec || \ + ((t1).sec==(t2).sec && (t1).msec>(t2).msec)) + +/** + * This macro will check if \a t1 is greater than or equal to \a t2 + * + * @param t1 The first time value to compare. + * @param t2 The second time value to compare. + * @return Non-zero if t1 is greater than or equal to t2. + * @hideinitializer + */ +#define PJ_TIME_VAL_GTE(t1, t2) (PJ_TIME_VAL_GT(t1,t2) || \ + PJ_TIME_VAL_EQ(t1,t2)) + +/** + * This macro will check if \a t1 is less than \a t2 + * + * @param t1 The first time value to compare. + * @param t2 The second time value to compare. + * @return Non-zero if t1 is less than t2. + * @hideinitializer + */ +#define PJ_TIME_VAL_LT(t1, t2) (!(PJ_TIME_VAL_GTE(t1,t2))) + +/** + * This macro will check if \a t1 is less than or equal to \a t2. + * + * @param t1 The first time value to compare. + * @param t2 The second time value to compare. + * @return Non-zero if t1 is less than or equal to t2. + * @hideinitializer + */ +#define PJ_TIME_VAL_LTE(t1, t2) (!PJ_TIME_VAL_GT(t1, t2)) + +/** + * Add \a t2 to \a t1 and store the result in \a t1. Effectively + * + * this macro will expand as: (\a t1 += \a t2). + * @param t1 The time value to add. + * @param t2 The time value to be added to \a t1. + * @hideinitializer + */ +#define PJ_TIME_VAL_ADD(t1, t2) do { \ + (t1).sec += (t2).sec; \ + (t1).msec += (t2).msec; \ + pj_time_val_normalize(&(t1)); \ + } while (0) + + +/** + * Substract \a t2 from \a t1 and store the result in \a t1. Effectively + * this macro will expand as (\a t1 -= \a t2). + * + * @param t1 The time value to subsctract. + * @param t2 The time value to be substracted from \a t1. + * @hideinitializer + */ +#define PJ_TIME_VAL_SUB(t1, t2) do { \ + (t1).sec -= (t2).sec; \ + (t1).msec -= (t2).msec; \ + pj_time_val_normalize(&(t1)); \ + } while (0) + + +/** + * This structure represent the parsed representation of time. + * It is acquired by calling #pj_time_decode(). + */ +typedef struct pj_parsed_time +{ + /** This represents day of week where value zero means Sunday */ + int wday; + + /* This represents day of the year, 0-365, where zero means + * 1st of January. + */ + /*int yday; */ + + /** This represents day of month: 1-31 */ + int day; + + /** This represents month, with the value is 0 - 11 (zero is January) */ + int mon; + + /** This represent the actual year (unlike in ANSI libc where + * the value must be added by 1900). + */ + int year; + + /** This represents the second part, with the value is 0-59 */ + int sec; + + /** This represents the minute part, with the value is: 0-59 */ + int min; + + /** This represents the hour part, with the value is 0-23 */ + int hour; + + /** This represents the milisecond part, with the value is 0-999 */ + int msec; + +} pj_parsed_time; + + +/** + * @} // Time Management + */ + +/* ************************************************************************* */ +/* + * Terminal. + */ +/** + * Color code combination. + */ +enum { + PJ_TERM_COLOR_R = 2, /**< Red */ + PJ_TERM_COLOR_G = 4, /**< Green */ + PJ_TERM_COLOR_B = 1, /**< Blue. */ + PJ_TERM_COLOR_BRIGHT = 8 /**< Bright mask. */ +}; + + + + +PJ_END_DECL + + +#endif /* __PJ_TYPES_H__ */ + diff --git a/pjlib/include/pj/unicode.h b/pjlib/include/pj/unicode.h new file mode 100644 index 0000000..8da448a --- /dev/null +++ b/pjlib/include/pj/unicode.h @@ -0,0 +1,141 @@ +/* $Id: unicode.h 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJ_UNICODE_H__ +#define __PJ_UNICODE_H__ + +#include + + +/** + * @defgroup PJ_UNICODE Unicode Support + * @ingroup PJ_MISC + * @{ + */ + +PJ_BEGIN_DECL + + +/** + * @file unicode.h + * @brief Provides Unicode conversion for Unicode OSes + */ + +/** + * Convert ANSI strings to Unicode strings. + * + * @param str The ANSI string to be converted. + * @param len The length of the input string. + * @param wbuf Buffer to hold the Unicode string output. + * @param wbuf_count Buffer size, in number of elements (not bytes). + * + * @return The Unicode string, NULL terminated. + */ +PJ_DECL(wchar_t*) pj_ansi_to_unicode(const char *str, int len, + wchar_t *wbuf, int wbuf_count); + + +/** + * Convert Unicode string to ANSI string. + * + * @param wstr The Unicode string to be converted. + * @param len The length of the input string. + * @param buf Buffer to hold the ANSI string output. + * @param buf_size Size of the output buffer. + * + * @return The ANSI string, NULL terminated. + */ +PJ_DECL(char*) pj_unicode_to_ansi(const wchar_t *wstr, pj_ssize_t len, + char *buf, int buf_size); + + +#if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 + +/** + * This macro is used to declare temporary Unicode buffer for ANSI to + * Unicode conversion, and should be put in declaration section of a block. + * When PJ_NATIVE_STRING_IS_UNICODE macro is not defined, this + * macro will expand to nothing. + */ +# define PJ_DECL_UNICODE_TEMP_BUF(buf,size) wchar_t buf[size]; + +/** + * This macro will convert ANSI string to native, when the platform's + * native string is Unicode (PJ_NATIVE_STRING_IS_UNICODE is non-zero). + */ +# define PJ_STRING_TO_NATIVE(s,buf,max) pj_ansi_to_unicode( \ + s, strlen(s), \ + buf, max) + +/** + * This macro is used to declare temporary ANSI buffer for Unicode to + * ANSI conversion, and should be put in declaration section of a block. + * When PJ_NATIVE_STRING_IS_UNICODE macro is not defined, this + * macro will expand to nothing. + */ +# define PJ_DECL_ANSI_TEMP_BUF(buf,size) char buf[size]; + + +/** + * This macro will convert Unicode string to ANSI, when the platform's + * native string is Unicode (PJ_NATIVE_STRING_IS_UNICODE is non-zero). + */ +# define PJ_NATIVE_TO_STRING(cs,buf,max) pj_unicode_to_ansi( \ + cs, wcslen(cs), \ + buf, max) + +#else + +/** + * This macro is used to declare temporary Unicode buffer for ANSI to + * Unicode conversion, and should be put in declaration section of a block. + * When PJ_NATIVE_STRING_IS_UNICODE macro is not defined, this + * macro will expand to nothing. + */ +# define PJ_DECL_UNICODE_TEMP_BUF(var,size) +/** + * This macro will convert ANSI string to native, when the platform's + * native string is Unicode (PJ_NATIVE_STRING_IS_UNICODE is non-zero). + */ +# define PJ_STRING_TO_NATIVE(s,buf,max) ((char*)s) +/** + * This macro is used to declare temporary ANSI buffer for Unicode to + * ANSI conversion, and should be put in declaration section of a block. + * When PJ_NATIVE_STRING_IS_UNICODE macro is not defined, this + * macro will expand to nothing. + */ +# define PJ_DECL_ANSI_TEMP_BUF(buf,size) +/** + * This macro will convert Unicode string to ANSI, when the platform's + * native string is Unicode (PJ_NATIVE_STRING_IS_UNICODE is non-zero). + */ +# define PJ_NATIVE_TO_STRING(cs,buf,max) ((char*)(const char*)cs) + +#endif + + + +PJ_END_DECL + +/* + * @} + */ + + +#endif /* __PJ_UNICODE_H__ */ diff --git a/pjlib/include/pjlib++.hpp b/pjlib/include/pjlib++.hpp new file mode 100644 index 0000000..fe2e74d --- /dev/null +++ b/pjlib/include/pjlib++.hpp @@ -0,0 +1,35 @@ +/* $Id: pjlib++.hpp 2394 2008-12-23 17:27:53Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIBPP_H__ +#define __PJLIBPP_H__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif /* __PJLIBPP_H__ */ diff --git a/pjlib/include/pjlib.h b/pjlib/include/pjlib.h new file mode 100644 index 0000000..1119cb4 --- /dev/null +++ b/pjlib/include/pjlib.h @@ -0,0 +1,63 @@ +/* $Id: pjlib.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __PJLIB_H__ +#define __PJLIB_H__ + +/** + * @file pjlib.h + * @brief Include all PJLIB header files. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#endif /* __PJLIB_H__ */ + diff --git a/pjlib/src/pj/activesock.c b/pjlib/src/pj/activesock.c new file mode 100644 index 0000000..b9dee42 --- /dev/null +++ b/pjlib/src/pj/activesock.c @@ -0,0 +1,955 @@ +/* $Id: activesock.c 5119 2015-06-25 08:53:02Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 +# include + + static pj_bool_t ios_bg_support = PJ_TRUE; +#endif + +#define PJ_ACTIVESOCK_MAX_LOOP 50 + + +enum read_type +{ + TYPE_NONE, + TYPE_RECV, + TYPE_RECV_FROM +}; + +enum shutdown_dir +{ + SHUT_NONE = 0, + SHUT_RX = 1, + SHUT_TX = 2 +}; + +struct read_op +{ + pj_ioqueue_op_key_t op_key; + pj_uint8_t *pkt; + unsigned max_size; + pj_size_t size; + pj_sockaddr src_addr; + int src_addr_len; +}; + +struct accept_op +{ + pj_ioqueue_op_key_t op_key; + pj_sock_t new_sock; + pj_sockaddr rem_addr; + int rem_addr_len; +}; + +struct send_data +{ + pj_uint8_t *data; + pj_ssize_t len; + pj_ssize_t sent; + unsigned flags; +}; + +struct pj_activesock_t +{ + pj_ioqueue_key_t *key; + pj_bool_t stream_oriented; + pj_bool_t whole_data; + pj_ioqueue_t *ioqueue; + void *user_data; + unsigned async_count; + unsigned shutdown; + unsigned max_loop; + pj_activesock_cb cb; +#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 + int bg_setting; + pj_sock_t sock; + CFReadStreamRef readStream; +#endif + + unsigned err_counter; + pj_status_t last_err; + + struct send_data send_data; + + struct read_op *read_op; + pj_uint32_t read_flags; + enum read_type read_type; + + struct accept_op *accept_op; +}; + + +static void ioqueue_on_read_complete(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_read); +static void ioqueue_on_write_complete(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_sent); +#if PJ_HAS_TCP +static void ioqueue_on_accept_complete(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_sock_t sock, + pj_status_t status); +static void ioqueue_on_connect_complete(pj_ioqueue_key_t *key, + pj_status_t status); +#endif + +PJ_DEF(void) pj_activesock_cfg_default(pj_activesock_cfg *cfg) +{ + pj_bzero(cfg, sizeof(*cfg)); + cfg->async_cnt = 1; + cfg->concurrency = -1; + cfg->whole_data = PJ_TRUE; +} + +#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 +static void activesock_destroy_iphone_os_stream(pj_activesock_t *asock) +{ + if (asock->readStream) { + CFReadStreamClose(asock->readStream); + CFRelease(asock->readStream); + asock->readStream = NULL; + } +} + +static void activesock_create_iphone_os_stream(pj_activesock_t *asock) +{ + if (ios_bg_support && asock->bg_setting && asock->stream_oriented) { + activesock_destroy_iphone_os_stream(asock); + + CFStreamCreatePairWithSocket(kCFAllocatorDefault, asock->sock, + &asock->readStream, NULL); + + if (!asock->readStream || + CFReadStreamSetProperty(asock->readStream, + kCFStreamNetworkServiceType, + kCFStreamNetworkServiceTypeVoIP) + != TRUE || + CFReadStreamOpen(asock->readStream) != TRUE) + { + PJ_LOG(2,("", "Failed to configure TCP transport for VoIP " + "usage. Usage of THIS particular TCP transport in " + "background mode will not be supported.")); + + + activesock_destroy_iphone_os_stream(asock); + } + } +} + + +PJ_DEF(void) pj_activesock_set_iphone_os_bg(pj_activesock_t *asock, + int val) +{ + asock->bg_setting = val; + if (asock->bg_setting) + activesock_create_iphone_os_stream(asock); + else + activesock_destroy_iphone_os_stream(asock); +} + +PJ_DEF(void) pj_activesock_enable_iphone_os_bg(pj_bool_t val) +{ + ios_bg_support = val; +} +#endif + +PJ_DEF(pj_status_t) pj_activesock_create( pj_pool_t *pool, + pj_sock_t sock, + int sock_type, + const pj_activesock_cfg *opt, + pj_ioqueue_t *ioqueue, + const pj_activesock_cb *cb, + void *user_data, + pj_activesock_t **p_asock) +{ + pj_activesock_t *asock; + pj_ioqueue_callback ioq_cb; + pj_status_t status; + + PJ_ASSERT_RETURN(pool && ioqueue && cb && p_asock, PJ_EINVAL); + PJ_ASSERT_RETURN(sock!=0 && sock!=PJ_INVALID_SOCKET, PJ_EINVAL); + PJ_ASSERT_RETURN(sock_type==pj_SOCK_STREAM() || + sock_type==pj_SOCK_DGRAM(), PJ_EINVAL); + PJ_ASSERT_RETURN(!opt || opt->async_cnt >= 1, PJ_EINVAL); + + asock = PJ_POOL_ZALLOC_T(pool, pj_activesock_t); + asock->ioqueue = ioqueue; + asock->stream_oriented = (sock_type == pj_SOCK_STREAM()); + asock->async_count = (opt? opt->async_cnt : 1); + asock->whole_data = (opt? opt->whole_data : 1); + asock->max_loop = PJ_ACTIVESOCK_MAX_LOOP; + asock->user_data = user_data; + pj_memcpy(&asock->cb, cb, sizeof(*cb)); + + pj_bzero(&ioq_cb, sizeof(ioq_cb)); + ioq_cb.on_read_complete = &ioqueue_on_read_complete; + ioq_cb.on_write_complete = &ioqueue_on_write_complete; +#if PJ_HAS_TCP + ioq_cb.on_connect_complete = &ioqueue_on_connect_complete; + ioq_cb.on_accept_complete = &ioqueue_on_accept_complete; +#endif + + status = pj_ioqueue_register_sock2(pool, ioqueue, sock, + (opt? opt->grp_lock : NULL), + asock, &ioq_cb, &asock->key); + if (status != PJ_SUCCESS) { + pj_activesock_close(asock); + return status; + } + + if (asock->whole_data) { + /* Must disable concurrency otherwise there is a race condition */ + pj_ioqueue_set_concurrency(asock->key, 0); + } else if (opt && opt->concurrency >= 0) { + pj_ioqueue_set_concurrency(asock->key, opt->concurrency); + } + +#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 + asock->sock = sock; + asock->bg_setting = PJ_ACTIVESOCK_TCP_IPHONE_OS_BG; +#endif + + *p_asock = asock; + return PJ_SUCCESS; +} + + +PJ_DEF(pj_status_t) pj_activesock_create_udp( pj_pool_t *pool, + const pj_sockaddr *addr, + const pj_activesock_cfg *opt, + pj_ioqueue_t *ioqueue, + const pj_activesock_cb *cb, + void *user_data, + pj_activesock_t **p_asock, + pj_sockaddr *bound_addr) +{ + pj_sock_t sock_fd; + pj_sockaddr default_addr; + pj_status_t status; + + if (addr == NULL) { + pj_sockaddr_init(pj_AF_INET(), &default_addr, NULL, 0); + addr = &default_addr; + } + + status = pj_sock_socket(addr->addr.sa_family, pj_SOCK_DGRAM(), 0, + &sock_fd); + if (status != PJ_SUCCESS) { + return status; + } + + status = pj_sock_bind(sock_fd, addr, pj_sockaddr_get_len(addr)); + if (status != PJ_SUCCESS) { + pj_sock_close(sock_fd); + return status; + } + + status = pj_activesock_create(pool, sock_fd, pj_SOCK_DGRAM(), opt, + ioqueue, cb, user_data, p_asock); + if (status != PJ_SUCCESS) { + pj_sock_close(sock_fd); + return status; + } + + if (bound_addr) { + int addr_len = sizeof(*bound_addr); + status = pj_sock_getsockname(sock_fd, bound_addr, &addr_len); + if (status != PJ_SUCCESS) { + pj_activesock_close(*p_asock); + return status; + } + } + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_activesock_close(pj_activesock_t *asock) +{ + PJ_ASSERT_RETURN(asock, PJ_EINVAL); + asock->shutdown = SHUT_RX | SHUT_TX; + if (asock->key) { + pj_ioqueue_unregister(asock->key); + +#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 + activesock_destroy_iphone_os_stream(asock); +#endif + + asock->key = NULL; + } + return PJ_SUCCESS; +} + + +PJ_DEF(pj_status_t) pj_activesock_set_user_data( pj_activesock_t *asock, + void *user_data) +{ + PJ_ASSERT_RETURN(asock, PJ_EINVAL); + asock->user_data = user_data; + return PJ_SUCCESS; +} + + +PJ_DEF(void*) pj_activesock_get_user_data(pj_activesock_t *asock) +{ + PJ_ASSERT_RETURN(asock, NULL); + return asock->user_data; +} + + +PJ_DEF(pj_status_t) pj_activesock_start_read(pj_activesock_t *asock, + pj_pool_t *pool, + unsigned buff_size, + pj_uint32_t flags) +{ + void **readbuf; + unsigned i; + + PJ_ASSERT_RETURN(asock && pool && buff_size, PJ_EINVAL); + + readbuf = (void**) pj_pool_calloc(pool, asock->async_count, + sizeof(void*)); + + for (i=0; iasync_count; ++i) { + readbuf[i] = pj_pool_alloc(pool, buff_size); + } + + return pj_activesock_start_read2(asock, pool, buff_size, readbuf, flags); +} + + +PJ_DEF(pj_status_t) pj_activesock_start_read2( pj_activesock_t *asock, + pj_pool_t *pool, + unsigned buff_size, + void *readbuf[], + pj_uint32_t flags) +{ + unsigned i; + pj_status_t status; + + PJ_ASSERT_RETURN(asock && pool && buff_size, PJ_EINVAL); + PJ_ASSERT_RETURN(asock->read_type == TYPE_NONE, PJ_EINVALIDOP); + PJ_ASSERT_RETURN(asock->read_op == NULL, PJ_EINVALIDOP); + + asock->read_op = (struct read_op*) + pj_pool_calloc(pool, asock->async_count, + sizeof(struct read_op)); + asock->read_type = TYPE_RECV; + asock->read_flags = flags; + + for (i=0; iasync_count; ++i) { + struct read_op *r = &asock->read_op[i]; + pj_ssize_t size_to_read; + + r->pkt = (pj_uint8_t*)readbuf[i]; + size_to_read = r->max_size = buff_size; + + status = pj_ioqueue_recv(asock->key, &r->op_key, r->pkt, &size_to_read, + PJ_IOQUEUE_ALWAYS_ASYNC | flags); + PJ_ASSERT_RETURN(status != PJ_SUCCESS, PJ_EBUG); + + if (status != PJ_EPENDING) + return status; + } + + return PJ_SUCCESS; +} + + +PJ_DEF(pj_status_t) pj_activesock_start_recvfrom(pj_activesock_t *asock, + pj_pool_t *pool, + unsigned buff_size, + pj_uint32_t flags) +{ + void **readbuf; + unsigned i; + + PJ_ASSERT_RETURN(asock && pool && buff_size, PJ_EINVAL); + + readbuf = (void**) pj_pool_calloc(pool, asock->async_count, + sizeof(void*)); + + for (i=0; iasync_count; ++i) { + readbuf[i] = pj_pool_alloc(pool, buff_size); + } + + return pj_activesock_start_recvfrom2(asock, pool, buff_size, + readbuf, flags); +} + + +PJ_DEF(pj_status_t) pj_activesock_start_recvfrom2( pj_activesock_t *asock, + pj_pool_t *pool, + unsigned buff_size, + void *readbuf[], + pj_uint32_t flags) +{ + unsigned i; + pj_status_t status; + + PJ_ASSERT_RETURN(asock && pool && buff_size, PJ_EINVAL); + PJ_ASSERT_RETURN(asock->read_type == TYPE_NONE, PJ_EINVALIDOP); + + asock->read_op = (struct read_op*) + pj_pool_calloc(pool, asock->async_count, + sizeof(struct read_op)); + asock->read_type = TYPE_RECV_FROM; + asock->read_flags = flags; + + for (i=0; iasync_count; ++i) { + struct read_op *r = &asock->read_op[i]; + pj_ssize_t size_to_read; + + r->pkt = (pj_uint8_t*) readbuf[i]; + size_to_read = r->max_size = buff_size; + r->src_addr_len = sizeof(r->src_addr); + + status = pj_ioqueue_recvfrom(asock->key, &r->op_key, r->pkt, + &size_to_read, + PJ_IOQUEUE_ALWAYS_ASYNC | flags, + &r->src_addr, &r->src_addr_len); + PJ_ASSERT_RETURN(status != PJ_SUCCESS, PJ_EBUG); + + if (status != PJ_EPENDING) + return status; + } + + return PJ_SUCCESS; +} + + +static void ioqueue_on_read_complete(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_read) +{ + pj_activesock_t *asock; + struct read_op *r = (struct read_op*)op_key; + unsigned loop = 0; + pj_status_t status; + + asock = (pj_activesock_t*) pj_ioqueue_get_user_data(key); + + /* Ignore if we've been shutdown */ + if (asock->shutdown & SHUT_RX) + return; + + do { + unsigned flags; + + if (bytes_read > 0) { + /* + * We've got new data. + */ + pj_size_t remainder; + pj_bool_t ret; + + /* Append this new data to existing data. If socket is stream + * oriented, user might have left some data in the buffer. + * Otherwise if socket is datagram there will be nothing in + * existing packet hence the packet will contain only the new + * packet. + */ + r->size += bytes_read; + + /* Set default remainder to zero */ + remainder = 0; + + /* And return value to TRUE */ + ret = PJ_TRUE; + + /* Notify callback */ + if (asock->read_type == TYPE_RECV && asock->cb.on_data_read) { + ret = (*asock->cb.on_data_read)(asock, r->pkt, r->size, + PJ_SUCCESS, &remainder); + } else if (asock->read_type == TYPE_RECV_FROM && + asock->cb.on_data_recvfrom) + { + ret = (*asock->cb.on_data_recvfrom)(asock, r->pkt, r->size, + &r->src_addr, + r->src_addr_len, + PJ_SUCCESS); + } + + /* If callback returns false, we have been destroyed! */ + if (!ret) + return; + + /* Only stream oriented socket may leave data in the packet */ + if (asock->stream_oriented) { + r->size = remainder; + } else { + r->size = 0; + } + + } else if (bytes_read <= 0 && + -bytes_read != PJ_STATUS_FROM_OS(OSERR_EWOULDBLOCK) && + -bytes_read != PJ_STATUS_FROM_OS(OSERR_EINPROGRESS) && + (asock->stream_oriented || + -bytes_read != PJ_STATUS_FROM_OS(OSERR_ECONNRESET))) + { + pj_size_t remainder; + pj_bool_t ret; + + if (bytes_read == 0) { + /* For stream/connection oriented socket, this means the + * connection has been closed. For datagram sockets, it means + * we've received datagram with zero length. + */ + if (asock->stream_oriented) + status = PJ_EEOF; + else + status = PJ_SUCCESS; + } else { + /* This means we've got an error. If this is stream/connection + * oriented, it means connection has been closed. For datagram + * sockets, it means we've got some error (e.g. EWOULDBLOCK). + */ + status = (pj_status_t)-bytes_read; + } + + /* Set default remainder to zero */ + remainder = 0; + + /* And return value to TRUE */ + ret = PJ_TRUE; + + /* Notify callback */ + if (asock->read_type == TYPE_RECV && asock->cb.on_data_read) { + /* For connection oriented socket, we still need to report + * the remainder data (if any) to the user to let user do + * processing with the remainder data before it closes the + * connection. + * If there is no remainder data, set the packet to NULL. + */ + + /* Shouldn't set the packet to NULL, as there may be active + * socket user, such as SSL socket, that needs to have access + * to the read buffer packet. + */ + //ret = (*asock->cb.on_data_read)(asock, (r->size? r->pkt:NULL), + // r->size, status, &remainder); + ret = (*asock->cb.on_data_read)(asock, r->pkt, r->size, + status, &remainder); + + } else if (asock->read_type == TYPE_RECV_FROM && + asock->cb.on_data_recvfrom) + { + /* This would always be datagram oriented hence there's + * nothing in the packet. We can't be sure if there will be + * anything useful in the source_addr, so just put NULL + * there too. + */ + /* In some scenarios, status may be PJ_SUCCESS. The upper + * layer application may not expect the callback to be called + * with successful status and NULL data, so lets not call the + * callback if the status is PJ_SUCCESS. + */ + if (status != PJ_SUCCESS ) { + ret = (*asock->cb.on_data_recvfrom)(asock, NULL, 0, + NULL, 0, status); + } + } + + /* If callback returns false, we have been destroyed! */ + if (!ret) + return; + + /* Also stop further read if we've been shutdown */ + if (asock->shutdown & SHUT_RX) + return; + + /* Only stream oriented socket may leave data in the packet */ + if (asock->stream_oriented) { + r->size = remainder; + } else { + r->size = 0; + } + } + + /* Read next data. We limit ourselves to processing max_loop immediate + * data, so when the loop counter has exceeded this value, force the + * read()/recvfrom() to return pending operation to allow the program + * to do other jobs. + */ + bytes_read = r->max_size - r->size; + flags = asock->read_flags; + if (++loop >= asock->max_loop) + flags |= PJ_IOQUEUE_ALWAYS_ASYNC; + + if (asock->read_type == TYPE_RECV) { + status = pj_ioqueue_recv(key, op_key, r->pkt + r->size, + &bytes_read, flags); + } else { + r->src_addr_len = sizeof(r->src_addr); + status = pj_ioqueue_recvfrom(key, op_key, r->pkt + r->size, + &bytes_read, flags, + &r->src_addr, &r->src_addr_len); + } + + if (status == PJ_SUCCESS) { + /* Immediate data */ + ; + } else if (status != PJ_EPENDING && status != PJ_ECANCELLED) { + /* Error */ + bytes_read = -status; + } else { + break; + } + } while (1); + +} + + +static pj_status_t send_remaining(pj_activesock_t *asock, + pj_ioqueue_op_key_t *send_key) +{ + struct send_data *sd = (struct send_data*)send_key->activesock_data; + pj_status_t status; + + do { + pj_ssize_t size; + + size = sd->len - sd->sent; + status = pj_ioqueue_send(asock->key, send_key, + sd->data+sd->sent, &size, sd->flags); + if (status != PJ_SUCCESS) { + /* Pending or error */ + break; + } + + sd->sent += size; + if (sd->sent == sd->len) { + /* The whole data has been sent. */ + return PJ_SUCCESS; + } + + } while (sd->sent < sd->len); + + return status; +} + + +PJ_DEF(pj_status_t) pj_activesock_send( pj_activesock_t *asock, + pj_ioqueue_op_key_t *send_key, + const void *data, + pj_ssize_t *size, + unsigned flags) +{ + PJ_ASSERT_RETURN(asock && send_key && data && size, PJ_EINVAL); + + if (asock->shutdown & SHUT_TX) + return PJ_EINVALIDOP; + + send_key->activesock_data = NULL; + + if (asock->whole_data) { + pj_ssize_t whole; + pj_status_t status; + + whole = *size; + + status = pj_ioqueue_send(asock->key, send_key, data, size, flags); + if (status != PJ_SUCCESS) { + /* Pending or error */ + return status; + } + + if (*size == whole) { + /* The whole data has been sent. */ + return PJ_SUCCESS; + } + + /* Data was partially sent */ + asock->send_data.data = (pj_uint8_t*)data; + asock->send_data.len = whole; + asock->send_data.sent = *size; + asock->send_data.flags = flags; + send_key->activesock_data = &asock->send_data; + + /* Try again */ + status = send_remaining(asock, send_key); + if (status == PJ_SUCCESS) { + *size = whole; + } + return status; + + } else { + return pj_ioqueue_send(asock->key, send_key, data, size, flags); + } +} + + +PJ_DEF(pj_status_t) pj_activesock_sendto( pj_activesock_t *asock, + pj_ioqueue_op_key_t *send_key, + const void *data, + pj_ssize_t *size, + unsigned flags, + const pj_sockaddr_t *addr, + int addr_len) +{ + PJ_ASSERT_RETURN(asock && send_key && data && size && addr && addr_len, + PJ_EINVAL); + + if (asock->shutdown & SHUT_TX) + return PJ_EINVALIDOP; + + return pj_ioqueue_sendto(asock->key, send_key, data, size, flags, + addr, addr_len); +} + + +static void ioqueue_on_write_complete(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_sent) +{ + pj_activesock_t *asock; + + asock = (pj_activesock_t*) pj_ioqueue_get_user_data(key); + + /* Ignore if we've been shutdown. This may cause data to be partially + * sent even when 'wholedata' was requested if the OS only sent partial + * buffer. + */ + if (asock->shutdown & SHUT_TX) + return; + + if (bytes_sent > 0 && op_key->activesock_data) { + /* whole_data is requested. Make sure we send all the data */ + struct send_data *sd = (struct send_data*)op_key->activesock_data; + + sd->sent += bytes_sent; + if (sd->sent == sd->len) { + /* all has been sent */ + bytes_sent = sd->sent; + op_key->activesock_data = NULL; + } else { + /* send remaining data */ + pj_status_t status; + + status = send_remaining(asock, op_key); + if (status == PJ_EPENDING) + return; + else if (status == PJ_SUCCESS) + bytes_sent = sd->sent; + else + bytes_sent = -status; + + op_key->activesock_data = NULL; + } + } + + if (asock->cb.on_data_sent) { + pj_bool_t ret; + + ret = (*asock->cb.on_data_sent)(asock, op_key, bytes_sent); + + /* If callback returns false, we have been destroyed! */ + if (!ret) + return; + } +} + +#if PJ_HAS_TCP +PJ_DEF(pj_status_t) pj_activesock_start_accept(pj_activesock_t *asock, + pj_pool_t *pool) +{ + unsigned i; + + PJ_ASSERT_RETURN(asock, PJ_EINVAL); + PJ_ASSERT_RETURN(asock->accept_op==NULL, PJ_EINVALIDOP); + + /* Ignore if we've been shutdown */ + if (asock->shutdown) + return PJ_EINVALIDOP; + + asock->accept_op = (struct accept_op*) + pj_pool_calloc(pool, asock->async_count, + sizeof(struct accept_op)); + for (i=0; iasync_count; ++i) { + struct accept_op *a = &asock->accept_op[i]; + pj_status_t status; + + do { + a->new_sock = PJ_INVALID_SOCKET; + a->rem_addr_len = sizeof(a->rem_addr); + + status = pj_ioqueue_accept(asock->key, &a->op_key, &a->new_sock, + NULL, &a->rem_addr, &a->rem_addr_len); + if (status == PJ_SUCCESS) { + /* We've got immediate connection. Not sure if it's a good + * idea to call the callback now (probably application will + * not be prepared to process it), so lets just silently + * close the socket. + */ + pj_sock_close(a->new_sock); + } + } while (status == PJ_SUCCESS); + + if (status != PJ_EPENDING) { + return status; + } + } + + return PJ_SUCCESS; +} + + +static void ioqueue_on_accept_complete(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_sock_t new_sock, + pj_status_t status) +{ + pj_activesock_t *asock = (pj_activesock_t*) pj_ioqueue_get_user_data(key); + struct accept_op *accept_op = (struct accept_op*) op_key; + + PJ_UNUSED_ARG(new_sock); + + /* Ignore if we've been shutdown */ + if (asock->shutdown) + return; + + do { + if (status == asock->last_err && status != PJ_SUCCESS) { + asock->err_counter++; + if (asock->err_counter >= PJ_ACTIVESOCK_MAX_CONSECUTIVE_ACCEPT_ERROR) { + PJ_LOG(3, ("", "Received %d consecutive errors: %d for the accept()" + " operation, stopping further ioqueue accepts.", + asock->err_counter, asock->last_err)); + + if ((status == PJ_STATUS_FROM_OS(OSERR_EWOULDBLOCK)) && + (asock->cb.on_accept_complete2)) + { + (*asock->cb.on_accept_complete2)(asock, + accept_op->new_sock, + &accept_op->rem_addr, + accept_op->rem_addr_len, + PJ_ESOCKETSTOP); + } + return; + } + } else { + asock->err_counter = 0; + asock->last_err = status; + } + + if (status==PJ_SUCCESS && (asock->cb.on_accept_complete2 || + asock->cb.on_accept_complete)) { + pj_bool_t ret; + + /* Notify callback */ + if (asock->cb.on_accept_complete2) { + ret = (*asock->cb.on_accept_complete2)(asock, + accept_op->new_sock, + &accept_op->rem_addr, + accept_op->rem_addr_len, + status); + } else { + ret = (*asock->cb.on_accept_complete)(asock, + accept_op->new_sock, + &accept_op->rem_addr, + accept_op->rem_addr_len); + } + + /* If callback returns false, we have been destroyed! */ + if (!ret) + return; + +#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 + activesock_create_iphone_os_stream(asock); +#endif + } else if (status==PJ_SUCCESS) { + /* Application doesn't handle the new socket, we need to + * close it to avoid resource leak. + */ + pj_sock_close(accept_op->new_sock); + } + + /* Don't start another accept() if we've been shutdown */ + if (asock->shutdown) + return; + + /* Prepare next accept() */ + accept_op->new_sock = PJ_INVALID_SOCKET; + accept_op->rem_addr_len = sizeof(accept_op->rem_addr); + + status = pj_ioqueue_accept(asock->key, op_key, &accept_op->new_sock, + NULL, &accept_op->rem_addr, + &accept_op->rem_addr_len); + + } while (status != PJ_EPENDING && status != PJ_ECANCELLED); +} + + +PJ_DEF(pj_status_t) pj_activesock_start_connect( pj_activesock_t *asock, + pj_pool_t *pool, + const pj_sockaddr_t *remaddr, + int addr_len) +{ + PJ_UNUSED_ARG(pool); + + if (asock->shutdown) + return PJ_EINVALIDOP; + + return pj_ioqueue_connect(asock->key, remaddr, addr_len); +} + +static void ioqueue_on_connect_complete(pj_ioqueue_key_t *key, + pj_status_t status) +{ + pj_activesock_t *asock = (pj_activesock_t*) pj_ioqueue_get_user_data(key); + + /* Ignore if we've been shutdown */ + if (asock->shutdown) + return; + + if (asock->cb.on_connect_complete) { + pj_bool_t ret; + + ret = (*asock->cb.on_connect_complete)(asock, status); + + if (!ret) { + /* We've been destroyed */ + return; + } + +#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 + activesock_create_iphone_os_stream(asock); +#endif + + } +} +#endif /* PJ_HAS_TCP */ + diff --git a/pjlib/src/pj/addr_resolv_linux_kernel.c b/pjlib/src/pj/addr_resolv_linux_kernel.c new file mode 100644 index 0000000..c6de670 --- /dev/null +++ b/pjlib/src/pj/addr_resolv_linux_kernel.c @@ -0,0 +1,26 @@ +/* $Id: addr_resolv_linux_kernel.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include + +PJ_DEF(pj_status_t) pj_gethostbyname(const pj_str_t *hostname, pj_hostent *phe) +{ + return -1; +} + diff --git a/pjlib/src/pj/addr_resolv_sock.c b/pjlib/src/pj/addr_resolv_sock.c new file mode 100644 index 0000000..1fe4e14 --- /dev/null +++ b/pjlib/src/pj/addr_resolv_sock.c @@ -0,0 +1,286 @@ +/* $Id: addr_resolv_sock.c 5146 2015-08-05 06:31:45Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include + +#if defined(PJ_GETADDRINFO_USE_CFHOST) && PJ_GETADDRINFO_USE_CFHOST!=0 +# include +# include +#endif + +PJ_DEF(pj_status_t) pj_gethostbyname(const pj_str_t *hostname, pj_hostent *phe) +{ + struct hostent *he; + char copy[PJ_MAX_HOSTNAME]; + + pj_assert(hostname && hostname ->slen < PJ_MAX_HOSTNAME); + + if (hostname->slen >= PJ_MAX_HOSTNAME) + return PJ_ENAMETOOLONG; + + pj_memcpy(copy, hostname->ptr, hostname->slen); + copy[ hostname->slen ] = '\0'; + + he = gethostbyname(copy); + if (!he) { + return PJ_ERESOLVE; + /* DO NOT use pj_get_netos_error() since host resolution error + * is reported in h_errno instead of errno! + return pj_get_netos_error(); + */ + } + + phe->h_name = he->h_name; + phe->h_aliases = he->h_aliases; + phe->h_addrtype = he->h_addrtype; + phe->h_length = he->h_length; + phe->h_addr_list = he->h_addr_list; + + return PJ_SUCCESS; +} + +/* Resolve IPv4/IPv6 address */ +PJ_DEF(pj_status_t) pj_getaddrinfo(int af, const pj_str_t *nodename, + unsigned *count, pj_addrinfo ai[]) +{ +#if defined(PJ_SOCK_HAS_GETADDRINFO) && PJ_SOCK_HAS_GETADDRINFO!=0 + char nodecopy[PJ_MAX_HOSTNAME]; + pj_bool_t has_addr = PJ_FALSE; + unsigned i; +#if defined(PJ_GETADDRINFO_USE_CFHOST) && PJ_GETADDRINFO_USE_CFHOST!=0 + CFStringRef hostname; + CFHostRef hostRef; + pj_status_t status = PJ_SUCCESS; +#else + int rc; + struct addrinfo hint, *res, *orig_res; +#endif + + PJ_ASSERT_RETURN(nodename && count && *count && ai, PJ_EINVAL); + PJ_ASSERT_RETURN(nodename->ptr && nodename->slen, PJ_EINVAL); + PJ_ASSERT_RETURN(af==PJ_AF_INET || af==PJ_AF_INET6 || + af==PJ_AF_UNSPEC, PJ_EINVAL); + + /* Check if nodename is IP address */ + pj_bzero(&ai[0], sizeof(ai[0])); + if ((af==PJ_AF_INET || af==PJ_AF_UNSPEC) && + pj_inet_pton(PJ_AF_INET, nodename, + &ai[0].ai_addr.ipv4.sin_addr) == PJ_SUCCESS) + { + af = PJ_AF_INET; + has_addr = PJ_TRUE; + } else if ((af==PJ_AF_INET6 || af==PJ_AF_UNSPEC) && + pj_inet_pton(PJ_AF_INET6, nodename, + &ai[0].ai_addr.ipv6.sin6_addr) == PJ_SUCCESS) + { + af = PJ_AF_INET6; + has_addr = PJ_TRUE; + } + + if (has_addr) { + pj_str_t tmp; + + tmp.ptr = ai[0].ai_canonname; + pj_strncpy_with_null(&tmp, nodename, PJ_MAX_HOSTNAME); + ai[0].ai_addr.addr.sa_family = (pj_uint16_t)af; + *count = 1; + + return PJ_SUCCESS; + } + + /* Copy node name to null terminated string. */ + if (nodename->slen >= PJ_MAX_HOSTNAME) + return PJ_ENAMETOOLONG; + pj_memcpy(nodecopy, nodename->ptr, nodename->slen); + nodecopy[nodename->slen] = '\0'; + +#if defined(PJ_GETADDRINFO_USE_CFHOST) && PJ_GETADDRINFO_USE_CFHOST!=0 + hostname = CFStringCreateWithCStringNoCopy(kCFAllocatorDefault, nodecopy, + kCFStringEncodingASCII, + kCFAllocatorNull); + hostRef = CFHostCreateWithName(kCFAllocatorDefault, hostname); + if (CFHostStartInfoResolution(hostRef, kCFHostAddresses, nil)) { + CFArrayRef addrRef = CFHostGetAddressing(hostRef, nil); + i = 0; + if (addrRef != nil) { + CFIndex idx, naddr; + + naddr = CFArrayGetCount(addrRef); + for (idx = 0; idx < naddr && i < *count; idx++) { + struct sockaddr *addr; + size_t addr_size; + + addr = (struct sockaddr *) + CFDataGetBytePtr(CFArrayGetValueAtIndex(addrRef, idx)); + /* This should not happen. */ + pj_assert(addr); + + /* Ignore unwanted address families */ + if (af!=PJ_AF_UNSPEC && addr->sa_family != af) + continue; + + /* Store canonical name */ + pj_ansi_strcpy(ai[i].ai_canonname, nodecopy); + + /* Store address */ + addr_size = sizeof(*addr); + if (af == PJ_AF_INET6) { + addr_size = addr->sa_len; + } + PJ_ASSERT_ON_FAIL(addr_size <= sizeof(pj_sockaddr), continue); + pj_memcpy(&ai[i].ai_addr, addr, addr_size); + PJ_SOCKADDR_RESET_LEN(&ai[i].ai_addr); + + i++; + } + } + + *count = i; + } else { + status = PJ_ERESOLVE; + } + + CFRelease(hostRef); + CFRelease(hostname); + + return status; +#else + /* Call getaddrinfo() */ + pj_bzero(&hint, sizeof(hint)); + hint.ai_family = af; + + rc = getaddrinfo(nodecopy, NULL, &hint, &res); + if (rc != 0) + return PJ_ERESOLVE; + + orig_res = res; + + /* Enumerate each item in the result */ + for (i=0; i<*count && res; res=res->ai_next) { + /* Ignore unwanted address families */ + if (af!=PJ_AF_UNSPEC && res->ai_family != af) + continue; + + /* Store canonical name (possibly truncating the name) */ + if (res->ai_canonname) { + pj_ansi_strncpy(ai[i].ai_canonname, res->ai_canonname, + sizeof(ai[i].ai_canonname)); + ai[i].ai_canonname[sizeof(ai[i].ai_canonname)-1] = '\0'; + } else { + pj_ansi_strcpy(ai[i].ai_canonname, nodecopy); + } + + /* Store address */ + PJ_ASSERT_ON_FAIL(res->ai_addrlen <= sizeof(pj_sockaddr), continue); + pj_memcpy(&ai[i].ai_addr, res->ai_addr, res->ai_addrlen); + PJ_SOCKADDR_RESET_LEN(&ai[i].ai_addr); + + /* Next slot */ + ++i; + } + + *count = i; + + freeaddrinfo(orig_res); + + /* Done */ + return PJ_SUCCESS; +#endif + +#else /* PJ_SOCK_HAS_GETADDRINFO */ + pj_bool_t has_addr = PJ_FALSE; + + PJ_ASSERT_RETURN(count && *count, PJ_EINVAL); + + /* Check if nodename is IP address */ + pj_bzero(&ai[0], sizeof(ai[0])); + if ((af==PJ_AF_INET || af==PJ_AF_UNSPEC) && + pj_inet_pton(PJ_AF_INET, nodename, + &ai[0].ai_addr.ipv4.sin_addr) == PJ_SUCCESS) + { + af = PJ_AF_INET; + has_addr = PJ_TRUE; + } + else if ((af==PJ_AF_INET6 || af==PJ_AF_UNSPEC) && + pj_inet_pton(PJ_AF_INET6, nodename, + &ai[0].ai_addr.ipv6.sin6_addr) == PJ_SUCCESS) + { + af = PJ_AF_INET6; + has_addr = PJ_TRUE; + } + + if (has_addr) { + pj_str_t tmp; + + tmp.ptr = ai[0].ai_canonname; + pj_strncpy_with_null(&tmp, nodename, PJ_MAX_HOSTNAME); + ai[0].ai_addr.addr.sa_family = (pj_uint16_t)af; + *count = 1; + + return PJ_SUCCESS; + } + + if (af == PJ_AF_INET || af == PJ_AF_UNSPEC) { + pj_hostent he; + unsigned i, max_count; + pj_status_t status; + + /* VC6 complains that "he" is uninitialized */ + #ifdef _MSC_VER + pj_bzero(&he, sizeof(he)); + #endif + + status = pj_gethostbyname(nodename, &he); + if (status != PJ_SUCCESS) + return status; + + max_count = *count; + *count = 0; + + pj_bzero(ai, max_count * sizeof(pj_addrinfo)); + + for (i=0; he.h_addr_list[i] && *count + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "os_symbian.h" + +#define THIS_FILE "addr_resolv_symbian.cpp" +#define TRACE_ME 0 + + +// PJLIB API: resolve hostname +PJ_DEF(pj_status_t) pj_gethostbyname(const pj_str_t *name, pj_hostent *he) +{ + static pj_addrinfo ai; + static char *aliases[2]; + static char *addrlist[2]; + unsigned count = 1; + pj_status_t status; + + status = pj_getaddrinfo(PJ_AF_INET, name, &count, &ai); + if (status != PJ_SUCCESS) + return status; + + aliases[0] = ai.ai_canonname; + aliases[1] = NULL; + + addrlist[0] = (char*) &ai.ai_addr.ipv4.sin_addr; + addrlist[1] = NULL; + + pj_bzero(he, sizeof(*he)); + he->h_name = aliases[0]; + he->h_aliases = aliases; + he->h_addrtype = PJ_AF_INET; + he->h_length = 4; + he->h_addr_list = addrlist; + + return PJ_SUCCESS; +} + + +// Resolve for specific address family +static pj_status_t getaddrinfo_by_af(int af, const pj_str_t *name, + unsigned *count, pj_addrinfo ai[]) +{ + unsigned i; + pj_status_t status; + + PJ_ASSERT_RETURN(name && count && ai, PJ_EINVAL); + +#if !defined(PJ_HAS_IPV6) || !PJ_HAS_IPV6 + if (af == PJ_AF_INET6) + return PJ_EIPV6NOTSUP; +#endif + + // Return failure if access point is marked as down by app. + PJ_SYMBIAN_CHECK_CONNECTION(); + + // Get resolver for the specified address family + RHostResolver &resv = PjSymbianOS::Instance()->GetResolver(af); + + // Convert name to Unicode + wchar_t name16[PJ_MAX_HOSTNAME]; + pj_ansi_to_unicode(name->ptr, name->slen, name16, PJ_ARRAY_SIZE(name16)); + TPtrC16 data((const TUint16*)name16); + + // Resolve! + TNameEntry nameEntry; + TRequestStatus reqStatus; + + resv.GetByName(data, nameEntry, reqStatus); + User::WaitForRequest(reqStatus); + + // Iterate each result + i = 0; + while (reqStatus == KErrNone && i < *count) { + + // Get the resolved TInetAddr + TInetAddr inetAddr(nameEntry().iAddr); + int addrlen; + +#if TRACE_ME + if (1) { + pj_sockaddr a; + char ipaddr[PJ_INET6_ADDRSTRLEN+2]; + int namelen; + + namelen = sizeof(pj_sockaddr); + if (PjSymbianOS::Addr2pj(inetAddr, a, &namelen, + PJ_FALSE) == PJ_SUCCESS) + { + PJ_LOG(5,(THIS_FILE, "resolve %.*s: %s", + (int)name->slen, name->ptr, + pj_sockaddr_print(&a, ipaddr, sizeof(ipaddr), 2))); + } + } +#endif + + // Ignore if this is not the same address family + // Not a good idea, as Symbian mapps IPv4 to IPv6. + //fam = inetAddr.Family(); + //if (fam != af) { + // resv.Next(nameEntry, reqStatus); + // User::WaitForRequest(reqStatus); + // continue; + //} + + // Convert IP address first to get IPv4 mapped address + addrlen = sizeof(ai[i].ai_addr); + status = PjSymbianOS::Addr2pj(inetAddr, ai[i].ai_addr, + &addrlen, PJ_TRUE); + if (status != PJ_SUCCESS) + return status; + + // Ignore if address family doesn't match + if (ai[i].ai_addr.addr.sa_family != af) { + resv.Next(nameEntry, reqStatus); + User::WaitForRequest(reqStatus); + continue; + } + + // Convert the official address to ANSI. + pj_unicode_to_ansi((const wchar_t*)nameEntry().iName.Ptr(), + nameEntry().iName.Length(), + ai[i].ai_canonname, sizeof(ai[i].ai_canonname)); + + // Next + ++i; + resv.Next(nameEntry, reqStatus); + User::WaitForRequest(reqStatus); + } + + *count = i; + return PJ_SUCCESS; +} + +/* Resolve IPv4/IPv6 address */ +PJ_DEF(pj_status_t) pj_getaddrinfo(int af, const pj_str_t *nodename, + unsigned *count, pj_addrinfo ai[]) +{ + unsigned start; + pj_status_t status = PJ_EAFNOTSUP; + + PJ_ASSERT_RETURN(af==PJ_AF_INET || af==PJ_AF_INET6 || af==PJ_AF_UNSPEC, + PJ_EAFNOTSUP); + PJ_ASSERT_RETURN(nodename && count && *count && ai, PJ_EINVAL); + + start = 0; + + if (af==PJ_AF_INET6 || af==PJ_AF_UNSPEC) { + unsigned max = *count; + status = getaddrinfo_by_af(PJ_AF_INET6, nodename, + &max, &ai[start]); + if (status == PJ_SUCCESS) { + (*count) -= max; + start += max; + } + } + + if (af==PJ_AF_INET || af==PJ_AF_UNSPEC) { + unsigned max = *count; + status = getaddrinfo_by_af(PJ_AF_INET, nodename, + &max, &ai[start]); + if (status == PJ_SUCCESS) { + (*count) -= max; + start += max; + } + } + + *count = start; + + if (*count) { + return PJ_SUCCESS; + } else { + return status!=PJ_SUCCESS ? status : PJ_ENOTFOUND; + } +} + diff --git a/pjlib/src/pj/array.c b/pjlib/src/pj/array.c new file mode 100644 index 0000000..5b39d19 --- /dev/null +++ b/pjlib/src/pj/array.c @@ -0,0 +1,71 @@ +/* $Id: array.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + +PJ_DEF(void) pj_array_insert( void *array, + unsigned elem_size, + unsigned count, + unsigned pos, + const void *value) +{ + if (count && pos < count) { + pj_memmove( (char*)array + (pos+1)*elem_size, + (char*)array + pos*elem_size, + (count-pos)*elem_size); + } + pj_memmove((char*)array + pos*elem_size, value, elem_size); +} + +PJ_DEF(void) pj_array_erase( void *array, + unsigned elem_size, + unsigned count, + unsigned pos) +{ + pj_assert(count != 0); + if (pos < count-1) { + pj_memmove( (char*)array + pos*elem_size, + (char*)array + (pos+1)*elem_size, + (count-pos-1)*elem_size); + } +} + +PJ_DEF(pj_status_t) pj_array_find( const void *array, + unsigned elem_size, + unsigned count, + pj_status_t (*matching)(const void *value), + void **result) +{ + unsigned i; + const char *char_array = (const char*)array; + for (i=0; i + +.global __longjmp +.type __longjmp,%function +.align 4 +__longjmp: + movl 4(%esp), %ecx /* User's jmp_buf in %ecx. */ + movl 8(%esp), %eax /* Second argument is return value. */ + /* Save the return address now. */ + movl (JB_PC*4)(%ecx), %edx + /* Restore registers. */ + movl (JB_BX*4)(%ecx), %ebx + movl (JB_SI*4)(%ecx), %esi + movl (JB_DI*4)(%ecx), %edi + movl (JB_BP*4)(%ecx), %ebp + movl (JB_SP*4)(%ecx), %esp + /* Jump to saved PC. */ + jmp *%edx +.size __longjmp,.-__longjmp + diff --git a/pjlib/src/pj/compat/setjmp_i386.S b/pjlib/src/pj/compat/setjmp_i386.S new file mode 100644 index 0000000..9cdaaff --- /dev/null +++ b/pjlib/src/pj/compat/setjmp_i386.S @@ -0,0 +1,61 @@ +/* setjmp for i386, ELF version. + Copyright (C) 1995, 1996, 1997, 2000, 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#define _ASM +#define _SETJMP_H +#define PJ_LINUX_KERNEL 1 +#include + + +.global __sigsetjmp +.type __sigsetjmp,%function +.align 4 + +__sigsetjmp: + movl 4 (%esp), %eax + /* Save registers. */ + movl %ebx, (0 *4)(%eax) + movl %esi, (1 *4)(%eax) + movl %edi, (2 *4)(%eax) + /* Save SP as it will be after we return. */ + leal 4(%esp), %ecx + movl %ecx, (4 *4)(%eax) + /* Save PC we are returning to now. */ + movl 0(%esp), %ecx + movl %ecx, (5 *4)(%eax) + /* Save caller's frame pointer. */ + movl %ebp, (3 *4)(%eax) + + /* Make a tail call to __sigjmp_save; it takes the same args. */ +#ifdef __PIC__ + /* We cannot use the PLT, because it requires that %ebx be set, but + we can't save and restore our caller's value. Instead, we do an + indirect jump through the GOT, using for the temporary register + %ecx, which is call-clobbered. */ + call .Lhere +.Lhere: + popl %ecx + addl $_GLOBAL_OFFSET_TABLE_+[.- .Lhere ], %ecx + movl __sigjmp_save @GOT (%ecx), %ecx + jmp *%ecx +#else + jmp __sigjmp_save +#endif +.size __sigsetjmp,.-__sigsetjmp + diff --git a/pjlib/src/pj/compat/sigjmp.c b/pjlib/src/pj/compat/sigjmp.c new file mode 100644 index 0000000..912763b --- /dev/null +++ b/pjlib/src/pj/compat/sigjmp.c @@ -0,0 +1,40 @@ +/* $Id: sigjmp.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include + +int __sigjmp_save(sigjmp_buf env, int savemask) +{ + return 0; +} + +extern int __sigsetjmp(pj_jmp_buf env, int savemask); +extern void __longjmp(pj_jmp_buf env, int val) __attribute__((noreturn)); + +PJ_DEF(int) pj_setjmp(pj_jmp_buf env) +{ + return __sigsetjmp(env, 0); +} + +PJ_DEF(void) pj_longjmp(pj_jmp_buf env, int val) +{ + __longjmp(env, val); +} + diff --git a/pjlib/src/pj/compat/string.c b/pjlib/src/pj/compat/string.c new file mode 100644 index 0000000..012f79b --- /dev/null +++ b/pjlib/src/pj/compat/string.c @@ -0,0 +1,45 @@ +/* $Id: string.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + +PJ_DEF(int) strcasecmp(const char *s1, const char *s2) +{ + while ((*s1==*s2) || (pj_tolower(*s1)==pj_tolower(*s2))) { + if (!*s1++) + return 0; + ++s2; + } + return (pj_tolower(*s1) < pj_tolower(*s2)) ? -1 : 1; +} + +PJ_DEF(int) strncasecmp(const char *s1, const char *s2, int len) +{ + if (!len) return 0; + + while ((*s1==*s2) || (pj_tolower(*s1)==pj_tolower(*s2))) { + if (!*s1++ || --len <= 0) + return 0; + ++s2; + } + return (pj_tolower(*s1) < pj_tolower(*s2)) ? -1 : 1; +} + diff --git a/pjlib/src/pj/compat/string_compat.c b/pjlib/src/pj/compat/string_compat.c new file mode 100644 index 0000000..e2370ac --- /dev/null +++ b/pjlib/src/pj/compat/string_compat.c @@ -0,0 +1,83 @@ +/* $Id: string_compat.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + + +#if defined(PJ_HAS_STRING_H) && PJ_HAS_STRING_H != 0 +/* Nothing to do */ +#else +PJ_DEF(int) strcasecmp(const char *s1, const char *s2) +{ + while ((*s1==*s2) || (pj_tolower(*s1)==pj_tolower(*s2))) { + if (!*s1++) + return 0; + ++s2; + } + return (pj_tolower(*s1) < pj_tolower(*s2)) ? -1 : 1; +} + +PJ_DEF(int) strncasecmp(const char *s1, const char *s2, int len) +{ + if (!len) return 0; + + while ((*s1==*s2) || (pj_tolower(*s1)==pj_tolower(*s2))) { + if (!*s1++ || --len <= 0) + return 0; + ++s2; + } + return (pj_tolower(*s1) < pj_tolower(*s2)) ? -1 : 1; +} +#endif + +#if defined(PJ_HAS_NO_SNPRINTF) && PJ_HAS_NO_SNPRINTF != 0 + +PJ_DEF(int) snprintf(char *s1, pj_size_t len, const char *s2, ...) +{ + int ret; + va_list arg; + + PJ_UNUSED_ARG(len); + + va_start(arg, s2); + ret = vsprintf(s1, s2, arg); + va_end(arg); + + return ret; +} + +PJ_DEF(int) vsnprintf(char *s1, pj_size_t len, const char *s2, va_list arg) +{ +#define MARK_CHAR ((char)255) + int rc; + + s1[len-1] = MARK_CHAR; + + rc = vsprintf(s1,s2,arg); + + pj_assert(s1[len-1] == MARK_CHAR || s1[len-1] == '\0'); + + return rc; +} + +#endif + diff --git a/pjlib/src/pj/config.c b/pjlib/src/pj/config.c new file mode 100644 index 0000000..709af53 --- /dev/null +++ b/pjlib/src/pj/config.c @@ -0,0 +1,89 @@ +/* $Id: config.c 4112 2012-04-27 09:47:20Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + +static const char *id = "config.c"; + +#define PJ_MAKE_VERSION3_1(a,b,d) #a "." #b d +#define PJ_MAKE_VERSION3_2(a,b,d) PJ_MAKE_VERSION3_1(a,b,d) + +#define PJ_MAKE_VERSION4_1(a,b,c,d) #a "." #b "." #c d +#define PJ_MAKE_VERSION4_2(a,b,c,d) PJ_MAKE_VERSION4_1(a,b,c,d) + +#if PJ_VERSION_NUM_REV +PJ_DEF_DATA(const char*) PJ_VERSION = PJ_MAKE_VERSION4_2(PJ_VERSION_NUM_MAJOR, + PJ_VERSION_NUM_MINOR, + PJ_VERSION_NUM_REV, + PJ_VERSION_NUM_EXTRA); +#else +PJ_DEF_DATA(const char*) PJ_VERSION = PJ_MAKE_VERSION3_2(PJ_VERSION_NUM_MAJOR, + PJ_VERSION_NUM_MINOR, + PJ_VERSION_NUM_EXTRA); +#endif + +/* + * Get PJLIB version string. + */ +PJ_DEF(const char*) pj_get_version(void) +{ + return PJ_VERSION; +} + +PJ_DEF(void) pj_dump_config(void) +{ + PJ_LOG(3, (id, "PJLIB (c)2008-2009 Teluu Inc.")); + PJ_LOG(3, (id, "Dumping configurations:")); + PJ_LOG(3, (id, " PJ_VERSION : %s", PJ_VERSION)); + PJ_LOG(3, (id, " PJ_M_NAME : %s", PJ_M_NAME)); + PJ_LOG(3, (id, " PJ_HAS_PENTIUM : %d", PJ_HAS_PENTIUM)); + PJ_LOG(3, (id, " PJ_OS_NAME : %s", PJ_OS_NAME)); + PJ_LOG(3, (id, " PJ_CC_NAME/VER_(1,2,3) : %s-%d.%d.%d", PJ_CC_NAME, + PJ_CC_VER_1, PJ_CC_VER_2, PJ_CC_VER_3)); + PJ_LOG(3, (id, " PJ_IS_(BIG/LITTLE)_ENDIAN : %s", + (PJ_IS_BIG_ENDIAN?"big-endian":"little-endian"))); + PJ_LOG(3, (id, " PJ_HAS_INT64 : %d", PJ_HAS_INT64)); + PJ_LOG(3, (id, " PJ_HAS_FLOATING_POINT : %d", PJ_HAS_FLOATING_POINT)); + PJ_LOG(3, (id, " PJ_DEBUG : %d", PJ_DEBUG)); + PJ_LOG(3, (id, " PJ_FUNCTIONS_ARE_INLINED : %d", PJ_FUNCTIONS_ARE_INLINED)); + PJ_LOG(3, (id, " PJ_LOG_MAX_LEVEL : %d", PJ_LOG_MAX_LEVEL)); + PJ_LOG(3, (id, " PJ_LOG_MAX_SIZE : %d", PJ_LOG_MAX_SIZE)); + PJ_LOG(3, (id, " PJ_LOG_USE_STACK_BUFFER : %d", PJ_LOG_USE_STACK_BUFFER)); + PJ_LOG(3, (id, " PJ_POOL_DEBUG : %d", PJ_POOL_DEBUG)); + PJ_LOG(3, (id, " PJ_HAS_POOL_ALT_API : %d", PJ_HAS_POOL_ALT_API)); + PJ_LOG(3, (id, " PJ_HAS_TCP : %d", PJ_HAS_TCP)); + PJ_LOG(3, (id, " PJ_MAX_HOSTNAME : %d", PJ_MAX_HOSTNAME)); + PJ_LOG(3, (id, " ioqueue type : %s", pj_ioqueue_name())); + PJ_LOG(3, (id, " PJ_IOQUEUE_MAX_HANDLES : %d", PJ_IOQUEUE_MAX_HANDLES)); + PJ_LOG(3, (id, " PJ_IOQUEUE_HAS_SAFE_UNREG : %d", PJ_IOQUEUE_HAS_SAFE_UNREG)); + PJ_LOG(3, (id, " PJ_HAS_THREADS : %d", PJ_HAS_THREADS)); + PJ_LOG(3, (id, " PJ_LOG_USE_STACK_BUFFER : %d", PJ_LOG_USE_STACK_BUFFER)); + PJ_LOG(3, (id, " PJ_HAS_SEMAPHORE : %d", PJ_HAS_SEMAPHORE)); + PJ_LOG(3, (id, " PJ_HAS_EVENT_OBJ : %d", PJ_HAS_EVENT_OBJ)); + PJ_LOG(3, (id, " PJ_ENABLE_EXTRA_CHECK : %d", PJ_ENABLE_EXTRA_CHECK)); + PJ_LOG(3, (id, " PJ_HAS_EXCEPTION_NAMES : %d", PJ_HAS_EXCEPTION_NAMES)); + PJ_LOG(3, (id, " PJ_MAX_EXCEPTION_ID : %d", PJ_MAX_EXCEPTION_ID)); + PJ_LOG(3, (id, " PJ_EXCEPTION_USE_WIN32_SEH: %d", PJ_EXCEPTION_USE_WIN32_SEH)); + PJ_LOG(3, (id, " PJ_TIMESTAMP_USE_RDTSC: : %d", PJ_TIMESTAMP_USE_RDTSC)); + PJ_LOG(3, (id, " PJ_OS_HAS_CHECK_STACK : %d", PJ_OS_HAS_CHECK_STACK)); + PJ_LOG(3, (id, " PJ_HAS_HIGH_RES_TIMER : %d", PJ_HAS_HIGH_RES_TIMER)); +} + diff --git a/pjlib/src/pj/ctype.c b/pjlib/src/pj/ctype.c new file mode 100644 index 0000000..bb04342 --- /dev/null +++ b/pjlib/src/pj/ctype.c @@ -0,0 +1,28 @@ +/* $Id: ctype.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include + +/* +char pj_hex_digits[] = {'0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; +*/ + +int pjlib_ctype_c_dummy_symbol; + diff --git a/pjlib/src/pj/errno.c b/pjlib/src/pj/errno.c new file mode 100644 index 0000000..5789bff --- /dev/null +++ b/pjlib/src/pj/errno.c @@ -0,0 +1,327 @@ +/* $Id: errno.c 4761 2014-02-24 09:02:44Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include + +/* Prototype for platform specific error message, which will be defined + * in separate file. + */ +PJ_BEGIN_DECL + + PJ_DECL(int) platform_strerror(pj_os_err_type code, + char *buf, pj_size_t bufsize ); +PJ_END_DECL + +#ifndef PJLIB_MAX_ERR_MSG_HANDLER +# define PJLIB_MAX_ERR_MSG_HANDLER 10 +#endif + +/* Error message handler. */ +static unsigned err_msg_hnd_cnt; +static struct err_msg_hnd +{ + pj_status_t begin; + pj_status_t end; + pj_str_t (*strerror)(pj_status_t, char*, pj_size_t); + +} err_msg_hnd[PJLIB_MAX_ERR_MSG_HANDLER]; + +/* PJLIB's own error codes/messages */ +#if defined(PJ_HAS_ERROR_STRING) && PJ_HAS_ERROR_STRING!=0 + +static const struct +{ + int code; + const char *msg; +} err_str[] = +{ + PJ_BUILD_ERR(PJ_EUNKNOWN, "Unknown Error" ), + PJ_BUILD_ERR(PJ_EPENDING, "Pending operation" ), + PJ_BUILD_ERR(PJ_ETOOMANYCONN, "Too many connecting sockets" ), + PJ_BUILD_ERR(PJ_EINVAL, "Invalid value or argument" ), + PJ_BUILD_ERR(PJ_ENAMETOOLONG, "Name too long" ), + PJ_BUILD_ERR(PJ_ENOTFOUND, "Not found" ), + PJ_BUILD_ERR(PJ_ENOMEM, "Not enough memory" ), + PJ_BUILD_ERR(PJ_EBUG, "BUG DETECTED!" ), + PJ_BUILD_ERR(PJ_ETIMEDOUT, "Operation timed out" ), + PJ_BUILD_ERR(PJ_ETOOMANY, "Too many objects of the specified type"), + PJ_BUILD_ERR(PJ_EBUSY, "Object is busy"), + PJ_BUILD_ERR(PJ_ENOTSUP, "Option/operation is not supported"), + PJ_BUILD_ERR(PJ_EINVALIDOP, "Invalid operation"), + PJ_BUILD_ERR(PJ_ECANCELLED, "Operation cancelled"), + PJ_BUILD_ERR(PJ_EEXISTS, "Object already exists" ), + PJ_BUILD_ERR(PJ_EEOF, "End of file" ), + PJ_BUILD_ERR(PJ_ETOOBIG, "Size is too big"), + PJ_BUILD_ERR(PJ_ERESOLVE, "gethostbyname() has returned error"), + PJ_BUILD_ERR(PJ_ETOOSMALL, "Size is too short"), + PJ_BUILD_ERR(PJ_EIGNORED, "Ignored"), + PJ_BUILD_ERR(PJ_EIPV6NOTSUP, "IPv6 is not supported"), + PJ_BUILD_ERR(PJ_EAFNOTSUP, "Unsupported address family"), + PJ_BUILD_ERR(PJ_EGONE, "Object no longer exists"), + PJ_BUILD_ERR(PJ_ESOCKETSTOP, "Socket is in bad state") +}; +#endif /* PJ_HAS_ERROR_STRING */ + + +/* + * pjlib_error() + * + * Retrieve message string for PJLIB's own error code. + */ +static int pjlib_error(pj_status_t code, char *buf, pj_size_t size) +{ + int len; + +#if defined(PJ_HAS_ERROR_STRING) && PJ_HAS_ERROR_STRING!=0 + unsigned i; + + for (i=0; i= size) len = size-1; + pj_memcpy(buf, err_str[i].msg, len); + buf[len] = '\0'; + return (int)len; + } + } +#endif + + len = pj_ansi_snprintf( buf, size, "Unknown pjlib error %d", code); + if (len < 1 || len >= (int)size) + len = (int)(size - 1); + return len; +} + +#define IN_RANGE(val,start,end) ((val)>=(start) && (val)<(end)) + +/* Register strerror handle. */ +PJ_DEF(pj_status_t) pj_register_strerror( pj_status_t start, + pj_status_t space, + pj_error_callback f) +{ + unsigned i; + + /* Check arguments. */ + PJ_ASSERT_RETURN(start && space && f, PJ_EINVAL); + + /* Check if there aren't too many handlers registered. */ + PJ_ASSERT_RETURN(err_msg_hnd_cnt < PJ_ARRAY_SIZE(err_msg_hnd), + PJ_ETOOMANY); + + /* Start error must be greater than PJ_ERRNO_START_USER */ + PJ_ASSERT_RETURN(start >= PJ_ERRNO_START_USER, PJ_EEXISTS); + + /* Check that no existing handler has covered the specified range. */ + for (i=0; i= (int)bufsize) { + len = (int)(bufsize - 1); + buf[len] = '\0'; + } + + errstr.ptr = buf; + errstr.slen = len; + + return errstr; +} + +#if PJ_LOG_MAX_LEVEL >= 1 +static void invoke_log(const char *sender, int level, const char *format, ...) +{ + va_list arg; + va_start(arg, format); + pj_log(sender, level, format, arg); + va_end(arg); +} + +static void pj_perror_imp(int log_level, const char *sender, + pj_status_t status, + const char *title_fmt, va_list marker) +{ + char titlebuf[PJ_PERROR_TITLE_BUF_SIZE]; + char errmsg[PJ_ERR_MSG_SIZE]; + int len; + + /* Build the title */ + len = pj_ansi_vsnprintf(titlebuf, sizeof(titlebuf), title_fmt, marker); + if (len < 0 || len >= (int)sizeof(titlebuf)) + pj_ansi_strcpy(titlebuf, "Error"); + + /* Get the error */ + pj_strerror(status, errmsg, sizeof(errmsg)); + + /* Send to log */ + invoke_log(sender, log_level, "%s: %s", titlebuf, errmsg); +} + +PJ_DEF(void) pj_perror(int log_level, const char *sender, pj_status_t status, + const char *title_fmt, ...) +{ + va_list marker; + va_start(marker, title_fmt); + pj_perror_imp(log_level, sender, status, title_fmt, marker); + va_end(marker); +} + +PJ_DEF(void) pj_perror_1(const char *sender, pj_status_t status, + const char *title_fmt, ...) +{ + va_list marker; + va_start(marker, title_fmt); + pj_perror_imp(1, sender, status, title_fmt, marker); + va_end(marker); +} + +#else /* #if PJ_LOG_MAX_LEVEL >= 1 */ +PJ_DEF(void) pj_perror(int log_level, const char *sender, pj_status_t status, + const char *title_fmt, ...) +{ +} +#endif /* #if PJ_LOG_MAX_LEVEL >= 1 */ + + +#if PJ_LOG_MAX_LEVEL >= 2 +PJ_DEF(void) pj_perror_2(const char *sender, pj_status_t status, + const char *title_fmt, ...) +{ + va_list marker; + va_start(marker, title_fmt); + pj_perror_imp(2, sender, status, title_fmt, marker); + va_end(marker); +} +#endif + +#if PJ_LOG_MAX_LEVEL >= 3 +PJ_DEF(void) pj_perror_3(const char *sender, pj_status_t status, + const char *title_fmt, ...) +{ + va_list marker; + va_start(marker, title_fmt); + pj_perror_imp(3, sender, status, title_fmt, marker); + va_end(marker); +} +#endif + +#if PJ_LOG_MAX_LEVEL >= 4 +PJ_DEF(void) pj_perror_4(const char *sender, pj_status_t status, + const char *title_fmt, ...) +{ + va_list marker; + va_start(marker, title_fmt); + pj_perror_imp(4, sender, status, title_fmt, marker); + va_end(marker); +} +#endif + +#if PJ_LOG_MAX_LEVEL >= 5 +PJ_DEF(void) pj_perror_5(const char *sender, pj_status_t status, + const char *title_fmt, ...) +{ + va_list marker; + va_start(marker, title_fmt); + pj_perror_imp(5, sender, status, title_fmt, marker); + va_end(marker); +} +#endif + +#if PJ_LOG_MAX_LEVEL >= 6 +PJ_DEF(void) pj_perror_6(const char *sender, pj_status_t status, + const char *title_fmt, ...) +{ + va_list marker; + va_start(marker, title_fmt); + pj_perror_imp(6, sender, status, title_fmt, marker); + va_end(marker); +} +#endif + diff --git a/pjlib/src/pj/except.c b/pjlib/src/pj/except.c new file mode 100644 index 0000000..e3984df --- /dev/null +++ b/pjlib/src/pj/except.c @@ -0,0 +1,185 @@ +/* $Id: except.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include + +static long thread_local_id = -1; + +#if defined(PJ_HAS_EXCEPTION_NAMES) && PJ_HAS_EXCEPTION_NAMES != 0 + static const char *exception_id_names[PJ_MAX_EXCEPTION_ID]; +#else + /* + * Start from 1 (not 0)!!! + * Exception 0 is reserved for normal path of setjmp()!!! + */ + static int last_exception_id = 1; +#endif /* PJ_HAS_EXCEPTION_NAMES */ + + +#if !defined(PJ_EXCEPTION_USE_WIN32_SEH) || PJ_EXCEPTION_USE_WIN32_SEH==0 +PJ_DEF(void) pj_throw_exception_(int exception_id) +{ + struct pj_exception_state_t *handler; + + handler = (struct pj_exception_state_t*) + pj_thread_local_get(thread_local_id); + if (handler == NULL) { + PJ_LOG(1,("except.c", "!!!FATAL: unhandled exception %s!\n", + pj_exception_id_name(exception_id))); + pj_assert(handler != NULL); + /* This will crash the system! */ + } + pj_pop_exception_handler_(handler); + pj_longjmp(handler->state, exception_id); +} + +static void exception_cleanup(void) +{ + if (thread_local_id != -1) { + pj_thread_local_free(thread_local_id); + thread_local_id = -1; + } + +#if defined(PJ_HAS_EXCEPTION_NAMES) && PJ_HAS_EXCEPTION_NAMES != 0 + { + unsigned i; + for (i=0; iprev = parent_handler; + pj_thread_local_set(thread_local_id, rec); +} + +PJ_DEF(void) pj_pop_exception_handler_(struct pj_exception_state_t *rec) +{ + struct pj_exception_state_t *handler; + + handler = (struct pj_exception_state_t *) + pj_thread_local_get(thread_local_id); + if (handler && handler==rec) { + pj_thread_local_set(thread_local_id, handler->prev); + } +} +#endif + +#if defined(PJ_HAS_EXCEPTION_NAMES) && PJ_HAS_EXCEPTION_NAMES != 0 +PJ_DEF(pj_status_t) pj_exception_id_alloc( const char *name, + pj_exception_id_t *id) +{ + unsigned i; + + pj_enter_critical_section(); + + /* + * Start from 1 (not 0)!!! + * Exception 0 is reserved for normal path of setjmp()!!! + */ + for (i=1; i0 && id0 && id"); + + if (exception_id_names[id] == NULL) { + pj_ansi_snprintf(unknown_name, sizeof(unknown_name), + "exception %d", id); + return unknown_name; + } + + return exception_id_names[id]; +} + +#else /* PJ_HAS_EXCEPTION_NAMES */ +PJ_DEF(pj_status_t) pj_exception_id_alloc( const char *name, + pj_exception_id_t *id) +{ + PJ_ASSERT_RETURN(last_exception_id < PJ_MAX_EXCEPTION_ID-1, PJ_ETOOMANY); + + *id = last_exception_id++; + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_exception_id_free( pj_exception_id_t id ) +{ + return PJ_SUCCESS; +} + +PJ_DEF(const char*) pj_exception_id_name(pj_exception_id_t id) +{ + return ""; +} + +#endif /* PJ_HAS_EXCEPTION_NAMES */ + + + diff --git a/pjlib/src/pj/exception_symbian.cpp b/pjlib/src/pj/exception_symbian.cpp new file mode 100644 index 0000000..f2dae4c --- /dev/null +++ b/pjlib/src/pj/exception_symbian.cpp @@ -0,0 +1,116 @@ +/* $Id: exception_symbian.cpp 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include + + +#if defined(PJ_HAS_EXCEPTION_NAMES) && PJ_HAS_EXCEPTION_NAMES != 0 + static const char *exception_id_names[PJ_MAX_EXCEPTION_ID]; +#else + /* + * Start from 1 (not 0)!!! + * Exception 0 is reserved for normal path of setjmp()!!! + */ + static int last_exception_id = 1; +#endif /* PJ_HAS_EXCEPTION_NAMES */ + + +#if defined(PJ_HAS_EXCEPTION_NAMES) && PJ_HAS_EXCEPTION_NAMES != 0 +PJ_DEF(pj_status_t) pj_exception_id_alloc( const char *name, + pj_exception_id_t *id) +{ + unsigned i; + + pj_enter_critical_section(); + + /* + * Start from 1 (not 0)!!! + * Exception 0 is reserved for normal path of setjmp()!!! + */ + for (i=1; i0 && id0 && id"); + + if (exception_id_names[id] == NULL) + return ""; + + return exception_id_names[id]; +} + +#else /* PJ_HAS_EXCEPTION_NAMES */ +PJ_DEF(pj_status_t) pj_exception_id_alloc( const char *name, + pj_exception_id_t *id) +{ + PJ_ASSERT_RETURN(last_exception_id < PJ_MAX_EXCEPTION_ID-1, PJ_ETOOMANY); + + *id = last_exception_id++; + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_exception_id_free( pj_exception_id_t id ) +{ + return PJ_SUCCESS; +} + +PJ_DEF(const char*) pj_exception_id_name(pj_exception_id_t id) +{ + return ""; +} + +#endif /* PJ_HAS_EXCEPTION_NAMES */ + + + diff --git a/pjlib/src/pj/extra-exports.c b/pjlib/src/pj/extra-exports.c new file mode 100644 index 0000000..dcd5e5e --- /dev/null +++ b/pjlib/src/pj/extra-exports.c @@ -0,0 +1,41 @@ +/* $Id: extra-exports.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include + +EXPORT_SYMBOL(sys_select); + +EXPORT_SYMBOL(sys_epoll_create); +EXPORT_SYMBOL(sys_epoll_ctl); +EXPORT_SYMBOL(sys_epoll_wait); + +EXPORT_SYMBOL(sys_socket); +EXPORT_SYMBOL(sys_bind); +EXPORT_SYMBOL(sys_getpeername); +EXPORT_SYMBOL(sys_getsockname); +EXPORT_SYMBOL(sys_sendto); +EXPORT_SYMBOL(sys_recvfrom); +EXPORT_SYMBOL(sys_getsockopt); +EXPORT_SYMBOL(sys_setsockopt); +EXPORT_SYMBOL(sys_listen); +EXPORT_SYMBOL(sys_shutdown); +EXPORT_SYMBOL(sys_connect); +EXPORT_SYMBOL(sys_accept); + diff --git a/pjlib/src/pj/fifobuf.c b/pjlib/src/pj/fifobuf.c new file mode 100644 index 0000000..62f66cc --- /dev/null +++ b/pjlib/src/pj/fifobuf.c @@ -0,0 +1,189 @@ +/* $Id: fifobuf.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + +#define THIS_FILE "fifobuf" + +#define SZ sizeof(unsigned) + +PJ_DEF(void) pj_fifobuf_init (pj_fifobuf_t *fifobuf, void *buffer, unsigned size) +{ + PJ_CHECK_STACK(); + + PJ_LOG(6, (THIS_FILE, + "fifobuf_init fifobuf=%p buffer=%p, size=%d", + fifobuf, buffer, size)); + + fifobuf->first = (char*)buffer; + fifobuf->last = fifobuf->first + size; + fifobuf->ubegin = fifobuf->uend = fifobuf->first; + fifobuf->full = 0; +} + +PJ_DEF(unsigned) pj_fifobuf_max_size (pj_fifobuf_t *fifobuf) +{ + unsigned s1, s2; + + PJ_CHECK_STACK(); + + if (fifobuf->uend >= fifobuf->ubegin) { + s1 = (unsigned)(fifobuf->last - fifobuf->uend); + s2 = (unsigned)(fifobuf->ubegin - fifobuf->first); + } else { + s1 = s2 = (unsigned)(fifobuf->ubegin - fifobuf->uend); + } + + return s1full) { + PJ_LOG(6, (THIS_FILE, + "fifobuf_alloc fifobuf=%p, size=%d: full!", + fifobuf, size)); + return NULL; + } + + /* try to allocate from the end part of the fifo */ + if (fifobuf->uend >= fifobuf->ubegin) { + available = (unsigned)(fifobuf->last - fifobuf->uend); + if (available >= size+SZ) { + char *ptr = fifobuf->uend; + fifobuf->uend += (size+SZ); + if (fifobuf->uend == fifobuf->last) + fifobuf->uend = fifobuf->first; + if (fifobuf->uend == fifobuf->ubegin) + fifobuf->full = 1; + *(unsigned*)ptr = size+SZ; + ptr += SZ; + + PJ_LOG(6, (THIS_FILE, + "fifobuf_alloc fifobuf=%p, size=%d: returning %p, p1=%p, p2=%p", + fifobuf, size, ptr, fifobuf->ubegin, fifobuf->uend)); + return ptr; + } + } + + /* try to allocate from the start part of the fifo */ + start = (fifobuf->uend <= fifobuf->ubegin) ? fifobuf->uend : fifobuf->first; + available = (unsigned)(fifobuf->ubegin - start); + if (available >= size+SZ) { + char *ptr = start; + fifobuf->uend = start + size + SZ; + if (fifobuf->uend == fifobuf->ubegin) + fifobuf->full = 1; + *(unsigned*)ptr = size+SZ; + ptr += SZ; + + PJ_LOG(6, (THIS_FILE, + "fifobuf_alloc fifobuf=%p, size=%d: returning %p, p1=%p, p2=%p", + fifobuf, size, ptr, fifobuf->ubegin, fifobuf->uend)); + return ptr; + } + + PJ_LOG(6, (THIS_FILE, + "fifobuf_alloc fifobuf=%p, size=%d: no space left! p1=%p, p2=%p", + fifobuf, size, fifobuf->ubegin, fifobuf->uend)); + return NULL; +} + +PJ_DEF(pj_status_t) pj_fifobuf_unalloc (pj_fifobuf_t *fifobuf, void *buf) +{ + char *ptr = (char*)buf; + char *endptr; + unsigned sz; + + PJ_CHECK_STACK(); + + ptr -= SZ; + sz = *(unsigned*)ptr; + + endptr = fifobuf->uend; + if (endptr == fifobuf->first) + endptr = fifobuf->last; + + if (ptr+sz != endptr) { + pj_assert(!"Invalid pointer to undo alloc"); + return -1; + } + + fifobuf->uend = ptr; + fifobuf->full = 0; + + PJ_LOG(6, (THIS_FILE, + "fifobuf_unalloc fifobuf=%p, ptr=%p, size=%d, p1=%p, p2=%p", + fifobuf, buf, sz, fifobuf->ubegin, fifobuf->uend)); + + return 0; +} + +PJ_DEF(pj_status_t) pj_fifobuf_free (pj_fifobuf_t *fifobuf, void *buf) +{ + char *ptr = (char*)buf; + char *end; + unsigned sz; + + PJ_CHECK_STACK(); + + ptr -= SZ; + if (ptr < fifobuf->first || ptr >= fifobuf->last) { + pj_assert(!"Invalid pointer to free"); + return -1; + } + + if (ptr != fifobuf->ubegin && ptr != fifobuf->first) { + pj_assert(!"Invalid free() sequence!"); + return -1; + } + + end = (fifobuf->uend > fifobuf->ubegin) ? fifobuf->uend : fifobuf->last; + sz = *(unsigned*)ptr; + if (ptr+sz > end) { + pj_assert(!"Invalid size!"); + return -1; + } + + fifobuf->ubegin = ptr + sz; + + /* Rollover */ + if (fifobuf->ubegin == fifobuf->last) + fifobuf->ubegin = fifobuf->first; + + /* Reset if fifobuf is empty */ + if (fifobuf->ubegin == fifobuf->uend) + fifobuf->ubegin = fifobuf->uend = fifobuf->first; + + fifobuf->full = 0; + + PJ_LOG(6, (THIS_FILE, + "fifobuf_free fifobuf=%p, ptr=%p, size=%d, p1=%p, p2=%p", + fifobuf, buf, sz, fifobuf->ubegin, fifobuf->uend)); + + return 0; +} diff --git a/pjlib/src/pj/file_access_unistd.c b/pjlib/src/pj/file_access_unistd.c new file mode 100644 index 0000000..b48a3bc --- /dev/null +++ b/pjlib/src/pj/file_access_unistd.c @@ -0,0 +1,114 @@ +/* $Id: file_access_unistd.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + +#include +#include +#include +#include /* rename() */ +#include + +/* + * pj_file_exists() + */ +PJ_DEF(pj_bool_t) pj_file_exists(const char *filename) +{ + struct stat buf; + + PJ_ASSERT_RETURN(filename, 0); + + if (stat(filename, &buf) != 0) + return 0; + + return PJ_TRUE; +} + + +/* + * pj_file_size() + */ +PJ_DEF(pj_off_t) pj_file_size(const char *filename) +{ + struct stat buf; + + PJ_ASSERT_RETURN(filename, -1); + + if (stat(filename, &buf) != 0) + return -1; + + return buf.st_size; +} + + +/* + * pj_file_delete() + */ +PJ_DEF(pj_status_t) pj_file_delete(const char *filename) +{ + PJ_ASSERT_RETURN(filename, PJ_EINVAL); + + if (unlink(filename)!=0) { + return PJ_RETURN_OS_ERROR(errno); + } + return PJ_SUCCESS; +} + + +/* + * pj_file_move() + */ +PJ_DEF(pj_status_t) pj_file_move( const char *oldname, const char *newname) +{ + PJ_ASSERT_RETURN(oldname && newname, PJ_EINVAL); + + if (rename(oldname, newname) != 0) { + return PJ_RETURN_OS_ERROR(errno); + } + return PJ_SUCCESS; +} + + +/* + * pj_file_getstat() + */ +PJ_DEF(pj_status_t) pj_file_getstat(const char *filename, + pj_file_stat *statbuf) +{ + struct stat buf; + + PJ_ASSERT_RETURN(filename && statbuf, PJ_EINVAL); + + if (stat(filename, &buf) != 0) { + return PJ_RETURN_OS_ERROR(errno); + } + + statbuf->size = buf.st_size; + statbuf->ctime.sec = buf.st_ctime; + statbuf->ctime.msec = 0; + statbuf->mtime.sec = buf.st_mtime; + statbuf->mtime.msec = 0; + statbuf->atime.sec = buf.st_atime; + statbuf->atime.msec = 0; + + return PJ_SUCCESS; +} + diff --git a/pjlib/src/pj/file_access_win32.c b/pjlib/src/pj/file_access_win32.c new file mode 100644 index 0000000..e737fff --- /dev/null +++ b/pjlib/src/pj/file_access_win32.c @@ -0,0 +1,215 @@ +/* $Id: file_access_win32.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 + /* WinCE lacks READ_CONTROL so we must use GENERIC_READ */ +# define CONTROL_ACCESS GENERIC_READ +#else +# define CONTROL_ACCESS READ_CONTROL +#endif + + +/* + * pj_file_exists() + */ +PJ_DEF(pj_bool_t) pj_file_exists(const char *filename) +{ + PJ_DECL_UNICODE_TEMP_BUF(wfilename,256) + HANDLE hFile; + + PJ_ASSERT_RETURN(filename != NULL, 0); + + hFile = CreateFile(PJ_STRING_TO_NATIVE(filename,wfilename,sizeof(wfilename)), + CONTROL_ACCESS, + FILE_SHARE_READ, NULL, + OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if (hFile == INVALID_HANDLE_VALUE) + return 0; + + CloseHandle(hFile); + return PJ_TRUE; +} + + +/* + * pj_file_size() + */ +PJ_DEF(pj_off_t) pj_file_size(const char *filename) +{ + PJ_DECL_UNICODE_TEMP_BUF(wfilename,256) + HANDLE hFile; + DWORD sizeLo, sizeHi; + pj_off_t size; + + PJ_ASSERT_RETURN(filename != NULL, -1); + + hFile = CreateFile(PJ_STRING_TO_NATIVE(filename, wfilename,sizeof(wfilename)), + CONTROL_ACCESS, + FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, + OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if (hFile == INVALID_HANDLE_VALUE) + return -1; + + sizeLo = GetFileSize(hFile, &sizeHi); + if (sizeLo == INVALID_FILE_SIZE) { + DWORD dwStatus = GetLastError(); + if (dwStatus != NO_ERROR) { + CloseHandle(hFile); + return -1; + } + } + + size = sizeHi; + size = (size << 32) + sizeLo; + + CloseHandle(hFile); + return size; +} + + +/* + * pj_file_delete() + */ +PJ_DEF(pj_status_t) pj_file_delete(const char *filename) +{ + PJ_DECL_UNICODE_TEMP_BUF(wfilename,256) + + PJ_ASSERT_RETURN(filename != NULL, PJ_EINVAL); + + if (DeleteFile(PJ_STRING_TO_NATIVE(filename,wfilename,sizeof(wfilename))) == FALSE) + return PJ_RETURN_OS_ERROR(GetLastError()); + + return PJ_SUCCESS; +} + + +/* + * pj_file_move() + */ +PJ_DEF(pj_status_t) pj_file_move( const char *oldname, const char *newname) +{ + PJ_DECL_UNICODE_TEMP_BUF(woldname,256) + PJ_DECL_UNICODE_TEMP_BUF(wnewname,256) + BOOL rc; + + PJ_ASSERT_RETURN(oldname!=NULL && newname!=NULL, PJ_EINVAL); + +#if PJ_WIN32_WINNT >= 0x0400 + rc = MoveFileEx(PJ_STRING_TO_NATIVE(oldname,woldname,sizeof(woldname)), + PJ_STRING_TO_NATIVE(newname,wnewname,sizeof(wnewname)), + MOVEFILE_COPY_ALLOWED|MOVEFILE_REPLACE_EXISTING); +#else + rc = MoveFile(PJ_STRING_TO_NATIVE(oldname,woldname,sizeof(woldname)), + PJ_STRING_TO_NATIVE(newname,wnewname,sizeof(wnewname))); +#endif + + if (!rc) + return PJ_RETURN_OS_ERROR(GetLastError()); + + return PJ_SUCCESS; +} + + +static pj_status_t file_time_to_time_val(const FILETIME *file_time, + pj_time_val *time_val) +{ + FILETIME local_file_time; + SYSTEMTIME localTime; + pj_parsed_time pt; + + if (!FileTimeToLocalFileTime(file_time, &local_file_time)) + return PJ_RETURN_OS_ERROR(GetLastError()); + + if (!FileTimeToSystemTime(file_time, &localTime)) + return PJ_RETURN_OS_ERROR(GetLastError()); + + //if (!SystemTimeToTzSpecificLocalTime(NULL, &systemTime, &localTime)) + // return PJ_RETURN_OS_ERROR(GetLastError()); + + pj_bzero(&pt, sizeof(pt)); + pt.year = localTime.wYear; + pt.mon = localTime.wMonth-1; + pt.day = localTime.wDay; + pt.wday = localTime.wDayOfWeek; + + pt.hour = localTime.wHour; + pt.min = localTime.wMinute; + pt.sec = localTime.wSecond; + pt.msec = localTime.wMilliseconds; + + return pj_time_encode(&pt, time_val); +} + +/* + * pj_file_getstat() + */ +PJ_DEF(pj_status_t) pj_file_getstat(const char *filename, pj_file_stat *stat) +{ + PJ_DECL_UNICODE_TEMP_BUF(wfilename,256) + HANDLE hFile; + DWORD sizeLo, sizeHi; + FILETIME creationTime, accessTime, writeTime; + + PJ_ASSERT_RETURN(filename!=NULL && stat!=NULL, PJ_EINVAL); + + hFile = CreateFile(PJ_STRING_TO_NATIVE(filename,wfilename,sizeof(wfilename)), + CONTROL_ACCESS, + FILE_SHARE_READ, NULL, + OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if (hFile == INVALID_HANDLE_VALUE) + return PJ_RETURN_OS_ERROR(GetLastError()); + + sizeLo = GetFileSize(hFile, &sizeHi); + if (sizeLo == INVALID_FILE_SIZE) { + DWORD dwStatus = GetLastError(); + if (dwStatus != NO_ERROR) { + CloseHandle(hFile); + return PJ_RETURN_OS_ERROR(dwStatus); + } + } + + stat->size = sizeHi; + stat->size = (stat->size << 32) + sizeLo; + + if (GetFileTime(hFile, &creationTime, &accessTime, &writeTime)==FALSE) { + DWORD dwStatus = GetLastError(); + CloseHandle(hFile); + return PJ_RETURN_OS_ERROR(dwStatus); + } + + CloseHandle(hFile); + + if (file_time_to_time_val(&creationTime, &stat->ctime) != PJ_SUCCESS) + return PJ_RETURN_OS_ERROR(GetLastError()); + + file_time_to_time_val(&accessTime, &stat->atime); + file_time_to_time_val(&writeTime, &stat->mtime); + + return PJ_SUCCESS; +} + diff --git a/pjlib/src/pj/file_io_ansi.c b/pjlib/src/pj/file_io_ansi.c new file mode 100644 index 0000000..487d496 --- /dev/null +++ b/pjlib/src/pj/file_io_ansi.c @@ -0,0 +1,170 @@ +/* $Id: file_io_ansi.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include + +PJ_DEF(pj_status_t) pj_file_open( pj_pool_t *pool, + const char *pathname, + unsigned flags, + pj_oshandle_t *fd) +{ + char mode[8]; + char *p = mode; + + PJ_ASSERT_RETURN(pathname && fd, PJ_EINVAL); + PJ_UNUSED_ARG(pool); + + if ((flags & PJ_O_APPEND) == PJ_O_APPEND) { + if ((flags & PJ_O_WRONLY) == PJ_O_WRONLY) { + *p++ = 'a'; + if ((flags & PJ_O_RDONLY) == PJ_O_RDONLY) + *p++ = '+'; + } else { + /* This is invalid. + * Can not specify PJ_O_RDONLY with PJ_O_APPEND! + */ + } + } else { + if ((flags & PJ_O_RDONLY) == PJ_O_RDONLY) { + *p++ = 'r'; + if ((flags & PJ_O_WRONLY) == PJ_O_WRONLY) + *p++ = '+'; + } else { + *p++ = 'w'; + } + } + + if (p==mode) + return PJ_EINVAL; + + *p++ = 'b'; + *p++ = '\0'; + + *fd = fopen(pathname, mode); + if (*fd == NULL) + return PJ_RETURN_OS_ERROR(errno); + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_file_close(pj_oshandle_t fd) +{ + PJ_ASSERT_RETURN(fd, PJ_EINVAL); + if (fclose((FILE*)fd) != 0) + return PJ_RETURN_OS_ERROR(errno); + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_file_write( pj_oshandle_t fd, + const void *data, + pj_ssize_t *size) +{ + size_t written; + + clearerr((FILE*)fd); + written = fwrite(data, 1, *size, (FILE*)fd); + if (ferror((FILE*)fd)) { + *size = -1; + return PJ_RETURN_OS_ERROR(errno); + } + + *size = written; + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_file_read( pj_oshandle_t fd, + void *data, + pj_ssize_t *size) +{ + size_t bytes; + + clearerr((FILE*)fd); + bytes = fread(data, 1, *size, (FILE*)fd); + if (ferror((FILE*)fd)) { + *size = -1; + return PJ_RETURN_OS_ERROR(errno); + } + + *size = bytes; + return PJ_SUCCESS; +} + +/* +PJ_DEF(pj_bool_t) pj_file_eof(pj_oshandle_t fd, enum pj_file_access access) +{ + PJ_UNUSED_ARG(access); + return feof((FILE*)fd) ? PJ_TRUE : 0; +} +*/ + +PJ_DEF(pj_status_t) pj_file_setpos( pj_oshandle_t fd, + pj_off_t offset, + enum pj_file_seek_type whence) +{ + int mode; + + switch (whence) { + case PJ_SEEK_SET: + mode = SEEK_SET; break; + case PJ_SEEK_CUR: + mode = SEEK_CUR; break; + case PJ_SEEK_END: + mode = SEEK_END; break; + default: + pj_assert(!"Invalid whence in file_setpos"); + return PJ_EINVAL; + } + + if (fseek((FILE*)fd, (long)offset, mode) != 0) + return PJ_RETURN_OS_ERROR(errno); + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_file_getpos( pj_oshandle_t fd, + pj_off_t *pos) +{ + long offset; + + offset = ftell((FILE*)fd); + if (offset == -1) { + *pos = -1; + return PJ_RETURN_OS_ERROR(errno); + } + + *pos = offset; + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_file_flush(pj_oshandle_t fd) +{ + int rc; + + rc = fflush((FILE*)fd); + if (rc == EOF) { + return PJ_RETURN_OS_ERROR(errno); + } + + return PJ_SUCCESS; +} diff --git a/pjlib/src/pj/file_io_win32.c b/pjlib/src/pj/file_io_win32.c new file mode 100644 index 0000000..cf72e4d --- /dev/null +++ b/pjlib/src/pj/file_io_win32.c @@ -0,0 +1,240 @@ +/* $Id: file_io_win32.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + +#include + +#ifndef INVALID_SET_FILE_POINTER +# define INVALID_SET_FILE_POINTER ((DWORD)-1) +#endif + +/** + * Check for end-of-file condition on the specified descriptor. + * + * @param fd The file descriptor. + * @param access The desired access. + * + * @return Non-zero if file is EOF. + */ +PJ_DECL(pj_bool_t) pj_file_eof(pj_oshandle_t fd, + enum pj_file_access access); + + +PJ_DEF(pj_status_t) pj_file_open( pj_pool_t *pool, + const char *pathname, + unsigned flags, + pj_oshandle_t *fd) +{ + PJ_DECL_UNICODE_TEMP_BUF(wpathname,256) + HANDLE hFile; + DWORD dwDesiredAccess = 0; + DWORD dwShareMode = 0; + DWORD dwCreationDisposition = 0; + DWORD dwFlagsAndAttributes = 0; + + PJ_UNUSED_ARG(pool); + + PJ_ASSERT_RETURN(pathname!=NULL, PJ_EINVAL); + + if ((flags & PJ_O_WRONLY) == PJ_O_WRONLY) { + dwDesiredAccess |= GENERIC_WRITE; + if ((flags & PJ_O_APPEND) == PJ_O_APPEND) { +#if !defined(PJ_WIN32_WINCE) || !PJ_WIN32_WINCE + /* FILE_APPEND_DATA is invalid on WM2003 and WM5, but it seems + * to be working on WM6. All are tested on emulator though. + * Removing this also seem to work (i.e. data is appended), so + * I guess this flag is "optional". + * See http://trac.pjsip.org/repos/ticket/825 + */ + dwDesiredAccess |= FILE_APPEND_DATA; +#endif + dwCreationDisposition |= OPEN_ALWAYS; + } else { + dwDesiredAccess &= ~(FILE_APPEND_DATA); + dwCreationDisposition |= CREATE_ALWAYS; + } + } + if ((flags & PJ_O_RDONLY) == PJ_O_RDONLY) { + dwDesiredAccess |= GENERIC_READ; + if (flags == PJ_O_RDONLY) + dwCreationDisposition |= OPEN_EXISTING; + } + + if (dwDesiredAccess == 0) { + pj_assert(!"Invalid file open flags"); + return PJ_EINVAL; + } + + dwShareMode = FILE_SHARE_READ | FILE_SHARE_WRITE; + dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL; + + hFile = CreateFile(PJ_STRING_TO_NATIVE(pathname,wpathname,sizeof(wpathname)), + dwDesiredAccess, dwShareMode, NULL, + dwCreationDisposition, dwFlagsAndAttributes, NULL); + if (hFile == INVALID_HANDLE_VALUE) { + *fd = 0; + return PJ_RETURN_OS_ERROR(GetLastError()); + } + + if ((flags & PJ_O_APPEND) == PJ_O_APPEND) { + pj_status_t status; + + status = pj_file_setpos(hFile, 0, PJ_SEEK_END); + if (status != PJ_SUCCESS) { + pj_file_close(hFile); + return status; + } + } + + *fd = hFile; + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_file_close(pj_oshandle_t fd) +{ + if (CloseHandle(fd)==0) + return PJ_RETURN_OS_ERROR(GetLastError()); + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_file_write( pj_oshandle_t fd, + const void *data, + pj_ssize_t *size) +{ + BOOL rc; + DWORD bytesWritten; + + rc = WriteFile(fd, data, (DWORD)*size, &bytesWritten, NULL); + if (!rc) { + *size = -1; + return PJ_RETURN_OS_ERROR(GetLastError()); + } + + *size = bytesWritten; + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_file_read( pj_oshandle_t fd, + void *data, + pj_ssize_t *size) +{ + BOOL rc; + DWORD bytesRead; + + rc = ReadFile(fd, data, (DWORD)*size, &bytesRead, NULL); + if (!rc) { + *size = -1; + return PJ_RETURN_OS_ERROR(GetLastError()); + } + + *size = bytesRead; + return PJ_SUCCESS; +} + +/* +PJ_DEF(pj_bool_t) pj_file_eof(pj_oshandle_t fd, enum pj_file_access access) +{ + BOOL rc; + DWORD dummy = 0, bytes; + DWORD dwStatus; + + if ((access & PJ_O_RDONLY) == PJ_O_RDONLY) { + rc = ReadFile(fd, &dummy, 0, &bytes, NULL); + } else if ((access & PJ_O_WRONLY) == PJ_O_WRONLY) { + rc = WriteFile(fd, &dummy, 0, &bytes, NULL); + } else { + pj_assert(!"Invalid access"); + return PJ_TRUE; + } + + dwStatus = GetLastError(); + if (dwStatus==ERROR_HANDLE_EOF) + return PJ_TRUE; + + return 0; +} +*/ + +PJ_DEF(pj_status_t) pj_file_setpos( pj_oshandle_t fd, + pj_off_t offset, + enum pj_file_seek_type whence) +{ + DWORD dwMoveMethod; + DWORD dwNewPos; + LONG hi32; + + if (whence == PJ_SEEK_SET) + dwMoveMethod = FILE_BEGIN; + else if (whence == PJ_SEEK_CUR) + dwMoveMethod = FILE_CURRENT; + else if (whence == PJ_SEEK_END) + dwMoveMethod = FILE_END; + else { + pj_assert(!"Invalid whence in file_setpos"); + return PJ_EINVAL; + } + + hi32 = (LONG)(offset >> 32); + dwNewPos = SetFilePointer(fd, (long)offset, &hi32, dwMoveMethod); + if (dwNewPos == (DWORD)INVALID_SET_FILE_POINTER) { + DWORD dwStatus = GetLastError(); + if (dwStatus != 0) + return PJ_RETURN_OS_ERROR(dwStatus); + /* dwNewPos actually is not an error. */ + } + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_file_getpos( pj_oshandle_t fd, + pj_off_t *pos) +{ + LONG hi32 = 0; + DWORD lo32; + + lo32 = SetFilePointer(fd, 0, &hi32, FILE_CURRENT); + if (lo32 == (DWORD)INVALID_SET_FILE_POINTER) { + DWORD dwStatus = GetLastError(); + if (dwStatus != 0) + return PJ_RETURN_OS_ERROR(dwStatus); + } + + *pos = hi32; + *pos = (*pos << 32) + lo32; + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_file_flush(pj_oshandle_t fd) +{ + BOOL rc; + + rc = FlushFileBuffers(fd); + + if (!rc) { + DWORD dwStatus = GetLastError(); + if (dwStatus != 0) + return PJ_RETURN_OS_ERROR(dwStatus); + } + + return PJ_SUCCESS; +} diff --git a/pjlib/src/pj/guid.c b/pjlib/src/pj/guid.c new file mode 100644 index 0000000..88b6c37 --- /dev/null +++ b/pjlib/src/pj/guid.c @@ -0,0 +1,48 @@ +/* $Id: guid.c 4208 2012-07-18 07:52:33Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + +PJ_DEF(pj_str_t*) pj_generate_unique_string_lower(pj_str_t *str) +{ + int i; + + pj_generate_unique_string(str); + for (i = 0; i < str->slen; i++) + str->ptr[i] = (char)pj_tolower(str->ptr[i]); + + return str; +} + +PJ_DEF(void) pj_create_unique_string(pj_pool_t *pool, pj_str_t *str) +{ + str->ptr = (char*)pj_pool_alloc(pool, PJ_GUID_STRING_LENGTH); + pj_generate_unique_string(str); +} + +PJ_DEF(void) pj_create_unique_string_lower(pj_pool_t *pool, pj_str_t *str) +{ + int i; + + pj_create_unique_string(pool, str); + for (i = 0; i < str->slen; i++) + str->ptr[i] = (char)pj_tolower(str->ptr[i]); +} diff --git a/pjlib/src/pj/guid_simple.c b/pjlib/src/pj/guid_simple.c new file mode 100644 index 0000000..8bf8ae9 --- /dev/null +++ b/pjlib/src/pj/guid_simple.c @@ -0,0 +1,81 @@ +/* $Id: guid_simple.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include + +PJ_DEF_DATA(const unsigned) PJ_GUID_STRING_LENGTH=32; + +static char guid_chars[64]; + +PJ_DEF(unsigned) pj_GUID_STRING_LENGTH() +{ + return PJ_GUID_STRING_LENGTH; +} + +static void init_guid_chars(void) +{ + char *p = guid_chars; + unsigned i; + + for (i=0; i<10; ++i) + *p++ = '0'+i; + + for (i=0; i<26; ++i) { + *p++ = 'a'+i; + *p++ = 'A'+i; + } + + *p++ = '-'; + *p++ = '.'; +} + +PJ_DEF(pj_str_t*) pj_generate_unique_string(pj_str_t *str) +{ + char *p, *end; + + PJ_CHECK_STACK(); + + if (guid_chars[0] == '\0') { + pj_enter_critical_section(); + if (guid_chars[0] == '\0') { + init_guid_chars(); + } + pj_leave_critical_section(); + } + + /* This would only work if PJ_GUID_STRING_LENGTH is multiple of 2 bytes */ + pj_assert(PJ_GUID_STRING_LENGTH % 2 == 0); + + for (p=str->ptr, end=p+PJ_GUID_STRING_LENGTH; p0 && p>=8, rand_val>>=8, p++) { + *p = guid_chars[(rand_val & 0xFF) & 63]; + } + } + + str->slen = PJ_GUID_STRING_LENGTH; + return str; +} + diff --git a/pjlib/src/pj/guid_uuid.c b/pjlib/src/pj/guid_uuid.c new file mode 100644 index 0000000..b850bed --- /dev/null +++ b/pjlib/src/pj/guid_uuid.c @@ -0,0 +1,53 @@ +/* $Id: guid_uuid.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include + +#include + +PJ_DEF_DATA(const unsigned) PJ_GUID_STRING_LENGTH=36; + +PJ_DEF(unsigned) pj_GUID_STRING_LENGTH() +{ + return PJ_GUID_STRING_LENGTH; +} + +PJ_DEF(pj_str_t*) pj_generate_unique_string(pj_str_t *str) +{ + enum {GUID_LEN = 36}; + char sguid[GUID_LEN + 1]; + uuid_t uuid = {0}; + + PJ_ASSERT_RETURN(GUID_LEN <= PJ_GUID_STRING_LENGTH, NULL); + PJ_ASSERT_RETURN(str->ptr != NULL, NULL); + PJ_CHECK_STACK(); + + uuid_generate(uuid); + uuid_unparse(uuid, sguid); + + pj_memcpy(str->ptr, sguid, GUID_LEN); + str->slen = GUID_LEN; + + return str; +} + diff --git a/pjlib/src/pj/guid_win32.c b/pjlib/src/pj/guid_win32.c new file mode 100644 index 0000000..c40fcad --- /dev/null +++ b/pjlib/src/pj/guid_win32.c @@ -0,0 +1,72 @@ +/* $Id: guid_win32.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include + + +PJ_DEF_DATA(const unsigned) PJ_GUID_STRING_LENGTH=32; + +PJ_DEF(unsigned) pj_GUID_STRING_LENGTH() +{ + return PJ_GUID_STRING_LENGTH; +} + +PJ_INLINE(void) hex2digit(unsigned value, char *p) +{ + static char hex[] = {'0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; + *p++ = hex[ (value & 0xF0) >> 4 ]; + *p++ = hex[ (value & 0x0F) ]; +} + +static void guid_to_str( GUID *guid, pj_str_t *str ) +{ + unsigned i; + const unsigned char *src = (const unsigned char*)guid; + char *dst = str->ptr; + + guid->Data1 = pj_ntohl(guid->Data1); + guid->Data2 = pj_ntohs(guid->Data2); + guid->Data3 = pj_ntohs(guid->Data3); + + for (i=0; i<16; ++i) { + hex2digit( *src, dst ); + dst += 2; + ++src; + } + str->slen = 32; +} + + +PJ_DEF(pj_str_t*) pj_generate_unique_string(pj_str_t *str) +{ + GUID guid; + + PJ_CHECK_STACK(); + + CoCreateGuid(&guid); + guid_to_str( &guid, str ); + return str; +} + diff --git a/pjlib/src/pj/hash.c b/pjlib/src/pj/hash.c new file mode 100644 index 0000000..ab58fb4 --- /dev/null +++ b/pjlib/src/pj/hash.c @@ -0,0 +1,378 @@ +/* $Id: hash.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include + +/** + * The hash multiplier used to calculate hash value. + */ +#define PJ_HASH_MULTIPLIER 33 + + +struct pj_hash_entry +{ + struct pj_hash_entry *next; + void *key; + pj_uint32_t hash; + pj_uint32_t keylen; + void *value; +}; + + +struct pj_hash_table_t +{ + pj_hash_entry **table; + unsigned count, rows; + pj_hash_iterator_t iterator; +}; + + + +PJ_DEF(pj_uint32_t) pj_hash_calc(pj_uint32_t hash, const void *key, + unsigned keylen) +{ + PJ_CHECK_STACK(); + + if (keylen==PJ_HASH_KEY_STRING) { + const pj_uint8_t *p = (const pj_uint8_t*)key; + for ( ; *p; ++p ) { + hash = (hash * PJ_HASH_MULTIPLIER) + *p; + } + } else { + const pj_uint8_t *p = (const pj_uint8_t*)key, + *end = p + keylen; + for ( ; p!=end; ++p) { + hash = (hash * PJ_HASH_MULTIPLIER) + *p; + } + } + return hash; +} + +PJ_DEF(pj_uint32_t) pj_hash_calc_tolower( pj_uint32_t hval, + char *result, + const pj_str_t *key) +{ + long i; + +#if defined(PJ_HASH_USE_OWN_TOLOWER) && PJ_HASH_USE_OWN_TOLOWER != 0 + for (i=0; islen; ++i) { + pj_uint8_t c = key->ptr[i]; + char lower; + if (c & 64) + lower = (char)(c | 32); + else + lower = (char)c; + if (result) + result[i] = lower; + hval = hval * PJ_HASH_MULTIPLIER + lower; + } +#else + for (i=0; islen; ++i) { + char lower = (char)pj_tolower(key->ptr[i]); + if (result) + result[i] = lower; + hval = hval * PJ_HASH_MULTIPLIER + lower; + } +#endif + + return hval; +} + + +PJ_DEF(pj_hash_table_t*) pj_hash_create(pj_pool_t *pool, unsigned size) +{ + pj_hash_table_t *h; + unsigned table_size; + + /* Check that PJ_HASH_ENTRY_BUF_SIZE is correct. */ + PJ_ASSERT_RETURN(sizeof(pj_hash_entry)<=PJ_HASH_ENTRY_BUF_SIZE, NULL); + + h = PJ_POOL_ALLOC_T(pool, pj_hash_table_t); + h->count = 0; + + PJ_LOG( 6, ("hashtbl", "hash table %p created from pool %s", h, pj_pool_getobjname(pool))); + + /* size must be 2^n - 1. + round-up the size to this rule, except when size is 2^n, then size + will be round-down to 2^n-1. + */ + table_size = 8; + do { + table_size <<= 1; + } while (table_size < size); + table_size -= 1; + + h->rows = table_size; + h->table = (pj_hash_entry**) + pj_pool_calloc(pool, table_size+1, sizeof(pj_hash_entry*)); + return h; +} + +static pj_hash_entry **find_entry( pj_pool_t *pool, pj_hash_table_t *ht, + const void *key, unsigned keylen, + void *val, pj_uint32_t *hval, + void *entry_buf, pj_bool_t lower) +{ + pj_uint32_t hash; + pj_hash_entry **p_entry, *entry; + + if (hval && *hval != 0) { + hash = *hval; + if (keylen==PJ_HASH_KEY_STRING) { + keylen = (unsigned)pj_ansi_strlen((const char*)key); + } + } else { + /* This slightly differs with pj_hash_calc() because we need + * to get the keylen when keylen is PJ_HASH_KEY_STRING. + */ + hash=0; + if (keylen==PJ_HASH_KEY_STRING) { + const pj_uint8_t *p = (const pj_uint8_t*)key; + for ( ; *p; ++p ) { + if (lower) + hash = hash * PJ_HASH_MULTIPLIER + pj_tolower(*p); + else + hash = hash * PJ_HASH_MULTIPLIER + *p; + } + keylen = (unsigned)(p - (const unsigned char*)key); + } else { + const pj_uint8_t *p = (const pj_uint8_t*)key, + *end = p + keylen; + for ( ; p!=end; ++p) { + if (lower) + hash = hash * PJ_HASH_MULTIPLIER + pj_tolower(*p); + else + hash = hash * PJ_HASH_MULTIPLIER + *p; + } + } + + /* Report back the computed hash. */ + if (hval) + *hval = hash; + } + + /* scan the linked list */ + for (p_entry = &ht->table[hash & ht->rows], entry=*p_entry; + entry; + p_entry = &entry->next, entry = *p_entry) + { + if (entry->hash==hash && entry->keylen==keylen && + ((lower && pj_ansi_strnicmp((const char*)entry->key, + (const char*)key, keylen)==0) || + (!lower && pj_memcmp(entry->key, key, keylen)==0))) + { + break; + } + } + + if (entry || val==NULL) + return p_entry; + + /* Entry not found, create a new one. + * If entry_buf is specified, use it. Otherwise allocate from pool. + */ + if (entry_buf) { + entry = (pj_hash_entry*)entry_buf; + } else { + /* Pool must be specified! */ + PJ_ASSERT_RETURN(pool != NULL, NULL); + + entry = PJ_POOL_ALLOC_T(pool, pj_hash_entry); + PJ_LOG(6, ("hashtbl", + "%p: New p_entry %p created, pool used=%u, cap=%u", + ht, entry, pj_pool_get_used_size(pool), + pj_pool_get_capacity(pool))); + } + entry->next = NULL; + entry->hash = hash; + if (pool) { + entry->key = pj_pool_alloc(pool, keylen); + pj_memcpy(entry->key, key, keylen); + } else { + entry->key = (void*)key; + } + entry->keylen = keylen; + entry->value = val; + *p_entry = entry; + + ++ht->count; + + return p_entry; +} + +PJ_DEF(void *) pj_hash_get( pj_hash_table_t *ht, + const void *key, unsigned keylen, + pj_uint32_t *hval) +{ + pj_hash_entry *entry; + entry = *find_entry( NULL, ht, key, keylen, NULL, hval, NULL, PJ_FALSE); + return entry ? entry->value : NULL; +} + +PJ_DEF(void *) pj_hash_get_lower( pj_hash_table_t *ht, + const void *key, unsigned keylen, + pj_uint32_t *hval) +{ + pj_hash_entry *entry; + entry = *find_entry( NULL, ht, key, keylen, NULL, hval, NULL, PJ_TRUE); + return entry ? entry->value : NULL; +} + +static void hash_set( pj_pool_t *pool, pj_hash_table_t *ht, + const void *key, unsigned keylen, pj_uint32_t hval, + void *value, void *entry_buf, pj_bool_t lower ) +{ + pj_hash_entry **p_entry; + + p_entry = find_entry( pool, ht, key, keylen, value, &hval, entry_buf, + lower); + if (*p_entry) { + if (value == NULL) { + /* delete entry */ + PJ_LOG(6, ("hashtbl", "%p: p_entry %p deleted", ht, *p_entry)); + *p_entry = (*p_entry)->next; + --ht->count; + + } else { + /* overwrite */ + (*p_entry)->value = value; + PJ_LOG(6, ("hashtbl", "%p: p_entry %p value set to %p", ht, + *p_entry, value)); + } + } +} + +PJ_DEF(void) pj_hash_set( pj_pool_t *pool, pj_hash_table_t *ht, + const void *key, unsigned keylen, pj_uint32_t hval, + void *value ) +{ + hash_set(pool, ht, key, keylen, hval, value, NULL, PJ_FALSE); +} + +PJ_DEF(void) pj_hash_set_lower( pj_pool_t *pool, pj_hash_table_t *ht, + const void *key, unsigned keylen, + pj_uint32_t hval, void *value ) +{ + hash_set(pool, ht, key, keylen, hval, value, NULL, PJ_TRUE); +} + +PJ_DEF(void) pj_hash_set_np( pj_hash_table_t *ht, + const void *key, unsigned keylen, + pj_uint32_t hval, pj_hash_entry_buf entry_buf, + void *value) +{ + hash_set(NULL, ht, key, keylen, hval, value, (void *)entry_buf, PJ_FALSE); +} + +PJ_DEF(void) pj_hash_set_np_lower( pj_hash_table_t *ht, + const void *key, unsigned keylen, + pj_uint32_t hval, + pj_hash_entry_buf entry_buf, + void *value) +{ + hash_set(NULL, ht, key, keylen, hval, value, (void *)entry_buf, PJ_TRUE); +} + +PJ_DEF(unsigned) pj_hash_count( pj_hash_table_t *ht ) +{ + return ht->count; +} + +PJ_DEF(pj_hash_iterator_t*) pj_hash_first( pj_hash_table_t *ht, + pj_hash_iterator_t *it ) +{ + it->index = 0; + it->entry = NULL; + + for (; it->index <= ht->rows; ++it->index) { + it->entry = ht->table[it->index]; + if (it->entry) { + break; + } + } + + return it->entry ? it : NULL; +} + +PJ_DEF(pj_hash_iterator_t*) pj_hash_next( pj_hash_table_t *ht, + pj_hash_iterator_t *it ) +{ + it->entry = it->entry->next; + if (it->entry) { + return it; + } + + for (++it->index; it->index <= ht->rows; ++it->index) { + it->entry = ht->table[it->index]; + if (it->entry) { + break; + } + } + + return it->entry ? it : NULL; +} + +PJ_DEF(void*) pj_hash_this( pj_hash_table_t *ht, pj_hash_iterator_t *it ) +{ + PJ_CHECK_STACK(); + PJ_UNUSED_ARG(ht); + return it->entry->value; +} + +#if 0 +void pj_hash_dump_collision( pj_hash_table_t *ht ) +{ + unsigned min=0xFFFFFFFF, max=0; + unsigned i; + char line[120]; + int len, totlen = 0; + + for (i=0; i<=ht->rows; ++i) { + unsigned count = 0; + pj_hash_entry *entry = ht->table[i]; + while (entry) { + ++count; + entry = entry->next; + } + if (count < min) + min = count; + if (count > max) + max = count; + len = pj_snprintf( line+totlen, sizeof(line)-totlen, "%3d:%3d ", i, count); + if (len < 1) + break; + totlen += len; + + if ((i+1) % 10 == 0) { + line[totlen] = '\0'; + PJ_LOG(4,(__FILE__, line)); + } + } + + PJ_LOG(4,(__FILE__,"Count: %d, min: %d, max: %d\n", ht->count, min, max)); +} +#endif + + diff --git a/pjlib/src/pj/ioqueue_common_abs.c b/pjlib/src/pj/ioqueue_common_abs.c new file mode 100644 index 0000000..b5cae52 --- /dev/null +++ b/pjlib/src/pj/ioqueue_common_abs.c @@ -0,0 +1,1335 @@ +/* $Id: ioqueue_common_abs.c 4890 2014-08-19 00:54:34Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * ioqueue_common_abs.c + * + * This contains common functionalities to emulate proactor pattern with + * various event dispatching mechanisms (e.g. select, epoll). + * + * This file will be included by the appropriate ioqueue implementation. + * This file is NOT supposed to be compiled as stand-alone source. + */ + +#define PENDING_RETRY 2 + +static void ioqueue_init( pj_ioqueue_t *ioqueue ) +{ + ioqueue->lock = NULL; + ioqueue->auto_delete_lock = 0; + ioqueue->default_concurrency = PJ_IOQUEUE_DEFAULT_ALLOW_CONCURRENCY; +} + +static pj_status_t ioqueue_destroy(pj_ioqueue_t *ioqueue) +{ + if (ioqueue->auto_delete_lock && ioqueue->lock ) { + pj_lock_release(ioqueue->lock); + return pj_lock_destroy(ioqueue->lock); + } + + return PJ_SUCCESS; +} + +/* + * pj_ioqueue_set_lock() + */ +PJ_DEF(pj_status_t) pj_ioqueue_set_lock( pj_ioqueue_t *ioqueue, + pj_lock_t *lock, + pj_bool_t auto_delete ) +{ + PJ_ASSERT_RETURN(ioqueue && lock, PJ_EINVAL); + + if (ioqueue->auto_delete_lock && ioqueue->lock) { + pj_lock_destroy(ioqueue->lock); + } + + ioqueue->lock = lock; + ioqueue->auto_delete_lock = auto_delete; + + return PJ_SUCCESS; +} + +static pj_status_t ioqueue_init_key( pj_pool_t *pool, + pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *key, + pj_sock_t sock, + pj_grp_lock_t *grp_lock, + void *user_data, + const pj_ioqueue_callback *cb) +{ + pj_status_t rc; + int optlen; + + PJ_UNUSED_ARG(pool); + + key->ioqueue = ioqueue; + key->fd = sock; + key->user_data = user_data; + pj_list_init(&key->read_list); + pj_list_init(&key->write_list); +#if PJ_HAS_TCP + pj_list_init(&key->accept_list); + key->connecting = 0; +#endif + + /* Save callback. */ + pj_memcpy(&key->cb, cb, sizeof(pj_ioqueue_callback)); + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Set initial reference count to 1 */ + pj_assert(key->ref_count == 0); + ++key->ref_count; + + key->closing = 0; +#endif + + rc = pj_ioqueue_set_concurrency(key, ioqueue->default_concurrency); + if (rc != PJ_SUCCESS) + return rc; + + /* Get socket type. When socket type is datagram, some optimization + * will be performed during send to allow parallel send operations. + */ + optlen = sizeof(key->fd_type); + rc = pj_sock_getsockopt(sock, pj_SOL_SOCKET(), pj_SO_TYPE(), + &key->fd_type, &optlen); + if (rc != PJ_SUCCESS) + key->fd_type = pj_SOCK_STREAM(); + + /* Create mutex for the key. */ +#if !PJ_IOQUEUE_HAS_SAFE_UNREG + rc = pj_lock_create_simple_mutex(poll, NULL, &key->lock); +#endif + if (rc != PJ_SUCCESS) + return rc; + + /* Group lock */ + key->grp_lock = grp_lock; + if (key->grp_lock) { + pj_grp_lock_add_ref_dbg(key->grp_lock, "ioqueue", 0); + } + + return PJ_SUCCESS; +} + +/* + * pj_ioqueue_get_user_data() + * + * Obtain value associated with a key. + */ +PJ_DEF(void*) pj_ioqueue_get_user_data( pj_ioqueue_key_t *key ) +{ + PJ_ASSERT_RETURN(key != NULL, NULL); + return key->user_data; +} + +/* + * pj_ioqueue_set_user_data() + */ +PJ_DEF(pj_status_t) pj_ioqueue_set_user_data( pj_ioqueue_key_t *key, + void *user_data, + void **old_data) +{ + PJ_ASSERT_RETURN(key, PJ_EINVAL); + + if (old_data) + *old_data = key->user_data; + key->user_data = user_data; + + return PJ_SUCCESS; +} + +PJ_INLINE(int) key_has_pending_write(pj_ioqueue_key_t *key) +{ + return !pj_list_empty(&key->write_list); +} + +PJ_INLINE(int) key_has_pending_read(pj_ioqueue_key_t *key) +{ + return !pj_list_empty(&key->read_list); +} + +PJ_INLINE(int) key_has_pending_accept(pj_ioqueue_key_t *key) +{ +#if PJ_HAS_TCP + return !pj_list_empty(&key->accept_list); +#else + PJ_UNUSED_ARG(key); + return 0; +#endif +} + +PJ_INLINE(int) key_has_pending_connect(pj_ioqueue_key_t *key) +{ + return key->connecting; +} + + +#if PJ_IOQUEUE_HAS_SAFE_UNREG +# define IS_CLOSING(key) (key->closing) +#else +# define IS_CLOSING(key) (0) +#endif + + +/* + * ioqueue_dispatch_event() + * + * Report occurence of an event in the key to be processed by the + * framework. + */ +void ioqueue_dispatch_write_event(pj_ioqueue_t *ioqueue, pj_ioqueue_key_t *h) +{ + /* Lock the key. */ + pj_ioqueue_lock_key(h); + + if (IS_CLOSING(h)) { + pj_ioqueue_unlock_key(h); + return; + } + +#if defined(PJ_HAS_TCP) && PJ_HAS_TCP!=0 + if (h->connecting) { + /* Completion of connect() operation */ + pj_status_t status; + pj_bool_t has_lock; + + /* Clear operation. */ + h->connecting = 0; + + ioqueue_remove_from_set(ioqueue, h, WRITEABLE_EVENT); + ioqueue_remove_from_set(ioqueue, h, EXCEPTION_EVENT); + + +#if (defined(PJ_HAS_SO_ERROR) && PJ_HAS_SO_ERROR!=0) + /* from connect(2): + * On Linux, use getsockopt to read the SO_ERROR option at + * level SOL_SOCKET to determine whether connect() completed + * successfully (if SO_ERROR is zero). + */ + { + int value; + int vallen = sizeof(value); + int gs_rc = pj_sock_getsockopt(h->fd, SOL_SOCKET, SO_ERROR, + &value, &vallen); + if (gs_rc != 0) { + /* Argh!! What to do now??? + * Just indicate that the socket is connected. The + * application will get error as soon as it tries to use + * the socket to send/receive. + */ + status = PJ_SUCCESS; + } else { + status = PJ_STATUS_FROM_OS(value); + } + } +#elif (defined(PJ_WIN32) && PJ_WIN32!=0) || (defined(PJ_WIN64) && PJ_WIN64!=0) + status = PJ_SUCCESS; /* success */ +#else + /* Excellent information in D.J. Bernstein page: + * http://cr.yp.to/docs/connect.html + * + * Seems like the most portable way of detecting connect() + * failure is to call getpeername(). If socket is connected, + * getpeername() will return 0. If the socket is not connected, + * it will return ENOTCONN, and read(fd, &ch, 1) will produce + * the right errno through error slippage. This is a combination + * of suggestions from Douglas C. Schmidt and Ken Keys. + */ + { + struct sockaddr_in addr; + int addrlen = sizeof(addr); + + status = pj_sock_getpeername(h->fd, (struct sockaddr*)&addr, + &addrlen); + } +#endif + + /* Unlock; from this point we don't need to hold key's mutex + * (unless concurrency is disabled, which in this case we should + * hold the mutex while calling the callback) */ + if (h->allow_concurrent) { + /* concurrency may be changed while we're in the callback, so + * save it to a flag. + */ + has_lock = PJ_FALSE; + pj_ioqueue_unlock_key(h); + } else { + has_lock = PJ_TRUE; + } + + /* Call callback. */ + if (h->cb.on_connect_complete && !IS_CLOSING(h)) + (*h->cb.on_connect_complete)(h, status); + + /* Unlock if we still hold the lock */ + if (has_lock) { + pj_ioqueue_unlock_key(h); + } + + /* Done. */ + + } else +#endif /* PJ_HAS_TCP */ + if (key_has_pending_write(h)) { + /* Socket is writable. */ + struct write_operation *write_op; + pj_ssize_t sent; + pj_status_t send_rc = PJ_SUCCESS; + + /* Get the first in the queue. */ + write_op = h->write_list.next; + + /* For datagrams, we can remove the write_op from the list + * so that send() can work in parallel. + */ + if (h->fd_type == pj_SOCK_DGRAM()) { + pj_list_erase(write_op); + + if (pj_list_empty(&h->write_list)) + ioqueue_remove_from_set(ioqueue, h, WRITEABLE_EVENT); + + } + + /* Send the data. + * Unfortunately we must do this while holding key's mutex, thus + * preventing parallel write on a single key.. :-(( + */ + sent = write_op->size - write_op->written; + if (write_op->op == PJ_IOQUEUE_OP_SEND) { + send_rc = pj_sock_send(h->fd, write_op->buf+write_op->written, + &sent, write_op->flags); + /* Can't do this. We only clear "op" after we're finished sending + * the whole buffer. + */ + //write_op->op = 0; + } else if (write_op->op == PJ_IOQUEUE_OP_SEND_TO) { + int retry = 2; + while (--retry >= 0) { + send_rc = pj_sock_sendto(h->fd, + write_op->buf+write_op->written, + &sent, write_op->flags, + &write_op->rmt_addr, + write_op->rmt_addrlen); +#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 + /* Special treatment for dead UDP sockets here, see ticket #1107 */ + if (send_rc==PJ_STATUS_FROM_OS(EPIPE) && !IS_CLOSING(h) && + h->fd_type==pj_SOCK_DGRAM()) + { + PJ_PERROR(4,(THIS_FILE, send_rc, + "Send error for socket %d, retrying", + h->fd)); + replace_udp_sock(h); + continue; + } +#endif + break; + } + + /* Can't do this. We only clear "op" after we're finished sending + * the whole buffer. + */ + //write_op->op = 0; + } else { + pj_assert(!"Invalid operation type!"); + write_op->op = PJ_IOQUEUE_OP_NONE; + send_rc = PJ_EBUG; + } + + if (send_rc == PJ_SUCCESS) { + write_op->written += sent; + } else { + pj_assert(send_rc > 0); + write_op->written = -send_rc; + } + + /* Are we finished with this buffer? */ + if (send_rc!=PJ_SUCCESS || + write_op->written == (pj_ssize_t)write_op->size || + h->fd_type == pj_SOCK_DGRAM()) + { + pj_bool_t has_lock; + + write_op->op = PJ_IOQUEUE_OP_NONE; + + if (h->fd_type != pj_SOCK_DGRAM()) { + /* Write completion of the whole stream. */ + pj_list_erase(write_op); + + /* Clear operation if there's no more data to send. */ + if (pj_list_empty(&h->write_list)) + ioqueue_remove_from_set(ioqueue, h, WRITEABLE_EVENT); + + } + + /* Unlock; from this point we don't need to hold key's mutex + * (unless concurrency is disabled, which in this case we should + * hold the mutex while calling the callback) */ + if (h->allow_concurrent) { + /* concurrency may be changed while we're in the callback, so + * save it to a flag. + */ + has_lock = PJ_FALSE; + pj_ioqueue_unlock_key(h); + PJ_RACE_ME(5); + } else { + has_lock = PJ_TRUE; + } + + /* Call callback. */ + if (h->cb.on_write_complete && !IS_CLOSING(h)) { + (*h->cb.on_write_complete)(h, + (pj_ioqueue_op_key_t*)write_op, + write_op->written); + } + + if (has_lock) { + pj_ioqueue_unlock_key(h); + } + + } else { + pj_ioqueue_unlock_key(h); + } + + /* Done. */ + } else { + /* + * This is normal; execution may fall here when multiple threads + * are signalled for the same event, but only one thread eventually + * able to process the event. + */ + pj_ioqueue_unlock_key(h); + } +} + +void ioqueue_dispatch_read_event( pj_ioqueue_t *ioqueue, pj_ioqueue_key_t *h ) +{ + pj_status_t rc; + + /* Lock the key. */ + pj_ioqueue_lock_key(h); + + if (IS_CLOSING(h)) { + pj_ioqueue_unlock_key(h); + return; + } + +# if PJ_HAS_TCP + if (!pj_list_empty(&h->accept_list)) { + + struct accept_operation *accept_op; + pj_bool_t has_lock; + + /* Get one accept operation from the list. */ + accept_op = h->accept_list.next; + pj_list_erase(accept_op); + accept_op->op = PJ_IOQUEUE_OP_NONE; + + /* Clear bit in fdset if there is no more pending accept */ + if (pj_list_empty(&h->accept_list)) + ioqueue_remove_from_set(ioqueue, h, READABLE_EVENT); + + rc=pj_sock_accept(h->fd, accept_op->accept_fd, + accept_op->rmt_addr, accept_op->addrlen); + if (rc==PJ_SUCCESS && accept_op->local_addr) { + rc = pj_sock_getsockname(*accept_op->accept_fd, + accept_op->local_addr, + accept_op->addrlen); + } + + /* Unlock; from this point we don't need to hold key's mutex + * (unless concurrency is disabled, which in this case we should + * hold the mutex while calling the callback) */ + if (h->allow_concurrent) { + /* concurrency may be changed while we're in the callback, so + * save it to a flag. + */ + has_lock = PJ_FALSE; + pj_ioqueue_unlock_key(h); + PJ_RACE_ME(5); + } else { + has_lock = PJ_TRUE; + } + + /* Call callback. */ + if (h->cb.on_accept_complete && !IS_CLOSING(h)) { + (*h->cb.on_accept_complete)(h, + (pj_ioqueue_op_key_t*)accept_op, + *accept_op->accept_fd, rc); + } + + if (has_lock) { + pj_ioqueue_unlock_key(h); + } + } + else +# endif + if (key_has_pending_read(h)) { + struct read_operation *read_op; + pj_ssize_t bytes_read; + pj_bool_t has_lock; + + /* Get one pending read operation from the list. */ + read_op = h->read_list.next; + pj_list_erase(read_op); + + /* Clear fdset if there is no pending read. */ + if (pj_list_empty(&h->read_list)) + ioqueue_remove_from_set(ioqueue, h, READABLE_EVENT); + + bytes_read = read_op->size; + + if (read_op->op == PJ_IOQUEUE_OP_RECV_FROM) { + read_op->op = PJ_IOQUEUE_OP_NONE; + rc = pj_sock_recvfrom(h->fd, read_op->buf, &bytes_read, + read_op->flags, + read_op->rmt_addr, + read_op->rmt_addrlen); + } else if (read_op->op == PJ_IOQUEUE_OP_RECV) { + read_op->op = PJ_IOQUEUE_OP_NONE; + rc = pj_sock_recv(h->fd, read_op->buf, &bytes_read, + read_op->flags); + } else { + pj_assert(read_op->op == PJ_IOQUEUE_OP_READ); + read_op->op = PJ_IOQUEUE_OP_NONE; + /* + * User has specified pj_ioqueue_read(). + * On Win32, we should do ReadFile(). But because we got + * here because of select() anyway, user must have put a + * socket descriptor on h->fd, which in this case we can + * just call pj_sock_recv() instead of ReadFile(). + * On Unix, user may put a file in h->fd, so we'll have + * to call read() here. + * This may not compile on systems which doesn't have + * read(). That's why we only specify PJ_LINUX here so + * that error is easier to catch. + */ +# if defined(PJ_WIN32) && PJ_WIN32 != 0 || \ + defined(PJ_WIN64) && PJ_WIN64 != 0 || \ + defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE != 0 + rc = pj_sock_recv(h->fd, read_op->buf, &bytes_read, + read_op->flags); + //rc = ReadFile((HANDLE)h->fd, read_op->buf, read_op->size, + // &bytes_read, NULL); +# elif (defined(PJ_HAS_UNISTD_H) && PJ_HAS_UNISTD_H != 0) + bytes_read = read(h->fd, read_op->buf, bytes_read); + rc = (bytes_read >= 0) ? PJ_SUCCESS : pj_get_os_error(); +# elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0 + bytes_read = sys_read(h->fd, read_op->buf, bytes_read); + rc = (bytes_read >= 0) ? PJ_SUCCESS : -bytes_read; +# else +# error "Implement read() for this platform!" +# endif + } + + if (rc != PJ_SUCCESS) { +# if (defined(PJ_WIN32) && PJ_WIN32 != 0) || \ + (defined(PJ_WIN64) && PJ_WIN64 != 0) + /* On Win32, for UDP, WSAECONNRESET on the receive side + * indicates that previous sending has triggered ICMP Port + * Unreachable message. + * But we wouldn't know at this point which one of previous + * key that has triggered the error, since UDP socket can + * be shared! + * So we'll just ignore it! + */ + + if (rc == PJ_STATUS_FROM_OS(WSAECONNRESET)) { + //PJ_LOG(4,(THIS_FILE, + // "Ignored ICMP port unreach. on key=%p", h)); + } +# endif + + /* In any case we would report this to caller. */ + bytes_read = -rc; + +#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 + /* Special treatment for dead UDP sockets here, see ticket #1107 */ + if (rc == PJ_STATUS_FROM_OS(ENOTCONN) && !IS_CLOSING(h) && + h->fd_type==pj_SOCK_DGRAM()) + { + replace_udp_sock(h); + } +#endif + } + + /* Unlock; from this point we don't need to hold key's mutex + * (unless concurrency is disabled, which in this case we should + * hold the mutex while calling the callback) */ + if (h->allow_concurrent) { + /* concurrency may be changed while we're in the callback, so + * save it to a flag. + */ + has_lock = PJ_FALSE; + pj_ioqueue_unlock_key(h); + PJ_RACE_ME(5); + } else { + has_lock = PJ_TRUE; + } + + /* Call callback. */ + if (h->cb.on_read_complete && !IS_CLOSING(h)) { + (*h->cb.on_read_complete)(h, + (pj_ioqueue_op_key_t*)read_op, + bytes_read); + } + + if (has_lock) { + pj_ioqueue_unlock_key(h); + } + + } else { + /* + * This is normal; execution may fall here when multiple threads + * are signalled for the same event, but only one thread eventually + * able to process the event. + */ + pj_ioqueue_unlock_key(h); + } +} + + +void ioqueue_dispatch_exception_event( pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *h ) +{ + pj_bool_t has_lock; + + pj_ioqueue_lock_key(h); + + if (!h->connecting) { + /* It is possible that more than one thread was woken up, thus + * the remaining thread will see h->connecting as zero because + * it has been processed by other thread. + */ + pj_ioqueue_unlock_key(h); + return; + } + + if (IS_CLOSING(h)) { + pj_ioqueue_unlock_key(h); + return; + } + + /* Clear operation. */ + h->connecting = 0; + + ioqueue_remove_from_set(ioqueue, h, WRITEABLE_EVENT); + ioqueue_remove_from_set(ioqueue, h, EXCEPTION_EVENT); + + /* Unlock; from this point we don't need to hold key's mutex + * (unless concurrency is disabled, which in this case we should + * hold the mutex while calling the callback) */ + if (h->allow_concurrent) { + /* concurrency may be changed while we're in the callback, so + * save it to a flag. + */ + has_lock = PJ_FALSE; + pj_ioqueue_unlock_key(h); + PJ_RACE_ME(5); + } else { + has_lock = PJ_TRUE; + } + + /* Call callback. */ + if (h->cb.on_connect_complete && !IS_CLOSING(h)) { + pj_status_t status = -1; +#if (defined(PJ_HAS_SO_ERROR) && PJ_HAS_SO_ERROR!=0) + int value; + int vallen = sizeof(value); + int gs_rc = pj_sock_getsockopt(h->fd, SOL_SOCKET, SO_ERROR, + &value, &vallen); + if (gs_rc == 0) { + status = PJ_RETURN_OS_ERROR(value); + } +#endif + + (*h->cb.on_connect_complete)(h, status); + } + + if (has_lock) { + pj_ioqueue_unlock_key(h); + } +} + +/* + * pj_ioqueue_recv() + * + * Start asynchronous recv() from the socket. + */ +PJ_DEF(pj_status_t) pj_ioqueue_recv( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + void *buffer, + pj_ssize_t *length, + unsigned flags ) +{ + struct read_operation *read_op; + + PJ_ASSERT_RETURN(key && op_key && buffer && length, PJ_EINVAL); + PJ_CHECK_STACK(); + + /* Check if key is closing (need to do this first before accessing + * other variables, since they might have been destroyed. See ticket + * #469). + */ + if (IS_CLOSING(key)) + return PJ_ECANCELLED; + + read_op = (struct read_operation*)op_key; + read_op->op = PJ_IOQUEUE_OP_NONE; + + /* Try to see if there's data immediately available. + */ + if ((flags & PJ_IOQUEUE_ALWAYS_ASYNC) == 0) { + pj_status_t status; + pj_ssize_t size; + + size = *length; + status = pj_sock_recv(key->fd, buffer, &size, flags); + if (status == PJ_SUCCESS) { + /* Yes! Data is available! */ + *length = size; + return PJ_SUCCESS; + } else { + /* If error is not EWOULDBLOCK (or EAGAIN on Linux), report + * the error to caller. + */ + if (status != PJ_STATUS_FROM_OS(PJ_BLOCKING_ERROR_VAL)) + return status; + } + } + + flags &= ~(PJ_IOQUEUE_ALWAYS_ASYNC); + + /* + * No data is immediately available. + * Must schedule asynchronous operation to the ioqueue. + */ + read_op->op = PJ_IOQUEUE_OP_RECV; + read_op->buf = buffer; + read_op->size = *length; + read_op->flags = flags; + + pj_ioqueue_lock_key(key); + /* Check again. Handle may have been closed after the previous check + * in multithreaded app. If we add bad handle to the set it will + * corrupt the ioqueue set. See #913 + */ + if (IS_CLOSING(key)) { + pj_ioqueue_unlock_key(key); + return PJ_ECANCELLED; + } + pj_list_insert_before(&key->read_list, read_op); + ioqueue_add_to_set(key->ioqueue, key, READABLE_EVENT); + pj_ioqueue_unlock_key(key); + + return PJ_EPENDING; +} + +/* + * pj_ioqueue_recvfrom() + * + * Start asynchronous recvfrom() from the socket. + */ +PJ_DEF(pj_status_t) pj_ioqueue_recvfrom( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + void *buffer, + pj_ssize_t *length, + unsigned flags, + pj_sockaddr_t *addr, + int *addrlen) +{ + struct read_operation *read_op; + + PJ_ASSERT_RETURN(key && op_key && buffer && length, PJ_EINVAL); + PJ_CHECK_STACK(); + + /* Check if key is closing. */ + if (IS_CLOSING(key)) + return PJ_ECANCELLED; + + read_op = (struct read_operation*)op_key; + read_op->op = PJ_IOQUEUE_OP_NONE; + + /* Try to see if there's data immediately available. + */ + if ((flags & PJ_IOQUEUE_ALWAYS_ASYNC) == 0) { + pj_status_t status; + pj_ssize_t size; + + size = *length; + status = pj_sock_recvfrom(key->fd, buffer, &size, flags, + addr, addrlen); + if (status == PJ_SUCCESS) { + /* Yes! Data is available! */ + *length = size; + return PJ_SUCCESS; + } else { + /* If error is not EWOULDBLOCK (or EAGAIN on Linux), report + * the error to caller. + */ + if (status != PJ_STATUS_FROM_OS(PJ_BLOCKING_ERROR_VAL)) + return status; + } + } + + flags &= ~(PJ_IOQUEUE_ALWAYS_ASYNC); + + /* + * No data is immediately available. + * Must schedule asynchronous operation to the ioqueue. + */ + read_op->op = PJ_IOQUEUE_OP_RECV_FROM; + read_op->buf = buffer; + read_op->size = *length; + read_op->flags = flags; + read_op->rmt_addr = addr; + read_op->rmt_addrlen = addrlen; + + pj_ioqueue_lock_key(key); + /* Check again. Handle may have been closed after the previous check + * in multithreaded app. If we add bad handle to the set it will + * corrupt the ioqueue set. See #913 + */ + if (IS_CLOSING(key)) { + pj_ioqueue_unlock_key(key); + return PJ_ECANCELLED; + } + pj_list_insert_before(&key->read_list, read_op); + ioqueue_add_to_set(key->ioqueue, key, READABLE_EVENT); + pj_ioqueue_unlock_key(key); + + return PJ_EPENDING; +} + +/* + * pj_ioqueue_send() + * + * Start asynchronous send() to the descriptor. + */ +PJ_DEF(pj_status_t) pj_ioqueue_send( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + const void *data, + pj_ssize_t *length, + unsigned flags) +{ + struct write_operation *write_op; + pj_status_t status; + unsigned retry; + pj_ssize_t sent; + + PJ_ASSERT_RETURN(key && op_key && data && length, PJ_EINVAL); + PJ_CHECK_STACK(); + + /* Check if key is closing. */ + if (IS_CLOSING(key)) + return PJ_ECANCELLED; + + /* We can not use PJ_IOQUEUE_ALWAYS_ASYNC for socket write. */ + flags &= ~(PJ_IOQUEUE_ALWAYS_ASYNC); + + /* Fast track: + * Try to send data immediately, only if there's no pending write! + * Note: + * We are speculating that the list is empty here without properly + * acquiring ioqueue's mutex first. This is intentional, to maximize + * performance via parallelism. + * + * This should be safe, because: + * - by convention, we require caller to make sure that the + * key is not unregistered while other threads are invoking + * an operation on the same key. + * - pj_list_empty() is safe to be invoked by multiple threads, + * even when other threads are modifying the list. + */ + if (pj_list_empty(&key->write_list)) { + /* + * See if data can be sent immediately. + */ + sent = *length; + status = pj_sock_send(key->fd, data, &sent, flags); + if (status == PJ_SUCCESS) { + /* Success! */ + *length = sent; + return PJ_SUCCESS; + } else { + /* If error is not EWOULDBLOCK (or EAGAIN on Linux), report + * the error to caller. + */ + if (status != PJ_STATUS_FROM_OS(PJ_BLOCKING_ERROR_VAL)) { + return status; + } + } + } + + /* + * Schedule asynchronous send. + */ + write_op = (struct write_operation*)op_key; + + /* Spin if write_op has pending operation */ + for (retry=0; write_op->op != 0 && retryop) { + /* Unable to send packet because there is already pending write in the + * write_op. We could not put the operation into the write_op + * because write_op already contains a pending operation! And + * we could not send the packet directly with send() either, + * because that will break the order of the packet. So we can + * only return error here. + * + * This could happen for example in multithreads program, + * where polling is done by one thread, while other threads are doing + * the sending only. If the polling thread runs on lower priority + * than the sending thread, then it's possible that the pending + * write flag is not cleared in-time because clearing is only done + * during polling. + * + * Aplication should specify multiple write operation keys on + * situation like this. + */ + //pj_assert(!"ioqueue: there is pending operation on this key!"); + return PJ_EBUSY; + } + + write_op->op = PJ_IOQUEUE_OP_SEND; + write_op->buf = (char*)data; + write_op->size = *length; + write_op->written = 0; + write_op->flags = flags; + + pj_ioqueue_lock_key(key); + /* Check again. Handle may have been closed after the previous check + * in multithreaded app. If we add bad handle to the set it will + * corrupt the ioqueue set. See #913 + */ + if (IS_CLOSING(key)) { + pj_ioqueue_unlock_key(key); + return PJ_ECANCELLED; + } + pj_list_insert_before(&key->write_list, write_op); + ioqueue_add_to_set(key->ioqueue, key, WRITEABLE_EVENT); + pj_ioqueue_unlock_key(key); + + return PJ_EPENDING; +} + + +/* + * pj_ioqueue_sendto() + * + * Start asynchronous write() to the descriptor. + */ +PJ_DEF(pj_status_t) pj_ioqueue_sendto( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + const void *data, + pj_ssize_t *length, + pj_uint32_t flags, + const pj_sockaddr_t *addr, + int addrlen) +{ + struct write_operation *write_op; + unsigned retry; + pj_bool_t restart_retry = PJ_FALSE; + pj_status_t status; + pj_ssize_t sent; + + PJ_ASSERT_RETURN(key && op_key && data && length, PJ_EINVAL); + PJ_CHECK_STACK(); + +#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 +retry_on_restart: +#else + PJ_UNUSED_ARG(restart_retry); +#endif + /* Check if key is closing. */ + if (IS_CLOSING(key)) + return PJ_ECANCELLED; + + /* We can not use PJ_IOQUEUE_ALWAYS_ASYNC for socket write */ + flags &= ~(PJ_IOQUEUE_ALWAYS_ASYNC); + + /* Fast track: + * Try to send data immediately, only if there's no pending write! + * Note: + * We are speculating that the list is empty here without properly + * acquiring ioqueue's mutex first. This is intentional, to maximize + * performance via parallelism. + * + * This should be safe, because: + * - by convention, we require caller to make sure that the + * key is not unregistered while other threads are invoking + * an operation on the same key. + * - pj_list_empty() is safe to be invoked by multiple threads, + * even when other threads are modifying the list. + */ + if (pj_list_empty(&key->write_list)) { + /* + * See if data can be sent immediately. + */ + sent = *length; + status = pj_sock_sendto(key->fd, data, &sent, flags, addr, addrlen); + if (status == PJ_SUCCESS) { + /* Success! */ + *length = sent; + return PJ_SUCCESS; + } else { + /* If error is not EWOULDBLOCK (or EAGAIN on Linux), report + * the error to caller. + */ + if (status != PJ_STATUS_FROM_OS(PJ_BLOCKING_ERROR_VAL)) { +#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 + /* Special treatment for dead UDP sockets here, see ticket #1107 */ + if (status==PJ_STATUS_FROM_OS(EPIPE) && !IS_CLOSING(key) && + key->fd_type==pj_SOCK_DGRAM() && !restart_retry) + { + PJ_PERROR(4,(THIS_FILE, status, + "Send error for socket %d, retrying", + key->fd)); + replace_udp_sock(key); + restart_retry = PJ_TRUE; + goto retry_on_restart; + } +#endif + + return status; + } + } + } + + /* + * Check that address storage can hold the address parameter. + */ + PJ_ASSERT_RETURN(addrlen <= (int)sizeof(pj_sockaddr_in), PJ_EBUG); + + /* + * Schedule asynchronous send. + */ + write_op = (struct write_operation*)op_key; + + /* Spin if write_op has pending operation */ + for (retry=0; write_op->op != 0 && retryop) { + /* Unable to send packet because there is already pending write on the + * write_op. We could not put the operation into the write_op + * because write_op already contains a pending operation! And + * we could not send the packet directly with sendto() either, + * because that will break the order of the packet. So we can + * only return error here. + * + * This could happen for example in multithreads program, + * where polling is done by one thread, while other threads are doing + * the sending only. If the polling thread runs on lower priority + * than the sending thread, then it's possible that the pending + * write flag is not cleared in-time because clearing is only done + * during polling. + * + * Aplication should specify multiple write operation keys on + * situation like this. + */ + //pj_assert(!"ioqueue: there is pending operation on this key!"); + return PJ_EBUSY; + } + + write_op->op = PJ_IOQUEUE_OP_SEND_TO; + write_op->buf = (char*)data; + write_op->size = *length; + write_op->written = 0; + write_op->flags = flags; + pj_memcpy(&write_op->rmt_addr, addr, addrlen); + write_op->rmt_addrlen = addrlen; + + pj_ioqueue_lock_key(key); + /* Check again. Handle may have been closed after the previous check + * in multithreaded app. If we add bad handle to the set it will + * corrupt the ioqueue set. See #913 + */ + if (IS_CLOSING(key)) { + pj_ioqueue_unlock_key(key); + return PJ_ECANCELLED; + } + pj_list_insert_before(&key->write_list, write_op); + ioqueue_add_to_set(key->ioqueue, key, WRITEABLE_EVENT); + pj_ioqueue_unlock_key(key); + + return PJ_EPENDING; +} + +#if PJ_HAS_TCP +/* + * Initiate overlapped accept() operation. + */ +PJ_DEF(pj_status_t) pj_ioqueue_accept( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_sock_t *new_sock, + pj_sockaddr_t *local, + pj_sockaddr_t *remote, + int *addrlen) +{ + struct accept_operation *accept_op; + pj_status_t status; + + /* check parameters. All must be specified! */ + PJ_ASSERT_RETURN(key && op_key && new_sock, PJ_EINVAL); + + /* Check if key is closing. */ + if (IS_CLOSING(key)) + return PJ_ECANCELLED; + + accept_op = (struct accept_operation*)op_key; + accept_op->op = PJ_IOQUEUE_OP_NONE; + + /* Fast track: + * See if there's new connection available immediately. + */ + if (pj_list_empty(&key->accept_list)) { + status = pj_sock_accept(key->fd, new_sock, remote, addrlen); + if (status == PJ_SUCCESS) { + /* Yes! New connection is available! */ + if (local && addrlen) { + status = pj_sock_getsockname(*new_sock, local, addrlen); + if (status != PJ_SUCCESS) { + pj_sock_close(*new_sock); + *new_sock = PJ_INVALID_SOCKET; + return status; + } + } + return PJ_SUCCESS; + } else { + /* If error is not EWOULDBLOCK (or EAGAIN on Linux), report + * the error to caller. + */ + if (status != PJ_STATUS_FROM_OS(PJ_BLOCKING_ERROR_VAL)) { + return status; + } + } + } + + /* + * No connection is available immediately. + * Schedule accept() operation to be completed when there is incoming + * connection available. + */ + accept_op->op = PJ_IOQUEUE_OP_ACCEPT; + accept_op->accept_fd = new_sock; + accept_op->rmt_addr = remote; + accept_op->addrlen= addrlen; + accept_op->local_addr = local; + + pj_ioqueue_lock_key(key); + /* Check again. Handle may have been closed after the previous check + * in multithreaded app. If we add bad handle to the set it will + * corrupt the ioqueue set. See #913 + */ + if (IS_CLOSING(key)) { + pj_ioqueue_unlock_key(key); + return PJ_ECANCELLED; + } + pj_list_insert_before(&key->accept_list, accept_op); + ioqueue_add_to_set(key->ioqueue, key, READABLE_EVENT); + pj_ioqueue_unlock_key(key); + + return PJ_EPENDING; +} + +/* + * Initiate overlapped connect() operation (well, it's non-blocking actually, + * since there's no overlapped version of connect()). + */ +PJ_DEF(pj_status_t) pj_ioqueue_connect( pj_ioqueue_key_t *key, + const pj_sockaddr_t *addr, + int addrlen ) +{ + pj_status_t status; + + /* check parameters. All must be specified! */ + PJ_ASSERT_RETURN(key && addr && addrlen, PJ_EINVAL); + + /* Check if key is closing. */ + if (IS_CLOSING(key)) + return PJ_ECANCELLED; + + /* Check if socket has not been marked for connecting */ + if (key->connecting != 0) + return PJ_EPENDING; + + status = pj_sock_connect(key->fd, addr, addrlen); + if (status == PJ_SUCCESS) { + /* Connected! */ + return PJ_SUCCESS; + } else { + if (status == PJ_STATUS_FROM_OS(PJ_BLOCKING_CONNECT_ERROR_VAL)) { + /* Pending! */ + pj_ioqueue_lock_key(key); + /* Check again. Handle may have been closed after the previous + * check in multithreaded app. See #913 + */ + if (IS_CLOSING(key)) { + pj_ioqueue_unlock_key(key); + return PJ_ECANCELLED; + } + key->connecting = PJ_TRUE; + ioqueue_add_to_set(key->ioqueue, key, WRITEABLE_EVENT); + ioqueue_add_to_set(key->ioqueue, key, EXCEPTION_EVENT); + pj_ioqueue_unlock_key(key); + return PJ_EPENDING; + } else { + /* Error! */ + return status; + } + } +} +#endif /* PJ_HAS_TCP */ + + +PJ_DEF(void) pj_ioqueue_op_key_init( pj_ioqueue_op_key_t *op_key, + pj_size_t size ) +{ + pj_bzero(op_key, size); +} + + +/* + * pj_ioqueue_is_pending() + */ +PJ_DEF(pj_bool_t) pj_ioqueue_is_pending( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key ) +{ + struct generic_operation *op_rec; + + PJ_UNUSED_ARG(key); + + op_rec = (struct generic_operation*)op_key; + return op_rec->op != 0; +} + + +/* + * pj_ioqueue_post_completion() + */ +PJ_DEF(pj_status_t) pj_ioqueue_post_completion( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_status ) +{ + struct generic_operation *op_rec; + + /* + * Find the operation key in all pending operation list to + * really make sure that it's still there; then call the callback. + */ + pj_ioqueue_lock_key(key); + + /* Find the operation in the pending read list. */ + op_rec = (struct generic_operation*)key->read_list.next; + while (op_rec != (void*)&key->read_list) { + if (op_rec == (void*)op_key) { + pj_list_erase(op_rec); + op_rec->op = PJ_IOQUEUE_OP_NONE; + pj_ioqueue_unlock_key(key); + + (*key->cb.on_read_complete)(key, op_key, bytes_status); + return PJ_SUCCESS; + } + op_rec = op_rec->next; + } + + /* Find the operation in the pending write list. */ + op_rec = (struct generic_operation*)key->write_list.next; + while (op_rec != (void*)&key->write_list) { + if (op_rec == (void*)op_key) { + pj_list_erase(op_rec); + op_rec->op = PJ_IOQUEUE_OP_NONE; + pj_ioqueue_unlock_key(key); + + (*key->cb.on_write_complete)(key, op_key, bytes_status); + return PJ_SUCCESS; + } + op_rec = op_rec->next; + } + + /* Find the operation in the pending accept list. */ + op_rec = (struct generic_operation*)key->accept_list.next; + while (op_rec != (void*)&key->accept_list) { + if (op_rec == (void*)op_key) { + pj_list_erase(op_rec); + op_rec->op = PJ_IOQUEUE_OP_NONE; + pj_ioqueue_unlock_key(key); + + (*key->cb.on_accept_complete)(key, op_key, + PJ_INVALID_SOCKET, + (pj_status_t)bytes_status); + return PJ_SUCCESS; + } + op_rec = op_rec->next; + } + + pj_ioqueue_unlock_key(key); + + return PJ_EINVALIDOP; +} + +PJ_DEF(pj_status_t) pj_ioqueue_set_default_concurrency( pj_ioqueue_t *ioqueue, + pj_bool_t allow) +{ + PJ_ASSERT_RETURN(ioqueue != NULL, PJ_EINVAL); + ioqueue->default_concurrency = allow; + return PJ_SUCCESS; +} + + +PJ_DEF(pj_status_t) pj_ioqueue_set_concurrency(pj_ioqueue_key_t *key, + pj_bool_t allow) +{ + PJ_ASSERT_RETURN(key, PJ_EINVAL); + + /* PJ_IOQUEUE_HAS_SAFE_UNREG must be enabled if concurrency is + * disabled. + */ + PJ_ASSERT_RETURN(allow || PJ_IOQUEUE_HAS_SAFE_UNREG, PJ_EINVAL); + + key->allow_concurrent = allow; + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_ioqueue_lock_key(pj_ioqueue_key_t *key) +{ + if (key->grp_lock) + return pj_grp_lock_acquire(key->grp_lock); + else + return pj_lock_acquire(key->lock); +} + +PJ_DEF(pj_status_t) pj_ioqueue_unlock_key(pj_ioqueue_key_t *key) +{ + if (key->grp_lock) + return pj_grp_lock_release(key->grp_lock); + else + return pj_lock_release(key->lock); +} + + diff --git a/pjlib/src/pj/ioqueue_common_abs.h b/pjlib/src/pj/ioqueue_common_abs.h new file mode 100644 index 0000000..3bdbb52 --- /dev/null +++ b/pjlib/src/pj/ioqueue_common_abs.h @@ -0,0 +1,140 @@ +/* $Id */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* ioqueue_common_abs.h + * + * This file contains private declarations for abstracting various + * event polling/dispatching mechanisms (e.g. select, poll, epoll) + * to the ioqueue. + */ + +#include + +/* + * The select ioqueue relies on socket functions (pj_sock_xxx()) to return + * the correct error code. + */ +#if PJ_RETURN_OS_ERROR(100) != PJ_STATUS_FROM_OS(100) +# error "Proper error reporting must be enabled for ioqueue to work!" +#endif + + +struct generic_operation +{ + PJ_DECL_LIST_MEMBER(struct generic_operation); + pj_ioqueue_operation_e op; +}; + +struct read_operation +{ + PJ_DECL_LIST_MEMBER(struct read_operation); + pj_ioqueue_operation_e op; + + void *buf; + pj_size_t size; + unsigned flags; + pj_sockaddr_t *rmt_addr; + int *rmt_addrlen; +}; + +struct write_operation +{ + PJ_DECL_LIST_MEMBER(struct write_operation); + pj_ioqueue_operation_e op; + + char *buf; + pj_size_t size; + pj_ssize_t written; + unsigned flags; + pj_sockaddr_in rmt_addr; + int rmt_addrlen; +}; + +struct accept_operation +{ + PJ_DECL_LIST_MEMBER(struct accept_operation); + pj_ioqueue_operation_e op; + + pj_sock_t *accept_fd; + pj_sockaddr_t *local_addr; + pj_sockaddr_t *rmt_addr; + int *addrlen; +}; + +union operation_key +{ + struct generic_operation generic; + struct read_operation read; + struct write_operation write; +#if PJ_HAS_TCP + struct accept_operation accept; +#endif +}; + +#if PJ_IOQUEUE_HAS_SAFE_UNREG +# define UNREG_FIELDS \ + unsigned ref_count; \ + pj_bool_t closing; \ + pj_time_val free_time; \ + +#else +# define UNREG_FIELDS +#endif + +#define DECLARE_COMMON_KEY \ + PJ_DECL_LIST_MEMBER(struct pj_ioqueue_key_t); \ + pj_ioqueue_t *ioqueue; \ + pj_grp_lock_t *grp_lock; \ + pj_lock_t *lock; \ + pj_bool_t inside_callback; \ + pj_bool_t destroy_requested; \ + pj_bool_t allow_concurrent; \ + pj_sock_t fd; \ + int fd_type; \ + void *user_data; \ + pj_ioqueue_callback cb; \ + int connecting; \ + struct read_operation read_list; \ + struct write_operation write_list; \ + struct accept_operation accept_list; \ + UNREG_FIELDS + + +#define DECLARE_COMMON_IOQUEUE \ + pj_lock_t *lock; \ + pj_bool_t auto_delete_lock; \ + pj_bool_t default_concurrency; + + +enum ioqueue_event_type +{ + NO_EVENT, + READABLE_EVENT, + WRITEABLE_EVENT, + EXCEPTION_EVENT, +}; + +static void ioqueue_add_to_set( pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *key, + enum ioqueue_event_type event_type ); +static void ioqueue_remove_from_set( pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *key, + enum ioqueue_event_type event_type); + diff --git a/pjlib/src/pj/ioqueue_dummy.c b/pjlib/src/pj/ioqueue_dummy.c new file mode 100644 index 0000000..6ea5bb7 --- /dev/null +++ b/pjlib/src/pj/ioqueue_dummy.c @@ -0,0 +1,194 @@ +/* $Id: ioqueue_dummy.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define THIS_FILE "ioqueue" + +#define PJ_IOQUEUE_IS_READ_OP(op) \ + ((op & PJ_IOQUEUE_OP_READ) || (op & PJ_IOQUEUE_OP_RECV_FROM)) +#define PJ_IOQUEUE_IS_WRITE_OP(op) \ + ((op & PJ_IOQUEUE_OP_WRITE) || (op & PJ_IOQUEUE_OP_SEND_TO)) + + +#if PJ_HAS_TCP +# define PJ_IOQUEUE_IS_ACCEPT_OP(op) (op & PJ_IOQUEUE_OP_ACCEPT) +# define PJ_IOQUEUE_IS_CONNECT_OP(op) (op & PJ_IOQUEUE_OP_CONNECT) +#else +# define PJ_IOQUEUE_IS_ACCEPT_OP(op) 0 +# define PJ_IOQUEUE_IS_CONNECT_OP(op) 0 +#endif + +#if defined(PJ_DEBUG) && PJ_DEBUG != 0 +# define VALIDATE_FD_SET 1 +#else +# define VALIDATE_FD_SET 0 +#endif + +struct pj_ioqueue_key_t +{ + PJ_DECL_LIST_MEMBER(struct pj_ioqueue_key_t) + pj_sock_t fd; + pj_ioqueue_operation_e op; + void *user_data; + pj_ioqueue_callback cb; +}; + +struct pj_ioqueue_t +{ +}; + +PJ_DEF(pj_status_t) pj_ioqueue_create( pj_pool_t *pool, + pj_size_t max_fd, + int max_threads, + pj_ioqueue_t **ptr_ioqueue) +{ + return PJ_ENOTSUP; +} + +PJ_DEF(pj_status_t) pj_ioqueue_destroy(pj_ioqueue_t *ioque) +{ + return PJ_ENOTSUP; +} + +PJ_DEF(pj_status_t) pj_ioqueue_set_lock( pj_ioqueue_t *ioque, + pj_lock_t *lock, + pj_bool_t auto_delete ) +{ + return PJ_ENOTSUP; +} + +PJ_DEF(pj_status_t) pj_ioqueue_register_sock( pj_pool_t *pool, + pj_ioqueue_t *ioque, + pj_sock_t sock, + void *user_data, + const pj_ioqueue_callback *cb, + pj_ioqueue_key_t **ptr_key) +{ + return PJ_ENOTSUP; +} + +PJ_DEF(pj_status_t) pj_ioqueue_unregister( pj_ioqueue_t *ioque, + pj_ioqueue_key_t *key) +{ + return PJ_ENOTSUP; +} + +PJ_DEF(void*) pj_ioqueue_get_user_data( pj_ioqueue_key_t *key ) +{ + return NULL; +} + + +PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioque, const pj_time_val *timeout) +{ + return -1; +} + +PJ_DEF(pj_status_t) pj_ioqueue_read( pj_ioqueue_t *ioque, + pj_ioqueue_key_t *key, + void *buffer, + pj_size_t buflen) +{ + return -1; +} + +PJ_DEF(pj_status_t) pj_ioqueue_recv( pj_ioqueue_t *ioque, + pj_ioqueue_key_t *key, + void *buffer, + pj_size_t buflen, + unsigned flags) +{ + return -1; +} + +PJ_DEF(pj_status_t) pj_ioqueue_recvfrom( pj_ioqueue_t *ioque, + pj_ioqueue_key_t *key, + void *buffer, + pj_size_t buflen, + unsigned flags, + pj_sockaddr_t *addr, + int *addrlen) +{ + return -1; +} + +PJ_DEF(pj_status_t) pj_ioqueue_write( pj_ioqueue_t *ioque, + pj_ioqueue_key_t *key, + const void *data, + pj_size_t datalen) +{ + return -1; +} + +PJ_DEF(pj_status_t) pj_ioqueue_send( pj_ioqueue_t *ioque, + pj_ioqueue_key_t *key, + const void *data, + pj_size_t datalen, + unsigned flags) +{ + return -1; +} + +PJ_DEF(pj_status_t) pj_ioqueue_sendto( pj_ioqueue_t *ioque, + pj_ioqueue_key_t *key, + const void *data, + pj_size_t datalen, + unsigned flags, + const pj_sockaddr_t *addr, + int addrlen) +{ + return -1; +} + +#if PJ_HAS_TCP +/* + * Initiate overlapped accept() operation. + */ +PJ_DEF(pj_status_t) pj_ioqueue_accept( pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *key, + pj_sock_t *new_sock, + pj_sockaddr_t *local, + pj_sockaddr_t *remote, + int *addrlen) +{ + return -1; +} + +/* + * Initiate overlapped connect() operation (well, it's non-blocking actually, + * since there's no overlapped version of connect()). + */ +PJ_DEF(pj_status_t) pj_ioqueue_connect( pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *key, + const pj_sockaddr_t *addr, + int addrlen ) +{ + return -1; +} +#endif /* PJ_HAS_TCP */ + diff --git a/pjlib/src/pj/ioqueue_epoll.c b/pjlib/src/pj/ioqueue_epoll.c new file mode 100644 index 0000000..85186dd --- /dev/null +++ b/pjlib/src/pj/ioqueue_epoll.c @@ -0,0 +1,825 @@ +/* $Id: ioqueue_epoll.c 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +/* + * ioqueue_epoll.c + * + * This is the implementation of IOQueue framework using /dev/epoll + * API in _both_ Linux user-mode and kernel-mode. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(PJ_LINUX_KERNEL) || PJ_LINUX_KERNEL==0 + /* + * Linux user mode + */ +# include +# include +# include + +# define epoll_data data.ptr +# define epoll_data_type void* +# define ioctl_val_type unsigned long +# define getsockopt_val_ptr int* +# define os_getsockopt getsockopt +# define os_ioctl ioctl +# define os_read read +# define os_close close +# define os_epoll_create epoll_create +# define os_epoll_ctl epoll_ctl +# define os_epoll_wait epoll_wait +#else + /* + * Linux kernel mode. + */ +# include +# include +# if defined(MODVERSIONS) +# include +# endif +# include +# include +# include +# include +# include +# include +# include + enum EPOLL_EVENTS + { + EPOLLIN = 0x001, + EPOLLOUT = 0x004, + EPOLLERR = 0x008, + }; +# define os_epoll_create sys_epoll_create + static int os_epoll_ctl(int epfd, int op, int fd, struct epoll_event *event) + { + long rc; + mm_segment_t oldfs = get_fs(); + set_fs(KERNEL_DS); + rc = sys_epoll_ctl(epfd, op, fd, event); + set_fs(oldfs); + if (rc) { + errno = -rc; + return -1; + } else { + return 0; + } + } + static int os_epoll_wait(int epfd, struct epoll_event *events, + int maxevents, int timeout) + { + int count; + mm_segment_t oldfs = get_fs(); + set_fs(KERNEL_DS); + count = sys_epoll_wait(epfd, events, maxevents, timeout); + set_fs(oldfs); + return count; + } +# define os_close sys_close +# define os_getsockopt pj_sock_getsockopt + static int os_read(int fd, void *buf, size_t len) + { + long rc; + mm_segment_t oldfs = get_fs(); + set_fs(KERNEL_DS); + rc = sys_read(fd, buf, len); + set_fs(oldfs); + if (rc) { + errno = -rc; + return -1; + } else { + return 0; + } + } +# define socklen_t unsigned +# define ioctl_val_type unsigned long + int ioctl(int fd, int opt, ioctl_val_type value); + static int os_ioctl(int fd, int opt, ioctl_val_type value) + { + int rc; + mm_segment_t oldfs = get_fs(); + set_fs(KERNEL_DS); + rc = ioctl(fd, opt, value); + set_fs(oldfs); + if (rc < 0) { + errno = -rc; + return rc; + } else + return rc; + } +# define getsockopt_val_ptr char* + +# define epoll_data data +# define epoll_data_type __u32 +#endif + +#define THIS_FILE "ioq_epoll" + +//#define TRACE_(expr) PJ_LOG(3,expr) +#define TRACE_(expr) + +/* + * Include common ioqueue abstraction. + */ +#include "ioqueue_common_abs.h" + +/* + * This describes each key. + */ +struct pj_ioqueue_key_t +{ + DECLARE_COMMON_KEY +}; + +struct queue +{ + pj_ioqueue_key_t *key; + enum ioqueue_event_type event_type; +}; + +/* + * This describes the I/O queue. + */ +struct pj_ioqueue_t +{ + DECLARE_COMMON_IOQUEUE + + unsigned max, count; + //pj_ioqueue_key_t hlist; + pj_ioqueue_key_t active_list; + int epfd; + //struct epoll_event *events; + //struct queue *queue; + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + pj_mutex_t *ref_cnt_mutex; + pj_ioqueue_key_t closing_list; + pj_ioqueue_key_t free_list; +#endif +}; + +/* Include implementation for common abstraction after we declare + * pj_ioqueue_key_t and pj_ioqueue_t. + */ +#include "ioqueue_common_abs.c" + +#if PJ_IOQUEUE_HAS_SAFE_UNREG +/* Scan closing keys to be put to free list again */ +static void scan_closing_keys(pj_ioqueue_t *ioqueue); +#endif + +/* + * pj_ioqueue_name() + */ +PJ_DEF(const char*) pj_ioqueue_name(void) +{ +#if defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL!=0 + return "epoll-kernel"; +#else + return "epoll"; +#endif +} + +/* + * pj_ioqueue_create() + * + * Create select ioqueue. + */ +PJ_DEF(pj_status_t) pj_ioqueue_create( pj_pool_t *pool, + pj_size_t max_fd, + pj_ioqueue_t **p_ioqueue) +{ + pj_ioqueue_t *ioqueue; + pj_status_t rc; + pj_lock_t *lock; + int i; + + /* Check that arguments are valid. */ + PJ_ASSERT_RETURN(pool != NULL && p_ioqueue != NULL && + max_fd > 0, PJ_EINVAL); + + /* Check that size of pj_ioqueue_op_key_t is sufficient */ + PJ_ASSERT_RETURN(sizeof(pj_ioqueue_op_key_t)-sizeof(void*) >= + sizeof(union operation_key), PJ_EBUG); + + ioqueue = pj_pool_alloc(pool, sizeof(pj_ioqueue_t)); + + ioqueue_init(ioqueue); + + ioqueue->max = max_fd; + ioqueue->count = 0; + pj_list_init(&ioqueue->active_list); + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* When safe unregistration is used (the default), we pre-create + * all keys and put them in the free list. + */ + + /* Mutex to protect key's reference counter + * We don't want to use key's mutex or ioqueue's mutex because + * that would create deadlock situation in some cases. + */ + rc = pj_mutex_create_simple(pool, NULL, &ioqueue->ref_cnt_mutex); + if (rc != PJ_SUCCESS) + return rc; + + + /* Init key list */ + pj_list_init(&ioqueue->free_list); + pj_list_init(&ioqueue->closing_list); + + + /* Pre-create all keys according to max_fd */ + for ( i=0; iref_count = 0; + rc = pj_lock_create_recursive_mutex(pool, NULL, &key->lock); + if (rc != PJ_SUCCESS) { + key = ioqueue->free_list.next; + while (key != &ioqueue->free_list) { + pj_lock_destroy(key->lock); + key = key->next; + } + pj_mutex_destroy(ioqueue->ref_cnt_mutex); + return rc; + } + + pj_list_push_back(&ioqueue->free_list, key); + } +#endif + + rc = pj_lock_create_simple_mutex(pool, "ioq%p", &lock); + if (rc != PJ_SUCCESS) + return rc; + + rc = pj_ioqueue_set_lock(ioqueue, lock, PJ_TRUE); + if (rc != PJ_SUCCESS) + return rc; + + ioqueue->epfd = os_epoll_create(max_fd); + if (ioqueue->epfd < 0) { + ioqueue_destroy(ioqueue); + return PJ_RETURN_OS_ERROR(pj_get_native_os_error()); + } + + /*ioqueue->events = pj_pool_calloc(pool, max_fd, sizeof(struct epoll_event)); + PJ_ASSERT_RETURN(ioqueue->events != NULL, PJ_ENOMEM); + + ioqueue->queue = pj_pool_calloc(pool, max_fd, sizeof(struct queue)); + PJ_ASSERT_RETURN(ioqueue->queue != NULL, PJ_ENOMEM); + */ + PJ_LOG(4, ("pjlib", "epoll I/O Queue created (%p)", ioqueue)); + + *p_ioqueue = ioqueue; + return PJ_SUCCESS; +} + +/* + * pj_ioqueue_destroy() + * + * Destroy ioqueue. + */ +PJ_DEF(pj_status_t) pj_ioqueue_destroy(pj_ioqueue_t *ioqueue) +{ + pj_ioqueue_key_t *key; + + PJ_ASSERT_RETURN(ioqueue, PJ_EINVAL); + PJ_ASSERT_RETURN(ioqueue->epfd > 0, PJ_EINVALIDOP); + + pj_lock_acquire(ioqueue->lock); + os_close(ioqueue->epfd); + ioqueue->epfd = 0; + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Destroy reference counters */ + key = ioqueue->active_list.next; + while (key != &ioqueue->active_list) { + pj_lock_destroy(key->lock); + key = key->next; + } + + key = ioqueue->closing_list.next; + while (key != &ioqueue->closing_list) { + pj_lock_destroy(key->lock); + key = key->next; + } + + key = ioqueue->free_list.next; + while (key != &ioqueue->free_list) { + pj_lock_destroy(key->lock); + key = key->next; + } + + pj_mutex_destroy(ioqueue->ref_cnt_mutex); +#endif + return ioqueue_destroy(ioqueue); +} + +/* + * pj_ioqueue_register_sock() + * + * Register a socket to ioqueue. + */ +PJ_DEF(pj_status_t) pj_ioqueue_register_sock2(pj_pool_t *pool, + pj_ioqueue_t *ioqueue, + pj_sock_t sock, + pj_grp_lock_t *grp_lock, + void *user_data, + const pj_ioqueue_callback *cb, + pj_ioqueue_key_t **p_key) +{ + pj_ioqueue_key_t *key = NULL; + pj_uint32_t value; + struct epoll_event ev; + int status; + pj_status_t rc = PJ_SUCCESS; + + PJ_ASSERT_RETURN(pool && ioqueue && sock != PJ_INVALID_SOCKET && + cb && p_key, PJ_EINVAL); + + pj_lock_acquire(ioqueue->lock); + + if (ioqueue->count >= ioqueue->max) { + rc = PJ_ETOOMANY; + TRACE_((THIS_FILE, "pj_ioqueue_register_sock error: too many files")); + goto on_return; + } + + /* Set socket to nonblocking. */ + value = 1; + if ((rc=os_ioctl(sock, FIONBIO, (ioctl_val_type)&value))) { + TRACE_((THIS_FILE, "pj_ioqueue_register_sock error: ioctl rc=%d", + rc)); + rc = pj_get_netos_error(); + goto on_return; + } + + /* If safe unregistration (PJ_IOQUEUE_HAS_SAFE_UNREG) is used, get + * the key from the free list. Otherwise allocate a new one. + */ +#if PJ_IOQUEUE_HAS_SAFE_UNREG + + /* Scan closing_keys first to let them come back to free_list */ + scan_closing_keys(ioqueue); + + pj_assert(!pj_list_empty(&ioqueue->free_list)); + if (pj_list_empty(&ioqueue->free_list)) { + rc = PJ_ETOOMANY; + goto on_return; + } + + key = ioqueue->free_list.next; + pj_list_erase(key); +#else + /* Create key. */ + key = (pj_ioqueue_key_t*)pj_pool_zalloc(pool, sizeof(pj_ioqueue_key_t)); +#endif + + rc = ioqueue_init_key(pool, ioqueue, key, sock, grp_lock, user_data, cb); + if (rc != PJ_SUCCESS) { + key = NULL; + goto on_return; + } + + /* Create key's mutex */ + /* rc = pj_mutex_create_recursive(pool, NULL, &key->mutex); + if (rc != PJ_SUCCESS) { + key = NULL; + goto on_return; + } +*/ + /* os_epoll_ctl. */ + ev.events = EPOLLIN | EPOLLERR; + ev.epoll_data = (epoll_data_type)key; + status = os_epoll_ctl(ioqueue->epfd, EPOLL_CTL_ADD, sock, &ev); + if (status < 0) { + rc = pj_get_os_error(); + pj_lock_destroy(key->lock); + key = NULL; + TRACE_((THIS_FILE, + "pj_ioqueue_register_sock error: os_epoll_ctl rc=%d", + status)); + goto on_return; + } + + /* Register */ + pj_list_insert_before(&ioqueue->active_list, key); + ++ioqueue->count; + + //TRACE_((THIS_FILE, "socket registered, count=%d", ioqueue->count)); + +on_return: + if (rc != PJ_SUCCESS) { + if (key && key->grp_lock) + pj_grp_lock_dec_ref_dbg(key->grp_lock, "ioqueue", 0); + } + *p_key = key; + pj_lock_release(ioqueue->lock); + + return rc; +} + +PJ_DEF(pj_status_t) pj_ioqueue_register_sock( pj_pool_t *pool, + pj_ioqueue_t *ioqueue, + pj_sock_t sock, + void *user_data, + const pj_ioqueue_callback *cb, + pj_ioqueue_key_t **p_key) +{ + return pj_ioqueue_register_sock2(pool, ioqueue, sock, NULL, user_data, + cb, p_key); +} + +#if PJ_IOQUEUE_HAS_SAFE_UNREG +/* Increment key's reference counter */ +static void increment_counter(pj_ioqueue_key_t *key) +{ + pj_mutex_lock(key->ioqueue->ref_cnt_mutex); + ++key->ref_count; + pj_mutex_unlock(key->ioqueue->ref_cnt_mutex); +} + +/* Decrement the key's reference counter, and when the counter reach zero, + * destroy the key. + * + * Note: MUST NOT CALL THIS FUNCTION WHILE HOLDING ioqueue's LOCK. + */ +static void decrement_counter(pj_ioqueue_key_t *key) +{ + pj_lock_acquire(key->ioqueue->lock); + pj_mutex_lock(key->ioqueue->ref_cnt_mutex); + --key->ref_count; + if (key->ref_count == 0) { + + pj_assert(key->closing == 1); + pj_gettickcount(&key->free_time); + key->free_time.msec += PJ_IOQUEUE_KEY_FREE_DELAY; + pj_time_val_normalize(&key->free_time); + + pj_list_erase(key); + pj_list_push_back(&key->ioqueue->closing_list, key); + + } + pj_mutex_unlock(key->ioqueue->ref_cnt_mutex); + pj_lock_release(key->ioqueue->lock); +} +#endif + +/* + * pj_ioqueue_unregister() + * + * Unregister handle from ioqueue. + */ +PJ_DEF(pj_status_t) pj_ioqueue_unregister( pj_ioqueue_key_t *key) +{ + pj_ioqueue_t *ioqueue; + struct epoll_event ev; + int status; + + PJ_ASSERT_RETURN(key != NULL, PJ_EINVAL); + + ioqueue = key->ioqueue; + + /* Lock the key to make sure no callback is simultaneously modifying + * the key. We need to lock the key before ioqueue here to prevent + * deadlock. + */ + pj_ioqueue_lock_key(key); + + /* Also lock ioqueue */ + pj_lock_acquire(ioqueue->lock); + + pj_assert(ioqueue->count > 0); + --ioqueue->count; +#if !PJ_IOQUEUE_HAS_SAFE_UNREG + pj_list_erase(key); +#endif + + ev.events = 0; + ev.epoll_data = (epoll_data_type)key; + status = os_epoll_ctl( ioqueue->epfd, EPOLL_CTL_DEL, key->fd, &ev); + if (status != 0) { + pj_status_t rc = pj_get_os_error(); + pj_lock_release(ioqueue->lock); + return rc; + } + + /* Destroy the key. */ + pj_sock_close(key->fd); + + pj_lock_release(ioqueue->lock); + + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Mark key is closing. */ + key->closing = 1; + + /* Decrement counter. */ + decrement_counter(key); + + /* Done. */ + if (key->grp_lock) { + /* just dec_ref and unlock. we will set grp_lock to NULL + * elsewhere */ + pj_grp_lock_t *grp_lock = key->grp_lock; + // Don't set grp_lock to NULL otherwise the other thread + // will crash. Just leave it as dangling pointer, but this + // should be safe + //key->grp_lock = NULL; + pj_grp_lock_dec_ref_dbg(grp_lock, "ioqueue", 0); + pj_grp_lock_release(grp_lock); + } else { + pj_ioqueue_unlock_key(key); + } +#else + if (key->grp_lock) { + /* set grp_lock to NULL and unlock */ + pj_grp_lock_t *grp_lock = key->grp_lock; + // Don't set grp_lock to NULL otherwise the other thread + // will crash. Just leave it as dangling pointer, but this + // should be safe + //key->grp_lock = NULL; + pj_grp_lock_dec_ref_dbg(grp_lock, "ioqueue", 0); + pj_grp_lock_release(grp_lock); + } else { + pj_ioqueue_unlock_key(key); + } + + pj_lock_destroy(key->lock); +#endif + + return PJ_SUCCESS; +} + +/* ioqueue_remove_from_set() + * This function is called from ioqueue_dispatch_event() to instruct + * the ioqueue to remove the specified descriptor from ioqueue's descriptor + * set for the specified event. + */ +static void ioqueue_remove_from_set( pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *key, + enum ioqueue_event_type event_type) +{ + if (event_type == WRITEABLE_EVENT) { + struct epoll_event ev; + + ev.events = EPOLLIN | EPOLLERR; + ev.epoll_data = (epoll_data_type)key; + os_epoll_ctl( ioqueue->epfd, EPOLL_CTL_MOD, key->fd, &ev); + } +} + +/* + * ioqueue_add_to_set() + * This function is called from pj_ioqueue_recv(), pj_ioqueue_send() etc + * to instruct the ioqueue to add the specified handle to ioqueue's descriptor + * set for the specified event. + */ +static void ioqueue_add_to_set( pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *key, + enum ioqueue_event_type event_type ) +{ + if (event_type == WRITEABLE_EVENT) { + struct epoll_event ev; + + ev.events = EPOLLIN | EPOLLOUT | EPOLLERR; + ev.epoll_data = (epoll_data_type)key; + os_epoll_ctl( ioqueue->epfd, EPOLL_CTL_MOD, key->fd, &ev); + } +} + +#if PJ_IOQUEUE_HAS_SAFE_UNREG +/* Scan closing keys to be put to free list again */ +static void scan_closing_keys(pj_ioqueue_t *ioqueue) +{ + pj_time_val now; + pj_ioqueue_key_t *h; + + pj_gettickcount(&now); + h = ioqueue->closing_list.next; + while (h != &ioqueue->closing_list) { + pj_ioqueue_key_t *next = h->next; + + pj_assert(h->closing != 0); + + if (PJ_TIME_VAL_GTE(now, h->free_time)) { + pj_list_erase(h); + // Don't set grp_lock to NULL otherwise the other thread + // will crash. Just leave it as dangling pointer, but this + // should be safe + //h->grp_lock = NULL; + pj_list_push_back(&ioqueue->free_list, h); + } + h = next; + } +} +#endif + +/* + * pj_ioqueue_poll() + * + */ +PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioqueue, const pj_time_val *timeout) +{ + int i, count, processed; + int msec; + //struct epoll_event *events = ioqueue->events; + //struct queue *queue = ioqueue->queue; + struct epoll_event events[PJ_IOQUEUE_MAX_EVENTS_IN_SINGLE_POLL]; + struct queue queue[PJ_IOQUEUE_MAX_EVENTS_IN_SINGLE_POLL]; + pj_timestamp t1, t2; + + PJ_CHECK_STACK(); + + msec = timeout ? PJ_TIME_VAL_MSEC(*timeout) : 9000; + + TRACE_((THIS_FILE, "start os_epoll_wait, msec=%d", msec)); + pj_get_timestamp(&t1); + + //count = os_epoll_wait( ioqueue->epfd, events, ioqueue->max, msec); + count = os_epoll_wait( ioqueue->epfd, events, PJ_IOQUEUE_MAX_EVENTS_IN_SINGLE_POLL, msec); + if (count == 0) { +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Check the closing keys only when there's no activity and when there are + * pending closing keys. + */ + if (count == 0 && !pj_list_empty(&ioqueue->closing_list)) { + pj_lock_acquire(ioqueue->lock); + scan_closing_keys(ioqueue); + pj_lock_release(ioqueue->lock); + } +#endif + TRACE_((THIS_FILE, "os_epoll_wait timed out")); + return count; + } + else if (count < 0) { + TRACE_((THIS_FILE, "os_epoll_wait error")); + return -pj_get_netos_error(); + } + + pj_get_timestamp(&t2); + TRACE_((THIS_FILE, "os_epoll_wait returns %d, time=%d usec", + count, pj_elapsed_usec(&t1, &t2))); + + /* Lock ioqueue. */ + pj_lock_acquire(ioqueue->lock); + + for (processed=0, i=0; iconnecting) && !IS_CLOSING(h)) { + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + increment_counter(h); +#endif + queue[processed].key = h; + queue[processed].event_type = WRITEABLE_EVENT; + ++processed; + continue; + } +#endif /* PJ_HAS_TCP */ + + /* + * Check for error condition. + */ + if ((events[i].events & EPOLLERR) && !IS_CLOSING(h)) { + /* + * We need to handle this exception event. If it's related to us + * connecting, report it as such. If not, just report it as a + * read event and the higher layers will handle it. + */ + if (h->connecting) { +#if PJ_IOQUEUE_HAS_SAFE_UNREG + increment_counter(h); +#endif + queue[processed].key = h; + queue[processed].event_type = EXCEPTION_EVENT; + ++processed; + } else if (key_has_pending_read(h) || key_has_pending_accept(h)) { +#if PJ_IOQUEUE_HAS_SAFE_UNREG + increment_counter(h); +#endif + queue[processed].key = h; + queue[processed].event_type = READABLE_EVENT; + ++processed; + } + continue; + } + } + for (i=0; igrp_lock) + pj_grp_lock_add_ref_dbg(queue[i].key->grp_lock, "ioqueue", 0); + } + + PJ_RACE_ME(5); + + pj_lock_release(ioqueue->lock); + + PJ_RACE_ME(5); + + /* Now process the events. */ + for (i=0; igrp_lock) + pj_grp_lock_dec_ref_dbg(queue[i].key->grp_lock, + "ioqueue", 0); + } + + /* Special case: + * When epoll returns > 0 but no descriptors are actually set! + */ + if (count > 0 && !processed && msec > 0) { + pj_thread_sleep(msec); + } + + pj_get_timestamp(&t1); + TRACE_((THIS_FILE, "ioqueue_poll() returns %d, time=%d usec", + processed, pj_elapsed_usec(&t2, &t1))); + + return processed; +} + diff --git a/pjlib/src/pj/ioqueue_linux_kernel.c b/pjlib/src/pj/ioqueue_linux_kernel.c new file mode 100644 index 0000000..706da06 --- /dev/null +++ b/pjlib/src/pj/ioqueue_linux_kernel.c @@ -0,0 +1,162 @@ +/* $Id: ioqueue_linux_kernel.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include + +#define THIS_FILE "ioqueue" + +#define PJ_IOQUEUE_IS_READ_OP(op) \ + ((op & PJ_IOQUEUE_OP_READ) || (op & PJ_IOQUEUE_OP_RECV_FROM)) +#define PJ_IOQUEUE_IS_WRITE_OP(op) \ + ((op & PJ_IOQUEUE_OP_WRITE) || (op & PJ_IOQUEUE_OP_SEND_TO)) + + +#if PJ_HAS_TCP +# define PJ_IOQUEUE_IS_ACCEPT_OP(op) (op & PJ_IOQUEUE_OP_ACCEPT) +# define PJ_IOQUEUE_IS_CONNECT_OP(op) (op & PJ_IOQUEUE_OP_CONNECT) +#else +# define PJ_IOQUEUE_IS_ACCEPT_OP(op) 0 +# define PJ_IOQUEUE_IS_CONNECT_OP(op) 0 +#endif + +#if defined(PJ_DEBUG) && PJ_DEBUG != 0 +# define VALIDATE_FD_SET 1 +#else +# define VALIDATE_FD_SET 0 +#endif + +struct pj_ioqueue_key_t +{ + PJ_DECL_LIST_MEMBER(struct pj_ioqueue_key_t) + pj_sock_t fd; + pj_ioqueue_operation_e op; + void *user_data; + pj_ioqueue_callback cb; +}; + +struct pj_ioqueue_t +{ +}; + +PJ_DEF(pj_ioqueue_t*) pj_ioqueue_create(pj_pool_t *pool, pj_size_t max_fd) +{ + return NULL; +} + +PJ_DEF(pj_status_t) pj_ioqueue_destroy(pj_ioqueue_t *ioque) +{ + return 0; +} + +PJ_DEF(pj_ioqueue_key_t*) pj_ioqueue_register( pj_pool_t *pool, + pj_ioqueue_t *ioque, + pj_oshandle_t sock, + void *user_data, + const pj_ioqueue_callback *cb) +{ + return NULL; +} + +PJ_DEF(pj_status_t) pj_ioqueue_unregister( pj_ioqueue_t *ioque, + pj_ioqueue_key_t *key) +{ + return -1; +} + +PJ_DEF(void*) pj_ioqueue_get_user_data( pj_ioqueue_key_t *key ) +{ + return NULL; +} + + +PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioque, const pj_time_val *timeout) +{ + return -1; +} + +PJ_DEF(int) pj_ioqueue_read( pj_ioqueue_t *ioque, + pj_ioqueue_key_t *key, + void *buffer, + pj_size_t buflen) +{ + return -1; +} + +PJ_DEF(int) pj_ioqueue_recvfrom( pj_ioqueue_t *ioque, + pj_ioqueue_key_t *key, + void *buffer, + pj_size_t buflen, + pj_sockaddr_t *addr, + int *addrlen) +{ + return -1; +} + +PJ_DEF(int) pj_ioqueue_write( pj_ioqueue_t *ioque, + pj_ioqueue_key_t *key, + const void *data, + pj_size_t datalen) +{ + return -1; +} + +PJ_DEF(int) pj_ioqueue_sendto( pj_ioqueue_t *ioque, + pj_ioqueue_key_t *key, + const void *data, + pj_size_t datalen, + const pj_sockaddr_t *addr, + int addrlen) +{ + return -1; +} + +#if PJ_HAS_TCP +/* + * Initiate overlapped accept() operation. + */ +PJ_DEF(int) pj_ioqueue_accept( pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *key, + pj_sock_t *new_sock, + pj_sockaddr_t *local, + pj_sockaddr_t *remote, + int *addrlen) +{ + return -1; +} + +/* + * Initiate overlapped connect() operation (well, it's non-blocking actually, + * since there's no overlapped version of connect()). + */ +PJ_DEF(pj_status_t) pj_ioqueue_connect( pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *key, + const pj_sockaddr_t *addr, + int addrlen ) +{ + return -1; +} +#endif /* PJ_HAS_TCP */ + diff --git a/pjlib/src/pj/ioqueue_select.c b/pjlib/src/pj/ioqueue_select.c new file mode 100644 index 0000000..4d2f277 --- /dev/null +++ b/pjlib/src/pj/ioqueue_select.c @@ -0,0 +1,991 @@ +/* $Id: ioqueue_select.c 4991 2015-03-06 06:04:21Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * sock_select.c + * + * This is the implementation of IOQueue using pj_sock_select(). + * It runs anywhere where pj_sock_select() is available (currently + * Win32, Linux, Linux kernel, etc.). + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* Now that we have access to OS'es , lets check again that + * PJ_IOQUEUE_MAX_HANDLES is not greater than FD_SETSIZE + */ +#if PJ_IOQUEUE_MAX_HANDLES > FD_SETSIZE +# error "PJ_IOQUEUE_MAX_HANDLES cannot be greater than FD_SETSIZE" +#endif + + +/* + * Include declaration from common abstraction. + */ +#include "ioqueue_common_abs.h" + +/* + * ISSUES with ioqueue_select() + * + * EAGAIN/EWOULDBLOCK error in recv(): + * - when multiple threads are working with the ioqueue, application + * may receive EAGAIN or EWOULDBLOCK in the receive callback. + * This error happens because more than one thread is watching for + * the same descriptor set, so when all of them call recv() or recvfrom() + * simultaneously, only one will succeed and the rest will get the error. + * + */ +#define THIS_FILE "ioq_select" + +/* + * The select ioqueue relies on socket functions (pj_sock_xxx()) to return + * the correct error code. + */ +#if PJ_RETURN_OS_ERROR(100) != PJ_STATUS_FROM_OS(100) +# error "Error reporting must be enabled for this function to work!" +#endif + +/* + * During debugging build, VALIDATE_FD_SET is set. + * This will check the validity of the fd_sets. + */ +/* +#if defined(PJ_DEBUG) && PJ_DEBUG != 0 +# define VALIDATE_FD_SET 1 +#else +# define VALIDATE_FD_SET 0 +#endif +*/ +#define VALIDATE_FD_SET 0 + +#if 0 +# define TRACE__(args) PJ_LOG(3,args) +#else +# define TRACE__(args) +#endif + +/* + * This describes each key. + */ +struct pj_ioqueue_key_t +{ + DECLARE_COMMON_KEY +}; + +/* + * This describes the I/O queue itself. + */ +struct pj_ioqueue_t +{ + DECLARE_COMMON_IOQUEUE + + unsigned max, count; /* Max and current key count */ + int nfds; /* The largest fd value (for select)*/ + pj_ioqueue_key_t active_list; /* List of active keys. */ + pj_fd_set_t rfdset; + pj_fd_set_t wfdset; +#if PJ_HAS_TCP + pj_fd_set_t xfdset; +#endif + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + pj_mutex_t *ref_cnt_mutex; + pj_ioqueue_key_t closing_list; + pj_ioqueue_key_t free_list; +#endif +}; + +/* Proto */ +#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 +static pj_status_t replace_udp_sock(pj_ioqueue_key_t *h); +#endif + +/* Include implementation for common abstraction after we declare + * pj_ioqueue_key_t and pj_ioqueue_t. + */ +#include "ioqueue_common_abs.c" + +#if PJ_IOQUEUE_HAS_SAFE_UNREG +/* Scan closing keys to be put to free list again */ +static void scan_closing_keys(pj_ioqueue_t *ioqueue); +#endif + +/* + * pj_ioqueue_name() + */ +PJ_DEF(const char*) pj_ioqueue_name(void) +{ + return "select"; +} + +/* + * Scan the socket descriptor sets for the largest descriptor. + * This value is needed by select(). + */ +#if defined(PJ_SELECT_NEEDS_NFDS) && PJ_SELECT_NEEDS_NFDS!=0 +static void rescan_fdset(pj_ioqueue_t *ioqueue) +{ + pj_ioqueue_key_t *key = ioqueue->active_list.next; + int max = 0; + + while (key != &ioqueue->active_list) { + if (key->fd > max) + max = key->fd; + key = key->next; + } + + ioqueue->nfds = max; +} +#else +static void rescan_fdset(pj_ioqueue_t *ioqueue) +{ + ioqueue->nfds = FD_SETSIZE-1; +} +#endif + + +/* + * pj_ioqueue_create() + * + * Create select ioqueue. + */ +PJ_DEF(pj_status_t) pj_ioqueue_create( pj_pool_t *pool, + pj_size_t max_fd, + pj_ioqueue_t **p_ioqueue) +{ + pj_ioqueue_t *ioqueue; + pj_lock_t *lock; + unsigned i; + pj_status_t rc; + + /* Check that arguments are valid. */ + PJ_ASSERT_RETURN(pool != NULL && p_ioqueue != NULL && + max_fd > 0 && max_fd <= PJ_IOQUEUE_MAX_HANDLES, + PJ_EINVAL); + + /* Check that size of pj_ioqueue_op_key_t is sufficient */ + PJ_ASSERT_RETURN(sizeof(pj_ioqueue_op_key_t)-sizeof(void*) >= + sizeof(union operation_key), PJ_EBUG); + + /* Create and init common ioqueue stuffs */ + ioqueue = PJ_POOL_ALLOC_T(pool, pj_ioqueue_t); + ioqueue_init(ioqueue); + + ioqueue->max = (unsigned)max_fd; + ioqueue->count = 0; + PJ_FD_ZERO(&ioqueue->rfdset); + PJ_FD_ZERO(&ioqueue->wfdset); +#if PJ_HAS_TCP + PJ_FD_ZERO(&ioqueue->xfdset); +#endif + pj_list_init(&ioqueue->active_list); + + rescan_fdset(ioqueue); + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* When safe unregistration is used (the default), we pre-create + * all keys and put them in the free list. + */ + + /* Mutex to protect key's reference counter + * We don't want to use key's mutex or ioqueue's mutex because + * that would create deadlock situation in some cases. + */ + rc = pj_mutex_create_simple(pool, NULL, &ioqueue->ref_cnt_mutex); + if (rc != PJ_SUCCESS) + return rc; + + + /* Init key list */ + pj_list_init(&ioqueue->free_list); + pj_list_init(&ioqueue->closing_list); + + + /* Pre-create all keys according to max_fd */ + for (i=0; iref_count = 0; + rc = pj_lock_create_recursive_mutex(pool, NULL, &key->lock); + if (rc != PJ_SUCCESS) { + key = ioqueue->free_list.next; + while (key != &ioqueue->free_list) { + pj_lock_destroy(key->lock); + key = key->next; + } + pj_mutex_destroy(ioqueue->ref_cnt_mutex); + return rc; + } + + pj_list_push_back(&ioqueue->free_list, key); + } +#endif + + /* Create and init ioqueue mutex */ + rc = pj_lock_create_simple_mutex(pool, "ioq%p", &lock); + if (rc != PJ_SUCCESS) + return rc; + + rc = pj_ioqueue_set_lock(ioqueue, lock, PJ_TRUE); + if (rc != PJ_SUCCESS) + return rc; + + PJ_LOG(4, ("pjlib", "select() I/O Queue created (%p)", ioqueue)); + + *p_ioqueue = ioqueue; + return PJ_SUCCESS; +} + +/* + * pj_ioqueue_destroy() + * + * Destroy ioqueue. + */ +PJ_DEF(pj_status_t) pj_ioqueue_destroy(pj_ioqueue_t *ioqueue) +{ + pj_ioqueue_key_t *key; + + PJ_ASSERT_RETURN(ioqueue, PJ_EINVAL); + + pj_lock_acquire(ioqueue->lock); + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Destroy reference counters */ + key = ioqueue->active_list.next; + while (key != &ioqueue->active_list) { + pj_lock_destroy(key->lock); + key = key->next; + } + + key = ioqueue->closing_list.next; + while (key != &ioqueue->closing_list) { + pj_lock_destroy(key->lock); + key = key->next; + } + + key = ioqueue->free_list.next; + while (key != &ioqueue->free_list) { + pj_lock_destroy(key->lock); + key = key->next; + } + + pj_mutex_destroy(ioqueue->ref_cnt_mutex); +#endif + + return ioqueue_destroy(ioqueue); +} + + +/* + * pj_ioqueue_register_sock() + * + * Register socket handle to ioqueue. + */ +PJ_DEF(pj_status_t) pj_ioqueue_register_sock2(pj_pool_t *pool, + pj_ioqueue_t *ioqueue, + pj_sock_t sock, + pj_grp_lock_t *grp_lock, + void *user_data, + const pj_ioqueue_callback *cb, + pj_ioqueue_key_t **p_key) +{ + pj_ioqueue_key_t *key = NULL; +#if defined(PJ_WIN32) && PJ_WIN32!=0 || \ + defined(PJ_WIN64) && PJ_WIN64 != 0 || \ + defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 + u_long value; +#else + pj_uint32_t value; +#endif + pj_status_t rc = PJ_SUCCESS; + + PJ_ASSERT_RETURN(pool && ioqueue && sock != PJ_INVALID_SOCKET && + cb && p_key, PJ_EINVAL); + + pj_lock_acquire(ioqueue->lock); + + if (ioqueue->count >= ioqueue->max) { + rc = PJ_ETOOMANY; + goto on_return; + } + + /* If safe unregistration (PJ_IOQUEUE_HAS_SAFE_UNREG) is used, get + * the key from the free list. Otherwise allocate a new one. + */ +#if PJ_IOQUEUE_HAS_SAFE_UNREG + + /* Scan closing_keys first to let them come back to free_list */ + scan_closing_keys(ioqueue); + + pj_assert(!pj_list_empty(&ioqueue->free_list)); + if (pj_list_empty(&ioqueue->free_list)) { + rc = PJ_ETOOMANY; + goto on_return; + } + + key = ioqueue->free_list.next; + pj_list_erase(key); +#else + key = (pj_ioqueue_key_t*)pj_pool_zalloc(pool, sizeof(pj_ioqueue_key_t)); +#endif + + rc = ioqueue_init_key(pool, ioqueue, key, sock, grp_lock, user_data, cb); + if (rc != PJ_SUCCESS) { + key = NULL; + goto on_return; + } + + /* Set socket to nonblocking. */ + value = 1; +#if defined(PJ_WIN32) && PJ_WIN32!=0 || \ + defined(PJ_WIN64) && PJ_WIN64 != 0 || \ + defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 + if (ioctlsocket(sock, FIONBIO, &value)) { +#else + if (ioctl(sock, FIONBIO, &value)) { +#endif + rc = pj_get_netos_error(); + goto on_return; + } + + + /* Put in active list. */ + pj_list_insert_before(&ioqueue->active_list, key); + ++ioqueue->count; + + /* Rescan fdset to get max descriptor */ + rescan_fdset(ioqueue); + +on_return: + /* On error, socket may be left in non-blocking mode. */ + if (rc != PJ_SUCCESS) { + if (key && key->grp_lock) + pj_grp_lock_dec_ref_dbg(key->grp_lock, "ioqueue", 0); + } + *p_key = key; + pj_lock_release(ioqueue->lock); + + return rc; +} + +PJ_DEF(pj_status_t) pj_ioqueue_register_sock( pj_pool_t *pool, + pj_ioqueue_t *ioqueue, + pj_sock_t sock, + void *user_data, + const pj_ioqueue_callback *cb, + pj_ioqueue_key_t **p_key) +{ + return pj_ioqueue_register_sock2(pool, ioqueue, sock, NULL, user_data, + cb, p_key); +} + +#if PJ_IOQUEUE_HAS_SAFE_UNREG +/* Increment key's reference counter */ +static void increment_counter(pj_ioqueue_key_t *key) +{ + pj_mutex_lock(key->ioqueue->ref_cnt_mutex); + ++key->ref_count; + pj_mutex_unlock(key->ioqueue->ref_cnt_mutex); +} + +/* Decrement the key's reference counter, and when the counter reach zero, + * destroy the key. + * + * Note: MUST NOT CALL THIS FUNCTION WHILE HOLDING ioqueue's LOCK. + */ +static void decrement_counter(pj_ioqueue_key_t *key) +{ + pj_lock_acquire(key->ioqueue->lock); + pj_mutex_lock(key->ioqueue->ref_cnt_mutex); + --key->ref_count; + if (key->ref_count == 0) { + + pj_assert(key->closing == 1); + pj_gettickcount(&key->free_time); + key->free_time.msec += PJ_IOQUEUE_KEY_FREE_DELAY; + pj_time_val_normalize(&key->free_time); + + pj_list_erase(key); + pj_list_push_back(&key->ioqueue->closing_list, key); + /* Rescan fdset to get max descriptor */ + rescan_fdset(key->ioqueue); + } + pj_mutex_unlock(key->ioqueue->ref_cnt_mutex); + pj_lock_release(key->ioqueue->lock); +} +#endif + + +/* + * pj_ioqueue_unregister() + * + * Unregister handle from ioqueue. + */ +PJ_DEF(pj_status_t) pj_ioqueue_unregister( pj_ioqueue_key_t *key) +{ + pj_ioqueue_t *ioqueue; + + PJ_ASSERT_RETURN(key, PJ_EINVAL); + + ioqueue = key->ioqueue; + + /* Lock the key to make sure no callback is simultaneously modifying + * the key. We need to lock the key before ioqueue here to prevent + * deadlock. + */ + pj_ioqueue_lock_key(key); + + /* Also lock ioqueue */ + pj_lock_acquire(ioqueue->lock); + + pj_assert(ioqueue->count > 0); + --ioqueue->count; +#if !PJ_IOQUEUE_HAS_SAFE_UNREG + /* Ticket #520, key will be erased more than once */ + pj_list_erase(key); +#endif + PJ_FD_CLR(key->fd, &ioqueue->rfdset); + PJ_FD_CLR(key->fd, &ioqueue->wfdset); +#if PJ_HAS_TCP + PJ_FD_CLR(key->fd, &ioqueue->xfdset); +#endif + + /* Close socket. */ + pj_sock_close(key->fd); + + /* Clear callback */ + key->cb.on_accept_complete = NULL; + key->cb.on_connect_complete = NULL; + key->cb.on_read_complete = NULL; + key->cb.on_write_complete = NULL; + + /* Must release ioqueue lock first before decrementing counter, to + * prevent deadlock. + */ + pj_lock_release(ioqueue->lock); + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Mark key is closing. */ + key->closing = 1; + + /* Decrement counter. */ + decrement_counter(key); + + /* Done. */ + if (key->grp_lock) { + /* just dec_ref and unlock. we will set grp_lock to NULL + * elsewhere */ + pj_grp_lock_t *grp_lock = key->grp_lock; + // Don't set grp_lock to NULL otherwise the other thread + // will crash. Just leave it as dangling pointer, but this + // should be safe + //key->grp_lock = NULL; + pj_grp_lock_dec_ref_dbg(grp_lock, "ioqueue", 0); + pj_grp_lock_release(grp_lock); + } else { + pj_ioqueue_unlock_key(key); + } +#else + if (key->grp_lock) { + /* set grp_lock to NULL and unlock */ + pj_grp_lock_t *grp_lock = key->grp_lock; + // Don't set grp_lock to NULL otherwise the other thread + // will crash. Just leave it as dangling pointer, but this + // should be safe + //key->grp_lock = NULL; + pj_grp_lock_dec_ref_dbg(grp_lock, "ioqueue", 0); + pj_grp_lock_release(grp_lock); + } else { + pj_ioqueue_unlock_key(key); + } + + pj_lock_destroy(key->lock); +#endif + + return PJ_SUCCESS; +} + + +/* This supposed to check whether the fd_set values are consistent + * with the operation currently set in each key. + */ +#if VALIDATE_FD_SET +static void validate_sets(const pj_ioqueue_t *ioqueue, + const pj_fd_set_t *rfdset, + const pj_fd_set_t *wfdset, + const pj_fd_set_t *xfdset) +{ + pj_ioqueue_key_t *key; + + /* + * This basicly would not work anymore. + * We need to lock key before performing the check, but we can't do + * so because we're holding ioqueue mutex. If we acquire key's mutex + * now, the will cause deadlock. + */ + pj_assert(0); + + key = ioqueue->active_list.next; + while (key != &ioqueue->active_list) { + if (!pj_list_empty(&key->read_list) +#if defined(PJ_HAS_TCP) && PJ_HAS_TCP != 0 + || !pj_list_empty(&key->accept_list) +#endif + ) + { + pj_assert(PJ_FD_ISSET(key->fd, rfdset)); + } + else { + pj_assert(PJ_FD_ISSET(key->fd, rfdset) == 0); + } + if (!pj_list_empty(&key->write_list) +#if defined(PJ_HAS_TCP) && PJ_HAS_TCP != 0 + || key->connecting +#endif + ) + { + pj_assert(PJ_FD_ISSET(key->fd, wfdset)); + } + else { + pj_assert(PJ_FD_ISSET(key->fd, wfdset) == 0); + } +#if defined(PJ_HAS_TCP) && PJ_HAS_TCP != 0 + if (key->connecting) + { + pj_assert(PJ_FD_ISSET(key->fd, xfdset)); + } + else { + pj_assert(PJ_FD_ISSET(key->fd, xfdset) == 0); + } +#endif /* PJ_HAS_TCP */ + + key = key->next; + } +} +#endif /* VALIDATE_FD_SET */ + + +/* ioqueue_remove_from_set() + * This function is called from ioqueue_dispatch_event() to instruct + * the ioqueue to remove the specified descriptor from ioqueue's descriptor + * set for the specified event. + */ +static void ioqueue_remove_from_set( pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *key, + enum ioqueue_event_type event_type) +{ + pj_lock_acquire(ioqueue->lock); + + if (event_type == READABLE_EVENT) + PJ_FD_CLR((pj_sock_t)key->fd, &ioqueue->rfdset); + else if (event_type == WRITEABLE_EVENT) + PJ_FD_CLR((pj_sock_t)key->fd, &ioqueue->wfdset); +#if defined(PJ_HAS_TCP) && PJ_HAS_TCP!=0 + else if (event_type == EXCEPTION_EVENT) + PJ_FD_CLR((pj_sock_t)key->fd, &ioqueue->xfdset); +#endif + else + pj_assert(0); + + pj_lock_release(ioqueue->lock); +} + +/* + * ioqueue_add_to_set() + * This function is called from pj_ioqueue_recv(), pj_ioqueue_send() etc + * to instruct the ioqueue to add the specified handle to ioqueue's descriptor + * set for the specified event. + */ +static void ioqueue_add_to_set( pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *key, + enum ioqueue_event_type event_type ) +{ + pj_lock_acquire(ioqueue->lock); + + if (event_type == READABLE_EVENT) + PJ_FD_SET((pj_sock_t)key->fd, &ioqueue->rfdset); + else if (event_type == WRITEABLE_EVENT) + PJ_FD_SET((pj_sock_t)key->fd, &ioqueue->wfdset); +#if defined(PJ_HAS_TCP) && PJ_HAS_TCP!=0 + else if (event_type == EXCEPTION_EVENT) + PJ_FD_SET((pj_sock_t)key->fd, &ioqueue->xfdset); +#endif + else + pj_assert(0); + + pj_lock_release(ioqueue->lock); +} + +#if PJ_IOQUEUE_HAS_SAFE_UNREG +/* Scan closing keys to be put to free list again */ +static void scan_closing_keys(pj_ioqueue_t *ioqueue) +{ + pj_time_val now; + pj_ioqueue_key_t *h; + + pj_gettickcount(&now); + h = ioqueue->closing_list.next; + while (h != &ioqueue->closing_list) { + pj_ioqueue_key_t *next = h->next; + + pj_assert(h->closing != 0); + + if (PJ_TIME_VAL_GTE(now, h->free_time)) { + pj_list_erase(h); + // Don't set grp_lock to NULL otherwise the other thread + // will crash. Just leave it as dangling pointer, but this + // should be safe + //h->grp_lock = NULL; + pj_list_push_back(&ioqueue->free_list, h); + } + h = next; + } +} +#endif + +#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 +static pj_status_t replace_udp_sock(pj_ioqueue_key_t *h) +{ + enum flags { + HAS_PEER_ADDR = 1, + HAS_QOS = 2 + }; + pj_sock_t old_sock, new_sock = PJ_INVALID_SOCKET; + pj_sockaddr local_addr, rem_addr; + int val, addr_len; + pj_fd_set_t *fds[3]; + unsigned i, fds_cnt, flags=0; + pj_qos_params qos_params; + unsigned msec; + pj_status_t status; + + pj_lock_acquire(h->ioqueue->lock); + + old_sock = h->fd; + + /* Can only replace UDP socket */ + pj_assert(h->fd_type == pj_SOCK_DGRAM()); + + PJ_LOG(4,(THIS_FILE, "Attempting to replace UDP socket %d", old_sock)); + + /* Investigate the old socket */ + addr_len = sizeof(local_addr); + status = pj_sock_getsockname(old_sock, &local_addr, &addr_len); + if (status != PJ_SUCCESS) + goto on_error; + + addr_len = sizeof(rem_addr); + status = pj_sock_getpeername(old_sock, &rem_addr, &addr_len); + if (status == PJ_SUCCESS) + flags |= HAS_PEER_ADDR; + + status = pj_sock_get_qos_params(old_sock, &qos_params); + if (status == PJ_SUCCESS) + flags |= HAS_QOS; + + /* We're done with the old socket, close it otherwise we'll get + * error in bind() + */ + pj_sock_close(old_sock); + + /* Prepare the new socket */ + status = pj_sock_socket(local_addr.addr.sa_family, PJ_SOCK_DGRAM, 0, + &new_sock); + if (status != PJ_SUCCESS) + goto on_error; + + /* Even after the socket is closed, we'll still get "Address in use" + * errors, so force it with SO_REUSEADDR + */ + val = 1; + status = pj_sock_setsockopt(new_sock, SOL_SOCKET, SO_REUSEADDR, + &val, sizeof(val)); + if (status != PJ_SUCCESS) + goto on_error; + + /* The loop is silly, but what else can we do? */ + addr_len = pj_sockaddr_get_len(&local_addr); + for (msec=20; ; msec<1000? msec=msec*2 : 1000) { + status = pj_sock_bind(new_sock, &local_addr, addr_len); + if (status != PJ_STATUS_FROM_OS(EADDRINUSE)) + break; + PJ_LOG(4,(THIS_FILE, "Address is still in use, retrying..")); + pj_thread_sleep(msec); + } + + if (status != PJ_SUCCESS) + goto on_error; + + if (flags & HAS_QOS) { + status = pj_sock_set_qos_params(new_sock, &qos_params); + if (status != PJ_SUCCESS) + goto on_error; + } + + if (flags & HAS_PEER_ADDR) { + status = pj_sock_connect(new_sock, &rem_addr, addr_len); + if (status != PJ_SUCCESS) + goto on_error; + } + + /* Set socket to nonblocking. */ + val = 1; +#if defined(PJ_WIN32) && PJ_WIN32!=0 || \ + defined(PJ_WIN64) && PJ_WIN64 != 0 || \ + defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 + if (ioctlsocket(new_sock, FIONBIO, &val)) { +#else + if (ioctl(new_sock, FIONBIO, &val)) { +#endif + status = pj_get_netos_error(); + goto on_error; + } + + /* Replace the occurrence of old socket with new socket in the + * fd sets. + */ + fds_cnt = 0; + fds[fds_cnt++] = &h->ioqueue->rfdset; + fds[fds_cnt++] = &h->ioqueue->wfdset; +#if PJ_HAS_TCP + fds[fds_cnt++] = &h->ioqueue->xfdset; +#endif + + for (i=0; ifd = new_sock; + + PJ_LOG(4,(THIS_FILE, "UDP has been replaced successfully!")); + + pj_lock_release(h->ioqueue->lock); + + return PJ_SUCCESS; + +on_error: + if (new_sock != PJ_INVALID_SOCKET) + pj_sock_close(new_sock); + PJ_PERROR(1,(THIS_FILE, status, "Error replacing socket")); + pj_lock_release(h->ioqueue->lock); + return status; +} +#endif + + +/* + * pj_ioqueue_poll() + * + * Few things worth written: + * + * - we used to do only one callback called per poll, but it didn't go + * very well. The reason is because on some situation, the write + * callback gets called all the time, thus doesn't give the read + * callback to get called. This happens, for example, when user + * submit write operation inside the write callback. + * As the result, we changed the behaviour so that now multiple + * callbacks are called in a single poll. It should be fast too, + * just that we need to be carefull with the ioqueue data structs. + * + * - to guarantee preemptiveness etc, the poll function must strictly + * work on fd_set copy of the ioqueue (not the original one). + */ +PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioqueue, const pj_time_val *timeout) +{ + pj_fd_set_t rfdset, wfdset, xfdset; + int nfds; + int count, i, counter; + pj_ioqueue_key_t *h; + struct event + { + pj_ioqueue_key_t *key; + enum ioqueue_event_type event_type; + } event[PJ_IOQUEUE_MAX_EVENTS_IN_SINGLE_POLL]; + + PJ_ASSERT_RETURN(ioqueue, -PJ_EINVAL); + + /* Lock ioqueue before making fd_set copies */ + pj_lock_acquire(ioqueue->lock); + + /* We will only do select() when there are sockets to be polled. + * Otherwise select() will return error. + */ + if (PJ_FD_COUNT(&ioqueue->rfdset)==0 && + PJ_FD_COUNT(&ioqueue->wfdset)==0 +#if defined(PJ_HAS_TCP) && PJ_HAS_TCP!=0 + && PJ_FD_COUNT(&ioqueue->xfdset)==0 +#endif + ) + { +#if PJ_IOQUEUE_HAS_SAFE_UNREG + scan_closing_keys(ioqueue); +#endif + pj_lock_release(ioqueue->lock); + TRACE__((THIS_FILE, " poll: no fd is set")); + if (timeout) + pj_thread_sleep(PJ_TIME_VAL_MSEC(*timeout)); + return 0; + } + + /* Copy ioqueue's pj_fd_set_t to local variables. */ + pj_memcpy(&rfdset, &ioqueue->rfdset, sizeof(pj_fd_set_t)); + pj_memcpy(&wfdset, &ioqueue->wfdset, sizeof(pj_fd_set_t)); +#if PJ_HAS_TCP + pj_memcpy(&xfdset, &ioqueue->xfdset, sizeof(pj_fd_set_t)); +#else + PJ_FD_ZERO(&xfdset); +#endif + +#if VALIDATE_FD_SET + validate_sets(ioqueue, &rfdset, &wfdset, &xfdset); +#endif + + nfds = ioqueue->nfds; + + /* Unlock ioqueue before select(). */ + pj_lock_release(ioqueue->lock); + + count = pj_sock_select(nfds+1, &rfdset, &wfdset, &xfdset, + timeout); + + if (count == 0) + return 0; + else if (count < 0) + return -pj_get_netos_error(); + else if (count > PJ_IOQUEUE_MAX_EVENTS_IN_SINGLE_POLL) + count = PJ_IOQUEUE_MAX_EVENTS_IN_SINGLE_POLL; + + /* Scan descriptor sets for event and add the events in the event + * array to be processed later in this function. We do this so that + * events can be processed in parallel without holding ioqueue lock. + */ + pj_lock_acquire(ioqueue->lock); + + counter = 0; + + /* Scan for writable sockets first to handle piggy-back data + * coming with accept(). + */ + h = ioqueue->active_list.next; + for ( ; h!=&ioqueue->active_list && counternext) { + + if ( (key_has_pending_write(h) || key_has_pending_connect(h)) + && PJ_FD_ISSET(h->fd, &wfdset) && !IS_CLOSING(h)) + { +#if PJ_IOQUEUE_HAS_SAFE_UNREG + increment_counter(h); +#endif + event[counter].key = h; + event[counter].event_type = WRITEABLE_EVENT; + ++counter; + } + + /* Scan for readable socket. */ + if ((key_has_pending_read(h) || key_has_pending_accept(h)) + && PJ_FD_ISSET(h->fd, &rfdset) && !IS_CLOSING(h) && + counterfd, &xfdset) && + !IS_CLOSING(h) && countergrp_lock) + pj_grp_lock_add_ref_dbg(event[i].key->grp_lock, "ioqueue", 0); + } + + PJ_RACE_ME(5); + + pj_lock_release(ioqueue->lock); + + PJ_RACE_ME(5); + + count = counter; + + /* Now process all events. The dispatch functions will take care + * of locking in each of the key + */ + for (counter=0; countergrp_lock) + pj_grp_lock_dec_ref_dbg(event[counter].key->grp_lock, + "ioqueue", 0); + } + + + return count; +} + diff --git a/pjlib/src/pj/ioqueue_symbian.cpp b/pjlib/src/pj/ioqueue_symbian.cpp new file mode 100644 index 0000000..0b310d1 --- /dev/null +++ b/pjlib/src/pj/ioqueue_symbian.cpp @@ -0,0 +1,866 @@ +/* $Id: ioqueue_symbian.cpp 4374 2013-02-27 07:15:57Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include + +#include "os_symbian.h" + +class CIoqueueCallback; + +/* + * IO Queue structure. + */ +struct pj_ioqueue_t +{ + int eventCount; +}; + + +///////////////////////////////////////////////////////////////////////////// +// Class to encapsulate asynchronous socket operation. +// +class CIoqueueCallback : public CActive +{ +public: + static CIoqueueCallback* NewL(pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *key, + pj_sock_t sock, + const pj_ioqueue_callback *cb, + void *user_data); + + // + // Start asynchronous recv() operation + // + pj_status_t StartRead(pj_ioqueue_op_key_t *op_key, + void *buf, pj_ssize_t *size, unsigned flags, + pj_sockaddr_t *addr, int *addrlen); + + // + // Start asynchronous accept() operation. + // + pj_status_t StartAccept(pj_ioqueue_op_key_t *op_key, + pj_sock_t *new_sock, + pj_sockaddr_t *local, + pj_sockaddr_t *remote, + int *addrlen ); + + // + // Completion callback. + // + void RunL(); + + // + // CActive's DoCancel() + // + void DoCancel(); + + // + // Cancel operation and call callback. + // + void CancelOperation(pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_status); + + // + // Accessors + // + void* get_user_data() const + { + return user_data_; + } + void set_user_data(void *user_data) + { + user_data_ = user_data; + } + pj_ioqueue_op_key_t *get_op_key() const + { + return pending_data_.common_.op_key_; + } + CPjSocket* get_pj_socket() + { + return sock_; + } + +private: + // Type of pending operation. + enum Type { + TYPE_NONE, + TYPE_READ, + TYPE_ACCEPT, + }; + + // Static data. + pj_ioqueue_t *ioqueue_; + pj_ioqueue_key_t *key_; + CPjSocket *sock_; + pj_ioqueue_callback cb_; + void *user_data_; + + // Symbian data. + TPtr8 aBufferPtr_; + TInetAddr aAddress_; + + // Application data. + Type type_; + + union Pending_Data + { + struct Common + { + pj_ioqueue_op_key_t *op_key_; + } common_; + + struct Pending_Read + { + pj_ioqueue_op_key_t *op_key_; + pj_sockaddr_t *addr_; + int *addrlen_; + } read_; + + struct Pending_Accept + { + pj_ioqueue_op_key_t *op_key_; + pj_sock_t *new_sock_; + pj_sockaddr_t *local_; + pj_sockaddr_t *remote_; + int *addrlen_; + } accept_; + }; + + union Pending_Data pending_data_; + RSocket blank_sock_; + + CIoqueueCallback(pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *key, pj_sock_t sock, + const pj_ioqueue_callback *cb, void *user_data) + : CActive(CActive::EPriorityStandard), + ioqueue_(ioqueue), key_(key), sock_((CPjSocket*)sock), + user_data_(user_data), aBufferPtr_(NULL, 0), type_(TYPE_NONE) + { + pj_memcpy(&cb_, cb, sizeof(*cb)); + } + + + void ConstructL() + { + CActiveScheduler::Add(this); + } + + void HandleReadCompletion(); + CPjSocket *HandleAcceptCompletion(); +}; + + +CIoqueueCallback* CIoqueueCallback::NewL(pj_ioqueue_t *ioqueue, + pj_ioqueue_key_t *key, + pj_sock_t sock, + const pj_ioqueue_callback *cb, + void *user_data) +{ + CIoqueueCallback *self = new CIoqueueCallback(ioqueue, key, sock, + cb, user_data); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + + return self; +} + + +// +// Start asynchronous recv() operation +// +pj_status_t CIoqueueCallback::StartRead(pj_ioqueue_op_key_t *op_key, + void *buf, pj_ssize_t *size, + unsigned flags, + pj_sockaddr_t *addr, int *addrlen) +{ + PJ_ASSERT_RETURN(IsActive()==false, PJ_EBUSY); + PJ_ASSERT_RETURN(pending_data_.common_.op_key_==NULL, PJ_EBUSY); + + flags &= ~PJ_IOQUEUE_ALWAYS_ASYNC; + + pending_data_.read_.op_key_ = op_key; + pending_data_.read_.addr_ = addr; + pending_data_.read_.addrlen_ = addrlen; + + aBufferPtr_.Set((TUint8*)buf, 0, (TInt)*size); + + type_ = TYPE_READ; + if (addr && addrlen) { + sock_->Socket().RecvFrom(aBufferPtr_, aAddress_, flags, iStatus); + } else { + aAddress_.SetAddress(0); + aAddress_.SetPort(0); + + if (sock_->IsDatagram()) { + sock_->Socket().Recv(aBufferPtr_, flags, iStatus); + } else { + // Using static like this is not pretty, but we don't need to use + // the value anyway, hence doing it like this is probably most + // optimal. + static TSockXfrLength len; + sock_->Socket().RecvOneOrMore(aBufferPtr_, flags, iStatus, len); + } + } + + SetActive(); + return PJ_EPENDING; +} + + +// +// Start asynchronous accept() operation. +// +pj_status_t CIoqueueCallback::StartAccept(pj_ioqueue_op_key_t *op_key, + pj_sock_t *new_sock, + pj_sockaddr_t *local, + pj_sockaddr_t *remote, + int *addrlen ) +{ + PJ_ASSERT_RETURN(IsActive()==false, PJ_EBUSY); + PJ_ASSERT_RETURN(pending_data_.common_.op_key_==NULL, PJ_EBUSY); + + // addrlen must be specified if local or remote is specified + PJ_ASSERT_RETURN((!local && !remote) || + (addrlen && *addrlen), PJ_EINVAL); + + pending_data_.accept_.op_key_ = op_key; + pending_data_.accept_.new_sock_ = new_sock; + pending_data_.accept_.local_ = local; + pending_data_.accept_.remote_ = remote; + pending_data_.accept_.addrlen_ = addrlen; + + // Create blank socket + blank_sock_.Open(PjSymbianOS::Instance()->SocketServ()); + + type_ = TYPE_ACCEPT; + sock_->Socket().Accept(blank_sock_, iStatus); + + SetActive(); + return PJ_EPENDING; +} + + +// +// Handle asynchronous RecvFrom() completion +// +void CIoqueueCallback::HandleReadCompletion() +{ + if (pending_data_.read_.addr_ && pending_data_.read_.addrlen_) { + PjSymbianOS::Addr2pj(aAddress_, + *(pj_sockaddr*)pending_data_.read_.addr_, + pending_data_.read_.addrlen_); + pending_data_.read_.addr_ = NULL; + pending_data_.read_.addrlen_ = NULL; + } + + pending_data_.read_.op_key_ = NULL; +} + + +// +// Handle asynchronous Accept() completion. +// +CPjSocket *CIoqueueCallback::HandleAcceptCompletion() +{ + CPjSocket *pjNewSock = new CPjSocket(get_pj_socket()->GetAf(), + get_pj_socket()->GetSockType(), + blank_sock_); + int addrlen = 0; + + if (pending_data_.accept_.new_sock_) { + *pending_data_.accept_.new_sock_ = (pj_sock_t)pjNewSock; + pending_data_.accept_.new_sock_ = NULL; + } + + if (pending_data_.accept_.local_) { + TInetAddr aAddr; + pj_sockaddr *ptr_sockaddr; + + blank_sock_.LocalName(aAddr); + ptr_sockaddr = (pj_sockaddr*)pending_data_.accept_.local_; + addrlen = *pending_data_.accept_.addrlen_; + PjSymbianOS::Addr2pj(aAddr, *ptr_sockaddr, &addrlen); + pending_data_.accept_.local_ = NULL; + } + + if (pending_data_.accept_.remote_) { + TInetAddr aAddr; + pj_sockaddr *ptr_sockaddr; + + blank_sock_.RemoteName(aAddr); + ptr_sockaddr = (pj_sockaddr*)pending_data_.accept_.remote_; + addrlen = *pending_data_.accept_.addrlen_; + PjSymbianOS::Addr2pj(aAddr, *ptr_sockaddr, &addrlen); + pending_data_.accept_.remote_ = NULL; + } + + if (pending_data_.accept_.addrlen_) { + if (addrlen == 0) { + if (pjNewSock->GetAf() == PJ_AF_INET) + addrlen = sizeof(pj_sockaddr_in); + else if (pjNewSock->GetAf() == PJ_AF_INET6) + addrlen = sizeof(pj_sockaddr_in6); + else { + pj_assert(!"Unsupported address family"); + } + } + *pending_data_.accept_.addrlen_ = addrlen; + pending_data_.accept_.addrlen_ = NULL; + } + + return pjNewSock; +} + + +// +// Completion callback. +// +void CIoqueueCallback::RunL() +{ + pj_ioqueue_t *ioq = ioqueue_; + Type cur_type = type_; + + type_ = TYPE_NONE; + + if (cur_type == TYPE_READ) { + // + // Completion of asynchronous RecvFrom() + // + + /* Clear op_key (save it to temp variable first!) */ + pj_ioqueue_op_key_t *op_key = pending_data_.read_.op_key_; + pending_data_.read_.op_key_ = NULL; + + // Handle failure condition + if (iStatus != KErrNone) { + if (cb_.on_read_complete) { + cb_.on_read_complete( key_, op_key, + -PJ_RETURN_OS_ERROR(iStatus.Int())); + } + return; + } + + HandleReadCompletion(); + + /* Call callback */ + if (cb_.on_read_complete) { + cb_.on_read_complete(key_, op_key, aBufferPtr_.Length()); + } + + } else if (cur_type == TYPE_ACCEPT) { + // + // Completion of asynchronous Accept() + // + + /* Clear op_key (save it to temp variable first!) */ + pj_ioqueue_op_key_t *op_key = pending_data_.read_.op_key_; + pending_data_.read_.op_key_ = NULL; + + // Handle failure condition + if (iStatus != KErrNone) { + if (pending_data_.accept_.new_sock_) + *pending_data_.accept_.new_sock_ = PJ_INVALID_SOCKET; + + if (cb_.on_accept_complete) { + cb_.on_accept_complete( key_, op_key, PJ_INVALID_SOCKET, + -PJ_RETURN_OS_ERROR(iStatus.Int())); + } + return; + } + + CPjSocket *pjNewSock = HandleAcceptCompletion(); + + // Call callback. + if (cb_.on_accept_complete) { + cb_.on_accept_complete( key_, op_key, (pj_sock_t)pjNewSock, + PJ_SUCCESS); + } + } + + ioq->eventCount++; +} + +// +// CActive's DoCancel() +// +void CIoqueueCallback::DoCancel() +{ + if (type_ == TYPE_READ) + sock_->Socket().CancelRecv(); + else if (type_ == TYPE_ACCEPT) + sock_->Socket().CancelAccept(); + + type_ = TYPE_NONE; + pending_data_.common_.op_key_ = NULL; +} + +// +// Cancel operation and call callback. +// +void CIoqueueCallback::CancelOperation(pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_status) +{ + Type cur_type = type_; + + pj_assert(op_key == pending_data_.common_.op_key_); + + Cancel(); + + if (cur_type == TYPE_READ) { + if (cb_.on_read_complete) + cb_.on_read_complete(key_, op_key, bytes_status); + } else if (cur_type == TYPE_ACCEPT) + ; +} + + +///////////////////////////////////////////////////////////////////////////// +/* + * IO Queue key structure. + */ +struct pj_ioqueue_key_t +{ + CIoqueueCallback *cbObj; +}; + + +/* + * Return the name of the ioqueue implementation. + */ +PJ_DEF(const char*) pj_ioqueue_name(void) +{ + return "ioqueue-symbian"; +} + + +/* + * Create a new I/O Queue framework. + */ +PJ_DEF(pj_status_t) pj_ioqueue_create( pj_pool_t *pool, + pj_size_t max_fd, + pj_ioqueue_t **p_ioqueue) +{ + pj_ioqueue_t *ioq; + + PJ_UNUSED_ARG(max_fd); + + ioq = PJ_POOL_ZALLOC_T(pool, pj_ioqueue_t); + *p_ioqueue = ioq; + return PJ_SUCCESS; +} + + +/* + * Destroy the I/O queue. + */ +PJ_DEF(pj_status_t) pj_ioqueue_destroy( pj_ioqueue_t *ioq ) +{ + PJ_UNUSED_ARG(ioq); + return PJ_SUCCESS; +} + + +/* + * Set the lock object to be used by the I/O Queue. + */ +PJ_DEF(pj_status_t) pj_ioqueue_set_lock( pj_ioqueue_t *ioq, + pj_lock_t *lock, + pj_bool_t auto_delete ) +{ + /* Don't really need lock for now */ + PJ_UNUSED_ARG(ioq); + + if (auto_delete) { + pj_lock_destroy(lock); + } + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_ioqueue_set_default_concurrency(pj_ioqueue_t *ioqueue, + pj_bool_t allow) +{ + /* Not supported, just return PJ_SUCCESS silently */ + PJ_UNUSED_ARG(ioqueue); + PJ_UNUSED_ARG(allow); + return PJ_SUCCESS; +} + +/* + * Register a socket to the I/O queue framework. + */ +PJ_DEF(pj_status_t) pj_ioqueue_register_sock( pj_pool_t *pool, + pj_ioqueue_t *ioq, + pj_sock_t sock, + void *user_data, + const pj_ioqueue_callback *cb, + pj_ioqueue_key_t **p_key ) +{ + pj_ioqueue_key_t *key; + + key = PJ_POOL_ZALLOC_T(pool, pj_ioqueue_key_t); + key->cbObj = CIoqueueCallback::NewL(ioq, key, sock, cb, user_data); + + *p_key = key; + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_ioqueue_register_sock2(pj_pool_t *pool, + pj_ioqueue_t *ioqueue, + pj_sock_t sock, + pj_grp_lock_t *grp_lock, + void *user_data, + const pj_ioqueue_callback *cb, + pj_ioqueue_key_t **p_key) +{ + PJ_UNUSED_ARG(grp_lock); + + return pj_ioqueue_register_sock(pool, ioqueue, sock, user_data, cb, p_key); +} + +/* + * Unregister from the I/O Queue framework. + */ +PJ_DEF(pj_status_t) pj_ioqueue_unregister( pj_ioqueue_key_t *key ) +{ + if (key == NULL || key->cbObj == NULL) + return PJ_SUCCESS; + + // Cancel pending async object + if (key->cbObj) { + key->cbObj->Cancel(); + } + + // Close socket. + key->cbObj->get_pj_socket()->Socket().Close(); + delete key->cbObj->get_pj_socket(); + + // Delete async object. + if (key->cbObj) { + delete key->cbObj; + key->cbObj = NULL; + } + + return PJ_SUCCESS; +} + + +/* + * Get user data associated with an ioqueue key. + */ +PJ_DEF(void*) pj_ioqueue_get_user_data( pj_ioqueue_key_t *key ) +{ + return key->cbObj->get_user_data(); +} + + +/* + * Set or change the user data to be associated with the file descriptor or + * handle or socket descriptor. + */ +PJ_DEF(pj_status_t) pj_ioqueue_set_user_data( pj_ioqueue_key_t *key, + void *user_data, + void **old_data) +{ + if (old_data) + *old_data = key->cbObj->get_user_data(); + key->cbObj->set_user_data(user_data); + + return PJ_SUCCESS; +} + + +/* + * Initialize operation key. + */ +PJ_DEF(void) pj_ioqueue_op_key_init( pj_ioqueue_op_key_t *op_key, + pj_size_t size ) +{ + pj_bzero(op_key, size); +} + + +/* + * Check if operation is pending on the specified operation key. + */ +PJ_DEF(pj_bool_t) pj_ioqueue_is_pending( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key ) +{ + return key->cbObj->get_op_key()==op_key && + key->cbObj->IsActive(); +} + + +/* + * Post completion status to the specified operation key and call the + * appropriate callback. + */ +PJ_DEF(pj_status_t) pj_ioqueue_post_completion( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_status ) +{ + if (pj_ioqueue_is_pending(key, op_key)) { + key->cbObj->CancelOperation(op_key, bytes_status); + } + return PJ_SUCCESS; +} + + +#if defined(PJ_HAS_TCP) && PJ_HAS_TCP != 0 +/** + * Instruct I/O Queue to accept incoming connection on the specified + * listening socket. + */ +PJ_DEF(pj_status_t) pj_ioqueue_accept( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_sock_t *new_sock, + pj_sockaddr_t *local, + pj_sockaddr_t *remote, + int *addrlen ) +{ + + return key->cbObj->StartAccept(op_key, new_sock, local, remote, addrlen); +} + + +/* + * Initiate non-blocking socket connect. + */ +PJ_DEF(pj_status_t) pj_ioqueue_connect( pj_ioqueue_key_t *key, + const pj_sockaddr_t *addr, + int addrlen ) +{ + pj_status_t status; + + RSocket &rSock = key->cbObj->get_pj_socket()->Socket(); + TInetAddr inetAddr; + TRequestStatus reqStatus; + + // Return failure if access point is marked as down by app. + PJ_SYMBIAN_CHECK_CONNECTION(); + + // Convert address + status = PjSymbianOS::pj2Addr(*(const pj_sockaddr*)addr, addrlen, + inetAddr); + if (status != PJ_SUCCESS) + return status; + + // We don't support async connect for now. + PJ_TODO(IOQUEUE_SUPPORT_ASYNC_CONNECT); + + rSock.Connect(inetAddr, reqStatus); + User::WaitForRequest(reqStatus); + + if (reqStatus == KErrNone) + return PJ_SUCCESS; + + return PJ_RETURN_OS_ERROR(reqStatus.Int()); +} + + +#endif /* PJ_HAS_TCP */ + +/* + * Poll the I/O Queue for completed events. + */ +PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioq, + const pj_time_val *timeout) +{ + /* Polling is not necessary on Symbian, since all async activities + * are registered to active scheduler. + */ + PJ_UNUSED_ARG(ioq); + PJ_UNUSED_ARG(timeout); + return 0; +} + + +/* + * Instruct the I/O Queue to read from the specified handle. + */ +PJ_DEF(pj_status_t) pj_ioqueue_recv( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + void *buffer, + pj_ssize_t *length, + pj_uint32_t flags ) +{ + // If socket has reader, delete it. + if (key->cbObj->get_pj_socket()->Reader()) + key->cbObj->get_pj_socket()->DestroyReader(); + + // Clear flag + flags &= ~PJ_IOQUEUE_ALWAYS_ASYNC; + return key->cbObj->StartRead(op_key, buffer, length, flags, NULL, NULL); +} + + +/* + * This function behaves similarly as #pj_ioqueue_recv(), except that it is + * normally called for socket, and the remote address will also be returned + * along with the data. + */ +PJ_DEF(pj_status_t) pj_ioqueue_recvfrom( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + void *buffer, + pj_ssize_t *length, + pj_uint32_t flags, + pj_sockaddr_t *addr, + int *addrlen) +{ + CPjSocket *sock = key->cbObj->get_pj_socket(); + + // If address is specified, check that the length match the + // address family + if (addr || addrlen) { + PJ_ASSERT_RETURN(addr && addrlen && *addrlen, PJ_EINVAL); + if (sock->GetAf() == PJ_AF_INET) { + PJ_ASSERT_RETURN(*addrlen>=(int)sizeof(pj_sockaddr_in), PJ_EINVAL); + } else if (sock->GetAf() == PJ_AF_INET6) { + PJ_ASSERT_RETURN(*addrlen>=(int)sizeof(pj_sockaddr_in6), PJ_EINVAL); + } + } + + // If socket has reader, delete it. + if (sock->Reader()) + sock->DestroyReader(); + + if (key->cbObj->IsActive()) + return PJ_EBUSY; + + // Clear flag + flags &= ~PJ_IOQUEUE_ALWAYS_ASYNC; + return key->cbObj->StartRead(op_key, buffer, length, flags, addr, addrlen); +} + + +/* + * Instruct the I/O Queue to write to the handle. + */ +PJ_DEF(pj_status_t) pj_ioqueue_send( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + const void *data, + pj_ssize_t *length, + pj_uint32_t flags ) +{ + TRequestStatus reqStatus; + TPtrC8 aBuffer((const TUint8*)data, (TInt)*length); + TSockXfrLength aLen; + + PJ_UNUSED_ARG(op_key); + + // Forcing pending operation is not supported. + PJ_ASSERT_RETURN((flags & PJ_IOQUEUE_ALWAYS_ASYNC)==0, PJ_EINVAL); + + // Return failure if access point is marked as down by app. + PJ_SYMBIAN_CHECK_CONNECTION(); + + // Clear flag + flags &= ~PJ_IOQUEUE_ALWAYS_ASYNC; + + key->cbObj->get_pj_socket()->Socket().Send(aBuffer, flags, reqStatus, aLen); + User::WaitForRequest(reqStatus); + + if (reqStatus.Int() != KErrNone) + return PJ_RETURN_OS_ERROR(reqStatus.Int()); + + //At least in UIQ Emulator, aLen.Length() reports incorrect length + //for UDP (some newlc.com users seem to have reported this too). + //*length = aLen.Length(); + return PJ_SUCCESS; +} + + +/* + * Instruct the I/O Queue to write to the handle. + */ +PJ_DEF(pj_status_t) pj_ioqueue_sendto( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + const void *data, + pj_ssize_t *length, + pj_uint32_t flags, + const pj_sockaddr_t *addr, + int addrlen) +{ + TRequestStatus reqStatus; + TPtrC8 aBuffer; + TInetAddr inetAddr; + TSockXfrLength aLen; + pj_status_t status; + + PJ_UNUSED_ARG(op_key); + + // Forcing pending operation is not supported. + PJ_ASSERT_RETURN((flags & PJ_IOQUEUE_ALWAYS_ASYNC)==0, PJ_EINVAL); + + // Return failure if access point is marked as down by app. + PJ_SYMBIAN_CHECK_CONNECTION(); + + // Convert address + status = PjSymbianOS::pj2Addr(*(const pj_sockaddr*)addr, addrlen, + inetAddr); + if (status != PJ_SUCCESS) + return status; + + // Clear flag + flags &= ~PJ_IOQUEUE_ALWAYS_ASYNC; + + aBuffer.Set((const TUint8*)data, (TInt)*length); + CPjSocket *pjSock = key->cbObj->get_pj_socket(); + + pjSock->Socket().SendTo(aBuffer, inetAddr, flags, reqStatus, aLen); + User::WaitForRequest(reqStatus); + + if (reqStatus.Int() != KErrNone) + return PJ_RETURN_OS_ERROR(reqStatus.Int()); + + //At least in UIQ Emulator, aLen.Length() reports incorrect length + //for UDP (some newlc.com users seem to have reported this too). + //*length = aLen.Length(); + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_ioqueue_set_concurrency(pj_ioqueue_key_t *key, + pj_bool_t allow) +{ + /* Not supported, just return PJ_SUCCESS silently */ + PJ_UNUSED_ARG(key); + PJ_UNUSED_ARG(allow); + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_ioqueue_lock_key(pj_ioqueue_key_t *key) +{ + /* Not supported, just return PJ_SUCCESS silently */ + PJ_UNUSED_ARG(key); + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_ioqueue_unlock_key(pj_ioqueue_key_t *key) +{ + /* Not supported, just return PJ_SUCCESS silently */ + PJ_UNUSED_ARG(key); + return PJ_SUCCESS; +} diff --git a/pjlib/src/pj/ioqueue_winnt.c b/pjlib/src/pj/ioqueue_winnt.c new file mode 100644 index 0000000..adf6f66 --- /dev/null +++ b/pjlib/src/pj/ioqueue_winnt.c @@ -0,0 +1,1443 @@ +/* $Id: ioqueue_winnt.c 4724 2014-01-31 08:52:09Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#if defined(PJ_HAS_WINSOCK2_H) && PJ_HAS_WINSOCK2_H != 0 +# include +#elif defined(PJ_HAS_WINSOCK_H) && PJ_HAS_WINSOCK_H != 0 +# include +#endif + +#if defined(PJ_HAS_MSWSOCK_H) && PJ_HAS_MSWSOCK_H != 0 +# include +#endif + + +/* The address specified in AcceptEx() must be 16 more than the size of + * SOCKADDR (source: MSDN). + */ +#define ACCEPT_ADDR_LEN (sizeof(pj_sockaddr_in)+16) + +typedef struct generic_overlapped +{ + WSAOVERLAPPED overlapped; + pj_ioqueue_operation_e operation; +} generic_overlapped; + +/* + * OVERLAPPPED structure for send and receive. + */ +typedef struct ioqueue_overlapped +{ + WSAOVERLAPPED overlapped; + pj_ioqueue_operation_e operation; + WSABUF wsabuf; + pj_sockaddr_in dummy_addr; + int dummy_addrlen; +} ioqueue_overlapped; + +#if PJ_HAS_TCP +/* + * OVERLAP structure for accept. + */ +typedef struct ioqueue_accept_rec +{ + WSAOVERLAPPED overlapped; + pj_ioqueue_operation_e operation; + pj_sock_t newsock; + pj_sock_t *newsock_ptr; + int *addrlen; + void *remote; + void *local; + char accept_buf[2 * ACCEPT_ADDR_LEN]; +} ioqueue_accept_rec; +#endif + +/* + * Structure to hold pending operation key. + */ +union operation_key +{ + generic_overlapped generic; + ioqueue_overlapped overlapped; +#if PJ_HAS_TCP + ioqueue_accept_rec accept; +#endif +}; + +/* Type of handle in the key. */ +enum handle_type +{ + HND_IS_UNKNOWN, + HND_IS_FILE, + HND_IS_SOCKET, +}; + +enum { POST_QUIT_LEN = 0xFFFFDEADUL }; + +/* + * Structure for individual socket. + */ +struct pj_ioqueue_key_t +{ + PJ_DECL_LIST_MEMBER(struct pj_ioqueue_key_t); + + pj_ioqueue_t *ioqueue; + HANDLE hnd; + void *user_data; + enum handle_type hnd_type; + pj_ioqueue_callback cb; + pj_bool_t allow_concurrent; + +#if PJ_HAS_TCP + int connecting; +#endif + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + pj_atomic_t *ref_count; + pj_bool_t closing; + pj_time_val free_time; + pj_mutex_t *mutex; +#endif + +}; + +/* + * IO Queue structure. + */ +struct pj_ioqueue_t +{ + HANDLE iocp; + pj_lock_t *lock; + pj_bool_t auto_delete_lock; + pj_bool_t default_concurrency; + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + pj_ioqueue_key_t active_list; + pj_ioqueue_key_t free_list; + pj_ioqueue_key_t closing_list; +#endif + + /* These are to keep track of connecting sockets */ +#if PJ_HAS_TCP + unsigned event_count; + HANDLE event_pool[MAXIMUM_WAIT_OBJECTS+1]; + unsigned connecting_count; + HANDLE connecting_handles[MAXIMUM_WAIT_OBJECTS+1]; + pj_ioqueue_key_t *connecting_keys[MAXIMUM_WAIT_OBJECTS+1]; +#endif +}; + + +#if PJ_IOQUEUE_HAS_SAFE_UNREG +/* Prototype */ +static void scan_closing_keys(pj_ioqueue_t *ioqueue); +#endif + + +#if PJ_HAS_TCP +/* + * Process the socket when the overlapped accept() completed. + */ +static void ioqueue_on_accept_complete(pj_ioqueue_key_t *key, + ioqueue_accept_rec *accept_overlapped) +{ + struct sockaddr *local; + struct sockaddr *remote; + int locallen, remotelen; + pj_status_t status; + + PJ_CHECK_STACK(); + + /* On WinXP or later, use SO_UPDATE_ACCEPT_CONTEXT so that socket + * addresses can be obtained with getsockname() and getpeername(). + */ + status = setsockopt(accept_overlapped->newsock, SOL_SOCKET, + SO_UPDATE_ACCEPT_CONTEXT, + (char*)&key->hnd, + sizeof(SOCKET)); + /* SO_UPDATE_ACCEPT_CONTEXT is for WinXP or later. + * So ignore the error status. + */ + + /* Operation complete immediately. */ + if (accept_overlapped->addrlen) { + GetAcceptExSockaddrs( accept_overlapped->accept_buf, + 0, + ACCEPT_ADDR_LEN, + ACCEPT_ADDR_LEN, + &local, + &locallen, + &remote, + &remotelen); + if (*accept_overlapped->addrlen >= locallen) { + if (accept_overlapped->local) + pj_memcpy(accept_overlapped->local, local, locallen); + if (accept_overlapped->remote) + pj_memcpy(accept_overlapped->remote, remote, locallen); + } else { + if (accept_overlapped->local) + pj_bzero(accept_overlapped->local, + *accept_overlapped->addrlen); + if (accept_overlapped->remote) + pj_bzero(accept_overlapped->remote, + *accept_overlapped->addrlen); + } + + *accept_overlapped->addrlen = locallen; + } + if (accept_overlapped->newsock_ptr) + *accept_overlapped->newsock_ptr = accept_overlapped->newsock; + accept_overlapped->operation = 0; +} + +static void erase_connecting_socket( pj_ioqueue_t *ioqueue, unsigned pos) +{ + pj_ioqueue_key_t *key = ioqueue->connecting_keys[pos]; + HANDLE hEvent = ioqueue->connecting_handles[pos]; + + /* Remove key from array of connecting handles. */ + pj_array_erase(ioqueue->connecting_keys, sizeof(key), + ioqueue->connecting_count, pos); + pj_array_erase(ioqueue->connecting_handles, sizeof(HANDLE), + ioqueue->connecting_count, pos); + --ioqueue->connecting_count; + + /* Disassociate the socket from the event. */ + WSAEventSelect((pj_sock_t)key->hnd, hEvent, 0); + + /* Put event object to pool. */ + if (ioqueue->event_count < MAXIMUM_WAIT_OBJECTS) { + ioqueue->event_pool[ioqueue->event_count++] = hEvent; + } else { + /* Shouldn't happen. There should be no more pending connections + * than max. + */ + pj_assert(0); + CloseHandle(hEvent); + } + +} + +/* + * Poll for the completion of non-blocking connect(). + * If there's a completion, the function return the key of the completed + * socket, and 'result' argument contains the connect() result. If connect() + * succeeded, 'result' will have value zero, otherwise will have the error + * code. + */ +static int check_connecting( pj_ioqueue_t *ioqueue ) +{ + if (ioqueue->connecting_count) { + int i, count; + struct + { + pj_ioqueue_key_t *key; + pj_status_t status; + } events[PJ_IOQUEUE_MAX_EVENTS_IN_SINGLE_POLL-1]; + + pj_lock_acquire(ioqueue->lock); + for (count=0; countconnecting_count, + ioqueue->connecting_handles, + FALSE, 0); + if (result >= WAIT_OBJECT_0 && + result < WAIT_OBJECT_0+ioqueue->connecting_count) + { + WSANETWORKEVENTS net_events; + + /* Got completed connect(). */ + unsigned pos = result - WAIT_OBJECT_0; + events[count].key = ioqueue->connecting_keys[pos]; + + /* See whether connect has succeeded. */ + WSAEnumNetworkEvents((pj_sock_t)events[count].key->hnd, + ioqueue->connecting_handles[pos], + &net_events); + events[count].status = + PJ_STATUS_FROM_OS(net_events.iErrorCode[FD_CONNECT_BIT]); + + /* Erase socket from pending connect. */ + erase_connecting_socket(ioqueue, pos); + } else { + /* No more events */ + break; + } + } + pj_lock_release(ioqueue->lock); + + /* Call callbacks. */ + for (i=0; icb.on_connect_complete) { + events[i].key->cb.on_connect_complete(events[i].key, + events[i].status); + } + } + + return count; + } + + return 0; + +} +#endif + +/* + * pj_ioqueue_name() + */ +PJ_DEF(const char*) pj_ioqueue_name(void) +{ + return "iocp"; +} + +/* + * pj_ioqueue_create() + */ +PJ_DEF(pj_status_t) pj_ioqueue_create( pj_pool_t *pool, + pj_size_t max_fd, + pj_ioqueue_t **p_ioqueue) +{ + pj_ioqueue_t *ioqueue; + unsigned i; + pj_status_t rc; + + PJ_UNUSED_ARG(max_fd); + PJ_ASSERT_RETURN(pool && p_ioqueue, PJ_EINVAL); + + rc = sizeof(union operation_key); + + /* Check that sizeof(pj_ioqueue_op_key_t) makes sense. */ + PJ_ASSERT_RETURN(sizeof(pj_ioqueue_op_key_t)-sizeof(void*) >= + sizeof(union operation_key), PJ_EBUG); + + /* Create IOCP */ + ioqueue = pj_pool_zalloc(pool, sizeof(*ioqueue)); + ioqueue->iocp = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0); + if (ioqueue->iocp == NULL) + return PJ_RETURN_OS_ERROR(GetLastError()); + + /* Create IOCP mutex */ + rc = pj_lock_create_recursive_mutex(pool, NULL, &ioqueue->lock); + if (rc != PJ_SUCCESS) { + CloseHandle(ioqueue->iocp); + return rc; + } + + ioqueue->auto_delete_lock = PJ_TRUE; + ioqueue->default_concurrency = PJ_IOQUEUE_DEFAULT_ALLOW_CONCURRENCY; + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* + * Create and initialize key pools. + */ + pj_list_init(&ioqueue->active_list); + pj_list_init(&ioqueue->free_list); + pj_list_init(&ioqueue->closing_list); + + /* Preallocate keys according to max_fd setting, and put them + * in free_list. + */ + for (i=0; iref_count); + if (rc != PJ_SUCCESS) { + key = ioqueue->free_list.next; + while (key != &ioqueue->free_list) { + pj_atomic_destroy(key->ref_count); + pj_mutex_destroy(key->mutex); + key = key->next; + } + CloseHandle(ioqueue->iocp); + return rc; + } + + rc = pj_mutex_create_recursive(pool, "ioqkey", &key->mutex); + if (rc != PJ_SUCCESS) { + pj_atomic_destroy(key->ref_count); + key = ioqueue->free_list.next; + while (key != &ioqueue->free_list) { + pj_atomic_destroy(key->ref_count); + pj_mutex_destroy(key->mutex); + key = key->next; + } + CloseHandle(ioqueue->iocp); + return rc; + } + + pj_list_push_back(&ioqueue->free_list, key); + } +#endif + + *p_ioqueue = ioqueue; + + PJ_LOG(4, ("pjlib", "WinNT IOCP I/O Queue created (%p)", ioqueue)); + return PJ_SUCCESS; +} + +/* + * pj_ioqueue_destroy() + */ +PJ_DEF(pj_status_t) pj_ioqueue_destroy( pj_ioqueue_t *ioqueue ) +{ +#if PJ_HAS_TCP + unsigned i; +#endif + pj_ioqueue_key_t *key; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(ioqueue, PJ_EINVAL); + + pj_lock_acquire(ioqueue->lock); + +#if PJ_HAS_TCP + /* Destroy events in the pool */ + for (i=0; ievent_count; ++i) { + CloseHandle(ioqueue->event_pool[i]); + } + ioqueue->event_count = 0; +#endif + + if (CloseHandle(ioqueue->iocp) != TRUE) + return PJ_RETURN_OS_ERROR(GetLastError()); + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Destroy reference counters */ + key = ioqueue->active_list.next; + while (key != &ioqueue->active_list) { + pj_atomic_destroy(key->ref_count); + pj_mutex_destroy(key->mutex); + key = key->next; + } + + key = ioqueue->closing_list.next; + while (key != &ioqueue->closing_list) { + pj_atomic_destroy(key->ref_count); + pj_mutex_destroy(key->mutex); + key = key->next; + } + + key = ioqueue->free_list.next; + while (key != &ioqueue->free_list) { + pj_atomic_destroy(key->ref_count); + pj_mutex_destroy(key->mutex); + key = key->next; + } +#endif + + if (ioqueue->auto_delete_lock) + pj_lock_destroy(ioqueue->lock); + + return PJ_SUCCESS; +} + + +PJ_DEF(pj_status_t) pj_ioqueue_set_default_concurrency(pj_ioqueue_t *ioqueue, + pj_bool_t allow) +{ + PJ_ASSERT_RETURN(ioqueue != NULL, PJ_EINVAL); + ioqueue->default_concurrency = allow; + return PJ_SUCCESS; +} + +/* + * pj_ioqueue_set_lock() + */ +PJ_DEF(pj_status_t) pj_ioqueue_set_lock( pj_ioqueue_t *ioqueue, + pj_lock_t *lock, + pj_bool_t auto_delete ) +{ + PJ_ASSERT_RETURN(ioqueue && lock, PJ_EINVAL); + + if (ioqueue->auto_delete_lock) { + pj_lock_destroy(ioqueue->lock); + } + + ioqueue->lock = lock; + ioqueue->auto_delete_lock = auto_delete; + + return PJ_SUCCESS; +} + +/* + * pj_ioqueue_register_sock() + */ +PJ_DEF(pj_status_t) pj_ioqueue_register_sock( pj_pool_t *pool, + pj_ioqueue_t *ioqueue, + pj_sock_t sock, + void *user_data, + const pj_ioqueue_callback *cb, + pj_ioqueue_key_t **key ) +{ + HANDLE hioq; + pj_ioqueue_key_t *rec; + u_long value; + int rc; + + PJ_ASSERT_RETURN(pool && ioqueue && cb && key, PJ_EINVAL); + + pj_lock_acquire(ioqueue->lock); + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Scan closing list first to release unused keys. + * Must do this with lock acquired. + */ + scan_closing_keys(ioqueue); + + /* If safe unregistration is used, then get the key record from + * the free list. + */ + if (pj_list_empty(&ioqueue->free_list)) { + pj_lock_release(ioqueue->lock); + return PJ_ETOOMANY; + } + + rec = ioqueue->free_list.next; + pj_list_erase(rec); + + /* Set initial reference count to 1 */ + pj_assert(pj_atomic_get(rec->ref_count) == 0); + pj_atomic_inc(rec->ref_count); + + rec->closing = 0; + +#else + rec = pj_pool_zalloc(pool, sizeof(pj_ioqueue_key_t)); +#endif + + /* Build the key for this socket. */ + rec->ioqueue = ioqueue; + rec->hnd = (HANDLE)sock; + rec->hnd_type = HND_IS_SOCKET; + rec->user_data = user_data; + pj_memcpy(&rec->cb, cb, sizeof(pj_ioqueue_callback)); + + /* Set concurrency for this handle */ + rc = pj_ioqueue_set_concurrency(rec, ioqueue->default_concurrency); + if (rc != PJ_SUCCESS) { + pj_lock_release(ioqueue->lock); + return rc; + } + +#if PJ_HAS_TCP + rec->connecting = 0; +#endif + + /* Set socket to nonblocking. */ + value = 1; + rc = ioctlsocket(sock, FIONBIO, &value); + if (rc != 0) { + pj_lock_release(ioqueue->lock); + return PJ_RETURN_OS_ERROR(WSAGetLastError()); + } + + /* Associate with IOCP */ + hioq = CreateIoCompletionPort((HANDLE)sock, ioqueue->iocp, (DWORD)rec, 0); + if (!hioq) { + pj_lock_release(ioqueue->lock); + return PJ_RETURN_OS_ERROR(GetLastError()); + } + + *key = rec; + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + pj_list_push_back(&ioqueue->active_list, rec); +#endif + + pj_lock_release(ioqueue->lock); + + return PJ_SUCCESS; +} + + +/* + * pj_ioqueue_get_user_data() + */ +PJ_DEF(void*) pj_ioqueue_get_user_data( pj_ioqueue_key_t *key ) +{ + PJ_ASSERT_RETURN(key, NULL); + return key->user_data; +} + +/* + * pj_ioqueue_set_user_data() + */ +PJ_DEF(pj_status_t) pj_ioqueue_set_user_data( pj_ioqueue_key_t *key, + void *user_data, + void **old_data ) +{ + PJ_ASSERT_RETURN(key, PJ_EINVAL); + + if (old_data) + *old_data = key->user_data; + + key->user_data = user_data; + return PJ_SUCCESS; +} + + +#if PJ_IOQUEUE_HAS_SAFE_UNREG +/* Decrement the key's reference counter, and when the counter reach zero, + * destroy the key. + */ +static void decrement_counter(pj_ioqueue_key_t *key) +{ + if (pj_atomic_dec_and_get(key->ref_count) == 0) { + + pj_lock_acquire(key->ioqueue->lock); + + pj_assert(key->closing == 1); + pj_gettickcount(&key->free_time); + key->free_time.msec += PJ_IOQUEUE_KEY_FREE_DELAY; + pj_time_val_normalize(&key->free_time); + + pj_list_erase(key); + pj_list_push_back(&key->ioqueue->closing_list, key); + + pj_lock_release(key->ioqueue->lock); + } +} +#endif + +/* + * Poll the I/O Completion Port, execute callback, + * and return the key and bytes transferred of the last operation. + */ +static pj_bool_t poll_iocp( HANDLE hIocp, DWORD dwTimeout, + pj_ssize_t *p_bytes, pj_ioqueue_key_t **p_key ) +{ + DWORD dwBytesTransferred, dwKey; + generic_overlapped *pOv; + pj_ioqueue_key_t *key; + pj_ssize_t size_status = -1; + BOOL rcGetQueued; + + /* Poll for completion status. */ + rcGetQueued = GetQueuedCompletionStatus(hIocp, &dwBytesTransferred, + &dwKey, (OVERLAPPED**)&pOv, + dwTimeout); + + /* The return value is: + * - nonzero if event was dequeued. + * - zero and pOv==NULL if no event was dequeued. + * - zero and pOv!=NULL if event for failed I/O was dequeued. + */ + if (pOv) { + pj_bool_t has_lock; + + /* Event was dequeued for either successfull or failed I/O */ + key = (pj_ioqueue_key_t*)dwKey; + size_status = dwBytesTransferred; + + /* Report to caller regardless */ + if (p_bytes) + *p_bytes = size_status; + if (p_key) + *p_key = key; + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* We shouldn't call callbacks if key is quitting. */ + if (key->closing) + return PJ_TRUE; + + /* If concurrency is disabled, lock the key + * (and save the lock status to local var since app may change + * concurrency setting while in the callback) */ + if (key->allow_concurrent == PJ_FALSE) { + pj_mutex_lock(key->mutex); + has_lock = PJ_TRUE; + } else { + has_lock = PJ_FALSE; + } + + /* Now that we get the lock, check again that key is not closing */ + if (key->closing) { + if (has_lock) { + pj_mutex_unlock(key->mutex); + } + return PJ_TRUE; + } + + /* Increment reference counter to prevent this key from being + * deleted + */ + pj_atomic_inc(key->ref_count); +#else + PJ_UNUSED_ARG(has_lock); +#endif + + /* Carry out the callback */ + switch (pOv->operation) { + case PJ_IOQUEUE_OP_READ: + case PJ_IOQUEUE_OP_RECV: + case PJ_IOQUEUE_OP_RECV_FROM: + pOv->operation = 0; + if (key->cb.on_read_complete) + key->cb.on_read_complete(key, (pj_ioqueue_op_key_t*)pOv, + size_status); + break; + case PJ_IOQUEUE_OP_WRITE: + case PJ_IOQUEUE_OP_SEND: + case PJ_IOQUEUE_OP_SEND_TO: + pOv->operation = 0; + if (key->cb.on_write_complete) + key->cb.on_write_complete(key, (pj_ioqueue_op_key_t*)pOv, + size_status); + break; +#if PJ_HAS_TCP + case PJ_IOQUEUE_OP_ACCEPT: + /* special case for accept. */ + ioqueue_on_accept_complete(key, (ioqueue_accept_rec*)pOv); + if (key->cb.on_accept_complete) { + ioqueue_accept_rec *accept_rec = (ioqueue_accept_rec*)pOv; + pj_status_t status = PJ_SUCCESS; + pj_sock_t newsock; + + newsock = accept_rec->newsock; + accept_rec->newsock = PJ_INVALID_SOCKET; + + if (newsock == PJ_INVALID_SOCKET) { + int dwError = WSAGetLastError(); + if (dwError == 0) dwError = OSERR_ENOTCONN; + status = PJ_RETURN_OS_ERROR(dwError); + } + + key->cb.on_accept_complete(key, (pj_ioqueue_op_key_t*)pOv, + newsock, status); + + } + break; + case PJ_IOQUEUE_OP_CONNECT: +#endif + case PJ_IOQUEUE_OP_NONE: + pj_assert(0); + break; + } + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + decrement_counter(key); + if (has_lock) + pj_mutex_unlock(key->mutex); +#endif + + return PJ_TRUE; + } + + /* No event was queued. */ + return PJ_FALSE; +} + +/* + * pj_ioqueue_unregister() + */ +PJ_DEF(pj_status_t) pj_ioqueue_unregister( pj_ioqueue_key_t *key ) +{ + unsigned i; + pj_bool_t has_lock; + enum { RETRY = 10 }; + + PJ_ASSERT_RETURN(key, PJ_EINVAL); + +#if PJ_HAS_TCP + if (key->connecting) { + unsigned pos; + pj_ioqueue_t *ioqueue; + + ioqueue = key->ioqueue; + + /* Erase from connecting_handles */ + pj_lock_acquire(ioqueue->lock); + for (pos=0; pos < ioqueue->connecting_count; ++pos) { + if (ioqueue->connecting_keys[pos] == key) { + erase_connecting_socket(ioqueue, pos); + break; + } + } + key->connecting = 0; + pj_lock_release(ioqueue->lock); + } +#endif + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Mark key as closing before closing handle. */ + key->closing = 1; + + /* If concurrency is disabled, wait until the key has finished + * processing the callback + */ + if (key->allow_concurrent == PJ_FALSE) { + pj_mutex_lock(key->mutex); + has_lock = PJ_TRUE; + } else { + has_lock = PJ_FALSE; + } +#else + PJ_UNUSED_ARG(has_lock); +#endif + + /* Close handle (the only way to disassociate handle from IOCP). + * We also need to close handle to make sure that no further events + * will come to the handle. + */ + /* Update 2008/07/18 (http://trac.pjsip.org/repos/ticket/575): + * - It seems that CloseHandle() in itself does not actually close + * the socket (i.e. it will still appear in "netstat" output). Also + * if we only use CloseHandle(), an "Invalid Handle" exception will + * be raised in WSACleanup(). + * - MSDN documentation says that CloseHandle() must be called after + * closesocket() call (see + * http://msdn.microsoft.com/en-us/library/ms724211(VS.85).aspx). + * But turns out that this will raise "Invalid Handle" exception + * in debug mode. + * So because of this, we replaced CloseHandle() with closesocket() + * instead. These was tested on WinXP SP2. + */ + //CloseHandle(key->hnd); + pj_sock_close((pj_sock_t)key->hnd); + + /* Reset callbacks */ + key->cb.on_accept_complete = NULL; + key->cb.on_connect_complete = NULL; + key->cb.on_read_complete = NULL; + key->cb.on_write_complete = NULL; + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Even after handle is closed, I suspect that IOCP may still try to + * do something with the handle, causing memory corruption when pool + * debugging is enabled. + * + * Forcing context switch seems to have fixed that, but this is quite + * an ugly solution.. + * + * Update 2008/02/13: + * This should not happen if concurrency is disallowed for the key. + * So at least application has a solution for this (i.e. by disallowing + * concurrency in the key). + */ + //This will loop forever if unregistration is done on the callback. + //Doing this with RETRY I think should solve the IOCP setting the + //socket signalled, without causing the deadlock. + //while (pj_atomic_get(key->ref_count) != 1) + // pj_thread_sleep(0); + for (i=0; pj_atomic_get(key->ref_count) != 1 && imutex); +#endif + + return PJ_SUCCESS; +} + +#if PJ_IOQUEUE_HAS_SAFE_UNREG +/* Scan the closing list, and put pending closing keys to free list. + * Must do this with ioqueue mutex held. + */ +static void scan_closing_keys(pj_ioqueue_t *ioqueue) +{ + if (!pj_list_empty(&ioqueue->closing_list)) { + pj_time_val now; + pj_ioqueue_key_t *key; + + pj_gettickcount(&now); + + /* Move closing keys to free list when they've finished the closing + * idle time. + */ + key = ioqueue->closing_list.next; + while (key != &ioqueue->closing_list) { + pj_ioqueue_key_t *next = key->next; + + pj_assert(key->closing != 0); + + if (PJ_TIME_VAL_GTE(now, key->free_time)) { + pj_list_erase(key); + pj_list_push_back(&ioqueue->free_list, key); + } + key = next; + } + } +} +#endif + +/* + * pj_ioqueue_poll() + * + * Poll for events. + */ +PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioqueue, const pj_time_val *timeout) +{ + DWORD dwMsec; +#if PJ_HAS_TCP + int connect_count = 0; +#endif + int event_count = 0; + + PJ_ASSERT_RETURN(ioqueue, -PJ_EINVAL); + + /* Calculate miliseconds timeout for GetQueuedCompletionStatus */ + dwMsec = timeout ? timeout->sec*1000 + timeout->msec : INFINITE; + + /* Poll for completion status. */ + event_count = poll_iocp(ioqueue->iocp, dwMsec, NULL, NULL); + +#if PJ_HAS_TCP + /* Check the connecting array, only when there's no activity. */ + if (event_count == 0) { + connect_count = check_connecting(ioqueue); + if (connect_count > 0) + event_count += connect_count; + } +#endif + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Check the closing keys only when there's no activity and when there are + * pending closing keys. + */ + if (event_count == 0 && !pj_list_empty(&ioqueue->closing_list)) { + pj_lock_acquire(ioqueue->lock); + scan_closing_keys(ioqueue); + pj_lock_release(ioqueue->lock); + } +#endif + + /* Return number of events. */ + return event_count; +} + +/* + * pj_ioqueue_recv() + * + * Initiate overlapped WSARecv() operation. + */ +PJ_DEF(pj_status_t) pj_ioqueue_recv( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + void *buffer, + pj_ssize_t *length, + pj_uint32_t flags ) +{ + /* + * Ideally we should just call pj_ioqueue_recvfrom() with NULL addr and + * addrlen here. But unfortunately it generates EINVAL... :-( + * -bennylp + */ + int rc; + DWORD bytesRead; + DWORD dwFlags = 0; + union operation_key *op_key_rec; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(key && op_key && buffer && length, PJ_EINVAL); + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Check key is not closing */ + if (key->closing) + return PJ_ECANCELLED; +#endif + + op_key_rec = (union operation_key*)op_key->internal__; + op_key_rec->overlapped.wsabuf.buf = buffer; + op_key_rec->overlapped.wsabuf.len = *length; + + dwFlags = flags; + + /* Try non-overlapped received first to see if data is + * immediately available. + */ + if ((flags & PJ_IOQUEUE_ALWAYS_ASYNC) == 0) { + rc = WSARecv((SOCKET)key->hnd, &op_key_rec->overlapped.wsabuf, 1, + &bytesRead, &dwFlags, NULL, NULL); + if (rc == 0) { + *length = bytesRead; + return PJ_SUCCESS; + } else { + DWORD dwError = WSAGetLastError(); + if (dwError != WSAEWOULDBLOCK) { + *length = -1; + return PJ_RETURN_OS_ERROR(dwError); + } + } + } + + dwFlags &= ~(PJ_IOQUEUE_ALWAYS_ASYNC); + + /* + * No immediate data available. + * Register overlapped Recv() operation. + */ + pj_bzero( &op_key_rec->overlapped.overlapped, + sizeof(op_key_rec->overlapped.overlapped)); + op_key_rec->overlapped.operation = PJ_IOQUEUE_OP_RECV; + + rc = WSARecv((SOCKET)key->hnd, &op_key_rec->overlapped.wsabuf, 1, + &bytesRead, &dwFlags, + &op_key_rec->overlapped.overlapped, NULL); + if (rc == SOCKET_ERROR) { + DWORD dwStatus = WSAGetLastError(); + if (dwStatus!=WSA_IO_PENDING) { + *length = -1; + return PJ_STATUS_FROM_OS(dwStatus); + } + } + + /* Pending operation has been scheduled. */ + return PJ_EPENDING; +} + +/* + * pj_ioqueue_recvfrom() + * + * Initiate overlapped RecvFrom() operation. + */ +PJ_DEF(pj_status_t) pj_ioqueue_recvfrom( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + void *buffer, + pj_ssize_t *length, + pj_uint32_t flags, + pj_sockaddr_t *addr, + int *addrlen) +{ + int rc; + DWORD bytesRead; + DWORD dwFlags = 0; + union operation_key *op_key_rec; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(key && op_key && buffer, PJ_EINVAL); + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Check key is not closing */ + if (key->closing) + return PJ_ECANCELLED; +#endif + + op_key_rec = (union operation_key*)op_key->internal__; + op_key_rec->overlapped.wsabuf.buf = buffer; + op_key_rec->overlapped.wsabuf.len = *length; + + dwFlags = flags; + + /* Try non-overlapped received first to see if data is + * immediately available. + */ + if ((flags & PJ_IOQUEUE_ALWAYS_ASYNC) == 0) { + rc = WSARecvFrom((SOCKET)key->hnd, &op_key_rec->overlapped.wsabuf, 1, + &bytesRead, &dwFlags, addr, addrlen, NULL, NULL); + if (rc == 0) { + *length = bytesRead; + return PJ_SUCCESS; + } else { + DWORD dwError = WSAGetLastError(); + if (dwError != WSAEWOULDBLOCK) { + *length = -1; + return PJ_RETURN_OS_ERROR(dwError); + } + } + } + + dwFlags &= ~(PJ_IOQUEUE_ALWAYS_ASYNC); + + /* + * No immediate data available. + * Register overlapped Recv() operation. + */ + pj_bzero( &op_key_rec->overlapped.overlapped, + sizeof(op_key_rec->overlapped.overlapped)); + op_key_rec->overlapped.operation = PJ_IOQUEUE_OP_RECV; + + rc = WSARecvFrom((SOCKET)key->hnd, &op_key_rec->overlapped.wsabuf, 1, + &bytesRead, &dwFlags, addr, addrlen, + &op_key_rec->overlapped.overlapped, NULL); + if (rc == SOCKET_ERROR) { + DWORD dwStatus = WSAGetLastError(); + if (dwStatus!=WSA_IO_PENDING) { + *length = -1; + return PJ_STATUS_FROM_OS(dwStatus); + } + } + + /* Pending operation has been scheduled. */ + return PJ_EPENDING; +} + +/* + * pj_ioqueue_send() + * + * Initiate overlapped Send operation. + */ +PJ_DEF(pj_status_t) pj_ioqueue_send( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + const void *data, + pj_ssize_t *length, + pj_uint32_t flags ) +{ + return pj_ioqueue_sendto(key, op_key, data, length, flags, NULL, 0); +} + + +/* + * pj_ioqueue_sendto() + * + * Initiate overlapped SendTo operation. + */ +PJ_DEF(pj_status_t) pj_ioqueue_sendto( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + const void *data, + pj_ssize_t *length, + pj_uint32_t flags, + const pj_sockaddr_t *addr, + int addrlen) +{ + int rc; + DWORD bytesWritten; + DWORD dwFlags; + union operation_key *op_key_rec; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(key && op_key && data, PJ_EINVAL); + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Check key is not closing */ + if (key->closing) + return PJ_ECANCELLED; +#endif + + op_key_rec = (union operation_key*)op_key->internal__; + + /* + * First try blocking write. + */ + op_key_rec->overlapped.wsabuf.buf = (void*)data; + op_key_rec->overlapped.wsabuf.len = *length; + + dwFlags = flags; + + if ((flags & PJ_IOQUEUE_ALWAYS_ASYNC) == 0) { + rc = WSASendTo((SOCKET)key->hnd, &op_key_rec->overlapped.wsabuf, 1, + &bytesWritten, dwFlags, addr, addrlen, + NULL, NULL); + if (rc == 0) { + *length = bytesWritten; + return PJ_SUCCESS; + } else { + DWORD dwStatus = WSAGetLastError(); + if (dwStatus != WSAEWOULDBLOCK) { + *length = -1; + return PJ_RETURN_OS_ERROR(dwStatus); + } + } + } + + dwFlags &= ~(PJ_IOQUEUE_ALWAYS_ASYNC); + + /* + * Data can't be sent immediately. + * Schedule asynchronous WSASend(). + */ + pj_bzero( &op_key_rec->overlapped.overlapped, + sizeof(op_key_rec->overlapped.overlapped)); + op_key_rec->overlapped.operation = PJ_IOQUEUE_OP_SEND; + + rc = WSASendTo((SOCKET)key->hnd, &op_key_rec->overlapped.wsabuf, 1, + &bytesWritten, dwFlags, addr, addrlen, + &op_key_rec->overlapped.overlapped, NULL); + if (rc == SOCKET_ERROR) { + DWORD dwStatus = WSAGetLastError(); + if (dwStatus!=WSA_IO_PENDING) + return PJ_STATUS_FROM_OS(dwStatus); + } + + /* Asynchronous operation successfully submitted. */ + return PJ_EPENDING; +} + +#if PJ_HAS_TCP + +/* + * pj_ioqueue_accept() + * + * Initiate overlapped accept() operation. + */ +PJ_DEF(pj_status_t) pj_ioqueue_accept( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_sock_t *new_sock, + pj_sockaddr_t *local, + pj_sockaddr_t *remote, + int *addrlen) +{ + BOOL rc; + DWORD bytesReceived; + pj_status_t status; + union operation_key *op_key_rec; + SOCKET sock; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(key && op_key && new_sock, PJ_EINVAL); + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Check key is not closing */ + if (key->closing) + return PJ_ECANCELLED; +#endif + + /* + * See if there is a new connection immediately available. + */ + sock = WSAAccept((SOCKET)key->hnd, remote, addrlen, NULL, 0); + if (sock != INVALID_SOCKET) { + /* Yes! New socket is available! */ + if (local && addrlen) { + int status; + + /* On WinXP or later, use SO_UPDATE_ACCEPT_CONTEXT so that socket + * addresses can be obtained with getsockname() and getpeername(). + */ + status = setsockopt(sock, SOL_SOCKET, SO_UPDATE_ACCEPT_CONTEXT, + (char*)&key->hnd, sizeof(SOCKET)); + /* SO_UPDATE_ACCEPT_CONTEXT is for WinXP or later. + * So ignore the error status. + */ + + status = getsockname(sock, local, addrlen); + if (status != 0) { + DWORD dwError = WSAGetLastError(); + closesocket(sock); + return PJ_RETURN_OS_ERROR(dwError); + } + } + + *new_sock = sock; + return PJ_SUCCESS; + + } else { + DWORD dwError = WSAGetLastError(); + if (dwError != WSAEWOULDBLOCK) { + return PJ_RETURN_OS_ERROR(dwError); + } + } + + /* + * No connection is immediately available. + * Must schedule an asynchronous operation. + */ + op_key_rec = (union operation_key*)op_key->internal__; + + status = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, + &op_key_rec->accept.newsock); + if (status != PJ_SUCCESS) + return status; + + op_key_rec->accept.operation = PJ_IOQUEUE_OP_ACCEPT; + op_key_rec->accept.addrlen = addrlen; + op_key_rec->accept.local = local; + op_key_rec->accept.remote = remote; + op_key_rec->accept.newsock_ptr = new_sock; + pj_bzero( &op_key_rec->accept.overlapped, + sizeof(op_key_rec->accept.overlapped)); + + rc = AcceptEx( (SOCKET)key->hnd, (SOCKET)op_key_rec->accept.newsock, + op_key_rec->accept.accept_buf, + 0, ACCEPT_ADDR_LEN, ACCEPT_ADDR_LEN, + &bytesReceived, + &op_key_rec->accept.overlapped ); + + if (rc == TRUE) { + ioqueue_on_accept_complete(key, &op_key_rec->accept); + return PJ_SUCCESS; + } else { + DWORD dwStatus = WSAGetLastError(); + if (dwStatus!=WSA_IO_PENDING) + return PJ_STATUS_FROM_OS(dwStatus); + } + + /* Asynchronous Accept() has been submitted. */ + return PJ_EPENDING; +} + + +/* + * pj_ioqueue_connect() + * + * Initiate overlapped connect() operation (well, it's non-blocking actually, + * since there's no overlapped version of connect()). + */ +PJ_DEF(pj_status_t) pj_ioqueue_connect( pj_ioqueue_key_t *key, + const pj_sockaddr_t *addr, + int addrlen ) +{ + HANDLE hEvent; + pj_ioqueue_t *ioqueue; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(key && addr && addrlen, PJ_EINVAL); + +#if PJ_IOQUEUE_HAS_SAFE_UNREG + /* Check key is not closing */ + if (key->closing) + return PJ_ECANCELLED; +#endif + + /* Initiate connect() */ + if (connect((pj_sock_t)key->hnd, addr, addrlen) != 0) { + DWORD dwStatus; + dwStatus = WSAGetLastError(); + if (dwStatus != WSAEWOULDBLOCK) { + return PJ_RETURN_OS_ERROR(dwStatus); + } + } else { + /* Connect has completed immediately! */ + return PJ_SUCCESS; + } + + ioqueue = key->ioqueue; + + /* Add to the array of connecting socket to be polled */ + pj_lock_acquire(ioqueue->lock); + + if (ioqueue->connecting_count >= MAXIMUM_WAIT_OBJECTS) { + pj_lock_release(ioqueue->lock); + return PJ_ETOOMANYCONN; + } + + /* Get or create event object. */ + if (ioqueue->event_count) { + hEvent = ioqueue->event_pool[ioqueue->event_count - 1]; + --ioqueue->event_count; + } else { + hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); + if (hEvent == NULL) { + DWORD dwStatus = GetLastError(); + pj_lock_release(ioqueue->lock); + return PJ_STATUS_FROM_OS(dwStatus); + } + } + + /* Mark key as connecting. + * We can't use array index since key can be removed dynamically. + */ + key->connecting = 1; + + /* Associate socket events to the event object. */ + if (WSAEventSelect((pj_sock_t)key->hnd, hEvent, FD_CONNECT) != 0) { + CloseHandle(hEvent); + pj_lock_release(ioqueue->lock); + return PJ_RETURN_OS_ERROR(WSAGetLastError()); + } + + /* Add to array. */ + ioqueue->connecting_keys[ ioqueue->connecting_count ] = key; + ioqueue->connecting_handles[ ioqueue->connecting_count ] = hEvent; + ioqueue->connecting_count++; + + pj_lock_release(ioqueue->lock); + + return PJ_EPENDING; +} +#endif /* #if PJ_HAS_TCP */ + + +PJ_DEF(void) pj_ioqueue_op_key_init( pj_ioqueue_op_key_t *op_key, + pj_size_t size ) +{ + pj_bzero(op_key, size); +} + +PJ_DEF(pj_bool_t) pj_ioqueue_is_pending( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key ) +{ + BOOL rc; + DWORD bytesTransferred; + + rc = GetOverlappedResult( key->hnd, (LPOVERLAPPED)op_key, + &bytesTransferred, FALSE ); + + if (rc == FALSE) { + return GetLastError()==ERROR_IO_INCOMPLETE; + } + + return FALSE; +} + + +PJ_DEF(pj_status_t) pj_ioqueue_post_completion( pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_status ) +{ + BOOL rc; + + rc = PostQueuedCompletionStatus(key->ioqueue->iocp, bytes_status, + (long)key, (OVERLAPPED*)op_key ); + if (rc == FALSE) { + return PJ_RETURN_OS_ERROR(GetLastError()); + } + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_ioqueue_set_concurrency(pj_ioqueue_key_t *key, + pj_bool_t allow) +{ + PJ_ASSERT_RETURN(key, PJ_EINVAL); + + /* PJ_IOQUEUE_HAS_SAFE_UNREG must be enabled if concurrency is + * disabled. + */ + PJ_ASSERT_RETURN(allow || PJ_IOQUEUE_HAS_SAFE_UNREG, PJ_EINVAL); + + key->allow_concurrent = allow; + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_ioqueue_lock_key(pj_ioqueue_key_t *key) +{ +#if PJ_IOQUEUE_HAS_SAFE_UNREG + return pj_mutex_lock(key->mutex); +#else + PJ_ASSERT_RETURN(!"PJ_IOQUEUE_HAS_SAFE_UNREG is disabled", PJ_EINVALIDOP); +#endif +} + +PJ_DEF(pj_status_t) pj_ioqueue_unlock_key(pj_ioqueue_key_t *key) +{ +#if PJ_IOQUEUE_HAS_SAFE_UNREG + return pj_mutex_unlock(key->mutex); +#else + PJ_ASSERT_RETURN(!"PJ_IOQUEUE_HAS_SAFE_UNREG is disabled", PJ_EINVALIDOP); +#endif +} + diff --git a/pjlib/src/pj/ip_helper_generic.c b/pjlib/src/pj/ip_helper_generic.c new file mode 100644 index 0000000..94d5a1f --- /dev/null +++ b/pjlib/src/pj/ip_helper_generic.c @@ -0,0 +1,409 @@ +/* $Id: ip_helper_generic.c 4355 2013-02-19 16:27:37Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include + +/* Set to 1 to enable tracing */ +#if 0 +# include +# define THIS_FILE "ip_helper_generic.c" +# define TRACE_(exp) PJ_LOG(5,exp) + static const char *get_os_errmsg(void) + { + static char errmsg[PJ_ERR_MSG_SIZE]; + pj_strerror(pj_get_os_error(), errmsg, sizeof(errmsg)); + return errmsg; + } + static const char *get_addr(void *addr) + { + static char txt[PJ_INET6_ADDRSTRLEN]; + struct sockaddr *ad = (struct sockaddr*)addr; + if (ad->sa_family != PJ_AF_INET && ad->sa_family != PJ_AF_INET6) + return "?"; + return pj_inet_ntop2(ad->sa_family, pj_sockaddr_get_addr(ad), + txt, sizeof(txt)); + } +#else +# define TRACE_(exp) +#endif + + +#if 0 + /* dummy */ + +#elif defined(PJ_HAS_IFADDRS_H) && PJ_HAS_IFADDRS_H != 0 && \ + defined(PJ_HAS_NET_IF_H) && PJ_HAS_NET_IF_H != 0 +/* Using getifaddrs() is preferred since it can work with both IPv4 and IPv6 */ +static pj_status_t if_enum_by_af(int af, + unsigned *p_cnt, + pj_sockaddr ifs[]) +{ + struct ifaddrs *ifap = NULL, *it; + unsigned max; + + PJ_ASSERT_RETURN(af==PJ_AF_INET || af==PJ_AF_INET6, PJ_EINVAL); + + TRACE_((THIS_FILE, "Starting interface enum with getifaddrs() for af=%d", + af)); + + if (getifaddrs(&ifap) != 0) { + TRACE_((THIS_FILE, " getifarrds() failed: %s", get_os_errmsg())); + return PJ_RETURN_OS_ERROR(pj_get_netos_error()); + } + + it = ifap; + max = *p_cnt; + *p_cnt = 0; + for (; it!=NULL && *p_cnt < max; it = it->ifa_next) { + struct sockaddr *ad = it->ifa_addr; + + TRACE_((THIS_FILE, " checking %s", it->ifa_name)); + + if ((it->ifa_flags & IFF_UP)==0) { + TRACE_((THIS_FILE, " interface is down")); + continue; /* Skip when interface is down */ + } + +#if PJ_IP_HELPER_IGNORE_LOOPBACK_IF + if (it->ifa_flags & IFF_LOOPBACK) { + TRACE_((THIS_FILE, " loopback interface")); + continue; /* Skip loopback interface */ + } +#endif + + if (ad==NULL) { + TRACE_((THIS_FILE, " NULL address ignored")); + continue; /* reported to happen on Linux 2.6.25.9 + with ppp interface */ + } + + if (ad->sa_family != af) { + TRACE_((THIS_FILE, " address %s ignored (af=%d)", + get_addr(ad), ad->sa_family)); + continue; /* Skip when interface is down */ + } + + /* Ignore 0.0.0.0/8 address. This is a special address + * which doesn't seem to have practical use. + */ + if (af==pj_AF_INET() && + (pj_ntohl(((pj_sockaddr_in*)ad)->sin_addr.s_addr) >> 24) == 0) + { + TRACE_((THIS_FILE, " address %s ignored (0.0.0.0/8 class)", + get_addr(ad), ad->sa_family)); + continue; + } + + TRACE_((THIS_FILE, " address %s (af=%d) added at index %d", + get_addr(ad), ad->sa_family, *p_cnt)); + + pj_bzero(&ifs[*p_cnt], sizeof(ifs[0])); + pj_memcpy(&ifs[*p_cnt], ad, pj_sockaddr_get_len(ad)); + PJ_SOCKADDR_RESET_LEN(&ifs[*p_cnt]); + (*p_cnt)++; + } + + freeifaddrs(ifap); + TRACE_((THIS_FILE, "done, found %d address(es)", *p_cnt)); + return (*p_cnt != 0) ? PJ_SUCCESS : PJ_ENOTFOUND; +} + +#elif defined(SIOCGIFCONF) && \ + defined(PJ_HAS_NET_IF_H) && PJ_HAS_NET_IF_H != 0 + +/* Note: this does not work with IPv6 */ +static pj_status_t if_enum_by_af(int af, + unsigned *p_cnt, + pj_sockaddr ifs[]) +{ + pj_sock_t sock; + char buf[512]; + struct ifconf ifc; + struct ifreq *ifr; + int i, count; + pj_status_t status; + + PJ_ASSERT_RETURN(af==PJ_AF_INET || af==PJ_AF_INET6, PJ_EINVAL); + + TRACE_((THIS_FILE, "Starting interface enum with SIOCGIFCONF for af=%d", + af)); + + status = pj_sock_socket(af, PJ_SOCK_DGRAM, 0, &sock); + if (status != PJ_SUCCESS) + return status; + + /* Query available interfaces */ + ifc.ifc_len = sizeof(buf); + ifc.ifc_buf = buf; + + if (ioctl(sock, SIOCGIFCONF, &ifc) < 0) { + int oserr = pj_get_netos_error(); + TRACE_((THIS_FILE, " ioctl(SIOCGIFCONF) failed: %s", get_os_errmsg())); + pj_sock_close(sock); + return PJ_RETURN_OS_ERROR(oserr); + } + + /* Interface interfaces */ + ifr = (struct ifreq*) ifc.ifc_req; + count = ifc.ifc_len / sizeof(struct ifreq); + if (count > *p_cnt) + count = *p_cnt; + + *p_cnt = 0; + for (i=0; iifr_addr; + + TRACE_((THIS_FILE, " checking interface %s", itf->ifr_name)); + + /* Skip address with different family */ + if (ad->sa_family != af) { + TRACE_((THIS_FILE, " address %s (af=%d) ignored", + get_addr(ad), (int)ad->sa_family)); + continue; + } + + if (ioctl(sock, SIOCGIFFLAGS, &iff) != 0) { + TRACE_((THIS_FILE, " ioctl(SIOCGIFFLAGS) failed: %s", + get_os_errmsg())); + continue; /* Failed to get flags, continue */ + } + + if ((iff.ifr_flags & IFF_UP)==0) { + TRACE_((THIS_FILE, " interface is down")); + continue; /* Skip when interface is down */ + } + +#if PJ_IP_HELPER_IGNORE_LOOPBACK_IF + if (iff.ifr_flags & IFF_LOOPBACK) { + TRACE_((THIS_FILE, " loopback interface")); + continue; /* Skip loopback interface */ + } +#endif + + /* Ignore 0.0.0.0/8 address. This is a special address + * which doesn't seem to have practical use. + */ + if (af==pj_AF_INET() && + (pj_ntohl(((pj_sockaddr_in*)ad)->sin_addr.s_addr) >> 24) == 0) + { + TRACE_((THIS_FILE, " address %s ignored (0.0.0.0/8 class)", + get_addr(ad), ad->sa_family)); + continue; + } + + TRACE_((THIS_FILE, " address %s (af=%d) added at index %d", + get_addr(ad), ad->sa_family, *p_cnt)); + + pj_bzero(&ifs[*p_cnt], sizeof(ifs[0])); + pj_memcpy(&ifs[*p_cnt], ad, pj_sockaddr_get_len(ad)); + PJ_SOCKADDR_RESET_LEN(&ifs[*p_cnt]); + (*p_cnt)++; + } + + /* Done with socket */ + pj_sock_close(sock); + + TRACE_((THIS_FILE, "done, found %d address(es)", *p_cnt)); + return (*p_cnt != 0) ? PJ_SUCCESS : PJ_ENOTFOUND; +} + + +#elif defined(PJ_HAS_NET_IF_H) && PJ_HAS_NET_IF_H != 0 +/* Note: this does not work with IPv6 */ +static pj_status_t if_enum_by_af(int af, unsigned *p_cnt, pj_sockaddr ifs[]) +{ + struct if_nameindex *if_list; + struct ifreq ifreq; + pj_sock_t sock; + unsigned i, max_count; + pj_status_t status; + + PJ_ASSERT_RETURN(af==PJ_AF_INET || af==PJ_AF_INET6, PJ_EINVAL); + + TRACE_((THIS_FILE, "Starting if_nameindex() for af=%d", af)); + + status = pj_sock_socket(af, PJ_SOCK_DGRAM, 0, &sock); + if (status != PJ_SUCCESS) + return status; + + if_list = if_nameindex(); + if (if_list == NULL) + return PJ_ENOTFOUND; + + max_count = *p_cnt; + *p_cnt = 0; + for (i=0; if_list[i].if_index && *p_cntsa_family != af) { + TRACE_((THIS_FILE, " address %s family %d ignored", + get_addr(&ifreq.ifr_addr), + ifreq.ifr_addr.sa_family)); + continue; /* Not address family that we want, continue */ + } + + /* Ignore 0.0.0.0/8 address. This is a special address + * which doesn't seem to have practical use. + */ + if (af==pj_AF_INET() && + (pj_ntohl(((pj_sockaddr_in*)ad)->sin_addr.s_addr) >> 24) == 0) + { + TRACE_((THIS_FILE, " address %s ignored (0.0.0.0/8 class)", + get_addr(ad), ad->sa_family)); + continue; + } + + /* Got an address ! */ + TRACE_((THIS_FILE, " address %s (af=%d) added at index %d", + get_addr(ad), ad->sa_family, *p_cnt)); + + pj_bzero(&ifs[*p_cnt], sizeof(ifs[0])); + pj_memcpy(&ifs[*p_cnt], ad, pj_sockaddr_get_len(ad)); + PJ_SOCKADDR_RESET_LEN(&ifs[*p_cnt]); + (*p_cnt)++; + } + + if_freenameindex(if_list); + pj_sock_close(sock); + + TRACE_((THIS_FILE, "done, found %d address(es)", *p_cnt)); + return (*p_cnt != 0) ? PJ_SUCCESS : PJ_ENOTFOUND; +} + +#else +static pj_status_t if_enum_by_af(int af, + unsigned *p_cnt, + pj_sockaddr ifs[]) +{ + pj_status_t status; + + PJ_ASSERT_RETURN(p_cnt && *p_cnt > 0 && ifs, PJ_EINVAL); + + pj_bzero(ifs, sizeof(ifs[0]) * (*p_cnt)); + + /* Just get one default route */ + status = pj_getdefaultipinterface(af, &ifs[0]); + if (status != PJ_SUCCESS) + return status; + + *p_cnt = 1; + return PJ_SUCCESS; +} +#endif /* SIOCGIFCONF */ + +/* + * Enumerate the local IP interface currently active in the host. + */ +PJ_DEF(pj_status_t) pj_enum_ip_interface(int af, + unsigned *p_cnt, + pj_sockaddr ifs[]) +{ + unsigned start; + pj_status_t status; + + start = 0; + if (af==PJ_AF_INET6 || af==PJ_AF_UNSPEC) { + unsigned max = *p_cnt; + status = if_enum_by_af(PJ_AF_INET6, &max, &ifs[start]); + if (status == PJ_SUCCESS) { + start += max; + (*p_cnt) -= max; + } + } + + if (af==PJ_AF_INET || af==PJ_AF_UNSPEC) { + unsigned max = *p_cnt; + status = if_enum_by_af(PJ_AF_INET, &max, &ifs[start]); + if (status == PJ_SUCCESS) { + start += max; + (*p_cnt) -= max; + } + } + + *p_cnt = start; + + return (*p_cnt != 0) ? PJ_SUCCESS : PJ_ENOTFOUND; +} + +/* + * Enumerate the IP routing table for this host. + */ +PJ_DEF(pj_status_t) pj_enum_ip_route(unsigned *p_cnt, + pj_ip_route_entry routes[]) +{ + pj_sockaddr itf; + pj_status_t status; + + PJ_ASSERT_RETURN(p_cnt && *p_cnt > 0 && routes, PJ_EINVAL); + + pj_bzero(routes, sizeof(routes[0]) * (*p_cnt)); + + /* Just get one default route */ + status = pj_getdefaultipinterface(PJ_AF_INET, &itf); + if (status != PJ_SUCCESS) + return status; + + routes[0].ipv4.if_addr.s_addr = itf.ipv4.sin_addr.s_addr; + routes[0].ipv4.dst_addr.s_addr = 0; + routes[0].ipv4.mask.s_addr = 0; + *p_cnt = 1; + + return PJ_SUCCESS; +} + diff --git a/pjlib/src/pj/ip_helper_symbian.cpp b/pjlib/src/pj/ip_helper_symbian.cpp new file mode 100644 index 0000000..fb751ad --- /dev/null +++ b/pjlib/src/pj/ip_helper_symbian.cpp @@ -0,0 +1,150 @@ +/* $Id: ip_helper_symbian.cpp 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include + + +#include "os_symbian.h" + +#define THIS_FILE "ip_helper_symbian.cpp" +#define TRACE_ME 0 + +static pj_status_t rsock_enum_interface(int af, + unsigned *p_cnt, + pj_sockaddr ifs[]) +{ + TInt rc; + RSocket rSock; + TPckgBuf info; + unsigned i; + + if (PjSymbianOS::Instance()->Connection()) { + + rc = rSock.Open(PjSymbianOS::Instance()->SocketServ(), + af, PJ_SOCK_DGRAM, KProtocolInetUdp, + *PjSymbianOS::Instance()->Connection()); + } else { + + rc = rSock.Open(PjSymbianOS::Instance()->SocketServ(), + af, PJ_SOCK_DGRAM, KProtocolInetUdp); + + } + + if (rc != KErrNone) + return PJ_RETURN_OS_ERROR(rc); + + rSock.SetOpt(KSoInetEnumInterfaces, KSolInetIfCtrl); + + for (i=0; i<*p_cnt && + rSock.GetOpt(KSoInetNextInterface, KSolInetIfCtrl, + info) == KErrNone; ) + { + TInetAddr &iAddress = info().iAddress; + int namelen; + +#if TRACE_ME + if (1) { + pj_sockaddr a; + char ipaddr[PJ_INET6_ADDRSTRLEN+2]; + + namelen = sizeof(pj_sockaddr); + if (PjSymbianOS::Addr2pj(iAddress, a, &namelen, + PJ_FALSE) == PJ_SUCCESS) + { + PJ_LOG(5,(THIS_FILE, "Enum: found address %s", + pj_sockaddr_print(&a, ipaddr, sizeof(ipaddr), 2))); + } + } +#endif + + namelen = sizeof(ifs[i]); + if (PjSymbianOS::Addr2pj(iAddress, ifs[i], &namelen, + PJ_TRUE) != PJ_SUCCESS) + { + continue; + } + + if (ifs[i].addr.sa_family != af) + continue; + + ++i; + } + + rSock.Close(); + + // Done + *p_cnt = i; + + return PJ_SUCCESS; +} + +/* + * Enumerate the local IP interface currently active in the host. + */ +PJ_DEF(pj_status_t) pj_enum_ip_interface(int af, + unsigned *p_cnt, + pj_sockaddr ifs[]) +{ + unsigned start; + pj_status_t status = PJ_SUCCESS; + + start = 0; + + /* Get IPv6 interface first. */ + if (af==PJ_AF_INET6 || af==PJ_AF_UNSPEC) { + unsigned max = *p_cnt; + status = rsock_enum_interface(PJ_AF_INET6, &max, &ifs[start]); + if (status == PJ_SUCCESS) { + (*p_cnt) -= max; + start += max; + } + } + + /* Get IPv4 interface. */ + if (af==PJ_AF_INET || af==PJ_AF_UNSPEC) { + unsigned max = *p_cnt; + status = rsock_enum_interface(PJ_AF_INET, &max, &ifs[start]); + if (status == PJ_SUCCESS) { + (*p_cnt) -= max; + start += max; + } + } + + *p_cnt = start; + + return start ? PJ_SUCCESS : PJ_ENOTFOUND; +} + +/* + * Enumerate the IP routing table for this host. + */ +PJ_DEF(pj_status_t) pj_enum_ip_route(unsigned *p_cnt, + pj_ip_route_entry routes[]) +{ + PJ_ASSERT_RETURN(p_cnt && *p_cnt > 0 && routes, PJ_EINVAL); + *p_cnt = 0; + return PJ_ENOTSUP; +} + diff --git a/pjlib/src/pj/ip_helper_win32.c b/pjlib/src/pj/ip_helper_win32.c new file mode 100644 index 0000000..a924606 --- /dev/null +++ b/pjlib/src/pj/ip_helper_win32.c @@ -0,0 +1,441 @@ +/* $Id: ip_helper_win32.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include + +#define WIN32_LEAN_AND_MEAN +#include + +/* PMIB_ICMP_EX is not declared in VC6, causing error. + * But EVC4, which also claims to be VC6, does have it! + */ +#if defined(_MSC_VER) && _MSC_VER==1200 && !defined(PJ_WIN32_WINCE) +# define PMIB_ICMP_EX void* +#endif +#include + +/* If you encounter error "Cannot open include file: 'Iphlpapi.h' here, + * you need to install newer Platform SDK. Presumably you're using + * Microsoft Visual Studio 6? + */ +#include + +#include +#include +#include +#include + +/* Dealing with Unicode quirks: + + There seems to be a difference with GetProcAddress() API signature between + Windows (i.e. Win32) and Windows CE (e.g. Windows Mobile). On Windows, the + API is declared as: + + FARPROC GetProcAddress( + HMODULE hModule, + LPCSTR lpProcName); + + while on Windows CE: + + FARPROC GetProcAddress( + HMODULE hModule, + LPCWSTR lpProcName); + + Notice the difference with lpProcName argument type. This means that on + Windows, even on Unicode Windows, the lpProcName always takes ANSI format, + while on Windows CE, the argument follows the UNICODE setting. + + Because of this, we use a different Unicode treatment here than the usual + PJ_NATIVE_STRING_IS_UNICODE PJLIB setting (): + - GPA_TEXT macro: convert literal string to platform's native literal + string + - gpa_char: the platform native character type + + Note that "GPA" and "gpa" are abbreviations for GetProcAddress. +*/ +#if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 + /* on CE, follow the PJLIB Unicode setting */ +# define GPA_TEXT(x) PJ_T(x) +# define gpa_char pj_char_t +#else + /* on non-CE, always use ANSI format */ +# define GPA_TEXT(x) x +# define gpa_char char +#endif + + +typedef DWORD (WINAPI *PFN_GetIpAddrTable)(PMIB_IPADDRTABLE pIpAddrTable, + PULONG pdwSize, + BOOL bOrder); +typedef DWORD (WINAPI *PFN_GetAdapterAddresses)(ULONG Family, + ULONG Flags, + PVOID Reserved, + PIP_ADAPTER_ADDRESSES AdapterAddresses, + PULONG SizePointer); +typedef DWORD (WINAPI *PFN_GetIpForwardTable)(PMIB_IPFORWARDTABLE pIpForwardTable, + PULONG pdwSize, + BOOL bOrder); +typedef DWORD (WINAPI *PFN_GetIfEntry)(PMIB_IFROW pIfRow); + +static HANDLE s_hDLL; +static PFN_GetIpAddrTable s_pfnGetIpAddrTable; +static PFN_GetAdapterAddresses s_pfnGetAdapterAddresses; +static PFN_GetIpForwardTable s_pfnGetIpForwardTable; +static PFN_GetIfEntry s_pfnGetIfEntry; + + +static void unload_iphlp_module(void) +{ + FreeLibrary(s_hDLL); + s_hDLL = NULL; + s_pfnGetIpAddrTable = NULL; + s_pfnGetIpForwardTable = NULL; + s_pfnGetIfEntry = NULL; + s_pfnGetAdapterAddresses = NULL; +} + +static FARPROC GetIpHlpApiProc(gpa_char *lpProcName) +{ + if(NULL == s_hDLL) { + s_hDLL = LoadLibrary(PJ_T("IpHlpApi")); + if(NULL != s_hDLL) { + pj_atexit(&unload_iphlp_module); + } + } + + if(NULL != s_hDLL) + return GetProcAddress(s_hDLL, lpProcName); + + return NULL; +} + +static DWORD MyGetIpAddrTable(PMIB_IPADDRTABLE pIpAddrTable, + PULONG pdwSize, + BOOL bOrder) +{ + if(NULL == s_pfnGetIpAddrTable) { + s_pfnGetIpAddrTable = (PFN_GetIpAddrTable) + GetIpHlpApiProc(GPA_TEXT("GetIpAddrTable")); + } + + if(NULL != s_pfnGetIpAddrTable) { + return s_pfnGetIpAddrTable(pIpAddrTable, pdwSize, bOrder); + } + + return ERROR_NOT_SUPPORTED; +} + +static DWORD MyGetAdapterAddresses(ULONG Family, + ULONG Flags, + PVOID Reserved, + PIP_ADAPTER_ADDRESSES AdapterAddresses, + PULONG SizePointer) +{ + if(NULL == s_pfnGetAdapterAddresses) { + s_pfnGetAdapterAddresses = (PFN_GetAdapterAddresses) + GetIpHlpApiProc(GPA_TEXT("GetAdaptersAddresses")); + } + + if(NULL != s_pfnGetAdapterAddresses) { + return s_pfnGetAdapterAddresses(Family, Flags, Reserved, + AdapterAddresses, SizePointer); + } + + return ERROR_NOT_SUPPORTED; +} + +#if PJ_IP_HELPER_IGNORE_LOOPBACK_IF +static DWORD MyGetIfEntry(MIB_IFROW *pIfRow) +{ + if(NULL == s_pfnGetIfEntry) { + s_pfnGetIfEntry = (PFN_GetIfEntry) + GetIpHlpApiProc(GPA_TEXT("GetIfEntry")); + } + + if(NULL != s_pfnGetIfEntry) { + return s_pfnGetIfEntry(pIfRow); + } + + return ERROR_NOT_SUPPORTED; +} +#endif + + +static DWORD MyGetIpForwardTable(PMIB_IPFORWARDTABLE pIpForwardTable, + PULONG pdwSize, + BOOL bOrder) +{ + if(NULL == s_pfnGetIpForwardTable) { + s_pfnGetIpForwardTable = (PFN_GetIpForwardTable) + GetIpHlpApiProc(GPA_TEXT("GetIpForwardTable")); + } + + if(NULL != s_pfnGetIpForwardTable) { + return s_pfnGetIpForwardTable(pIpForwardTable, pdwSize, bOrder); + } + + return ERROR_NOT_SUPPORTED; +} + +/* Enumerate local IP interface using GetIpAddrTable() + * for IPv4 addresses only. + */ +static pj_status_t enum_ipv4_interface(unsigned *p_cnt, + pj_sockaddr ifs[]) +{ + char ipTabBuff[512]; + MIB_IPADDRTABLE *pTab = (MIB_IPADDRTABLE*)ipTabBuff; + ULONG tabSize = sizeof(ipTabBuff); + unsigned i, count; + DWORD rc = NO_ERROR; + + PJ_ASSERT_RETURN(p_cnt && ifs, PJ_EINVAL); + + /* Get IP address table */ + rc = MyGetIpAddrTable(pTab, &tabSize, FALSE); + if (rc != NO_ERROR) { + if (rc == ERROR_INSUFFICIENT_BUFFER) { + /* Retry with larger buffer */ + pTab = (MIB_IPADDRTABLE*)malloc(tabSize); + if (pTab) + rc = MyGetIpAddrTable(pTab, &tabSize, FALSE); + } + + if (rc != NO_ERROR) { + if (pTab != (MIB_IPADDRTABLE*)ipTabBuff) + free(pTab); + return PJ_RETURN_OS_ERROR(rc); + } + } + + /* Reset result */ + pj_bzero(ifs, sizeof(ifs[0]) * (*p_cnt)); + + /* Now fill out the entries */ + count = (pTab->dwNumEntries < *p_cnt) ? pTab->dwNumEntries : *p_cnt; + *p_cnt = 0; + for (i=0; itable[i].dwAddr == 0) + continue; + + /* Ignore 0.0.0.0/8 address. This is a special address + * which doesn't seem to have practical use. + */ + if ((pj_ntohl(pTab->table[i].dwAddr) >> 24) == 0) + continue; + +#if PJ_IP_HELPER_IGNORE_LOOPBACK_IF + /* Investigate the type of this interface */ + pj_bzero(&ifRow, sizeof(ifRow)); + ifRow.dwIndex = pTab->table[i].dwIndex; + if (MyGetIfEntry(&ifRow) != 0) + continue; + + if (ifRow.dwType == MIB_IF_TYPE_LOOPBACK) + continue; +#endif + + ifs[*p_cnt].ipv4.sin_family = PJ_AF_INET; + ifs[*p_cnt].ipv4.sin_addr.s_addr = pTab->table[i].dwAddr; + (*p_cnt)++; + } + + if (pTab != (MIB_IPADDRTABLE*)ipTabBuff) + free(pTab); + + return (*p_cnt) ? PJ_SUCCESS : PJ_ENOTFOUND; +} + +/* Enumerate local IP interface using GetAdapterAddresses(), + * which works for both IPv4 and IPv6. + */ +static pj_status_t enum_ipv4_ipv6_interface(int af, + unsigned *p_cnt, + pj_sockaddr ifs[]) +{ + pj_uint8_t buffer[600]; + IP_ADAPTER_ADDRESSES *adapter = (IP_ADAPTER_ADDRESSES*)buffer; + void *adapterBuf = NULL; + ULONG size = sizeof(buffer); + ULONG flags; + unsigned i; + DWORD rc; + + flags = GAA_FLAG_SKIP_FRIENDLY_NAME | + GAA_FLAG_SKIP_DNS_SERVER | + GAA_FLAG_SKIP_MULTICAST; + + rc = MyGetAdapterAddresses(af, flags, NULL, adapter, &size); + if (rc != ERROR_SUCCESS) { + if (rc == ERROR_BUFFER_OVERFLOW) { + /* Retry with larger memory size */ + adapterBuf = malloc(size); + adapter = (IP_ADAPTER_ADDRESSES*) adapterBuf; + if (adapter != NULL) + rc = MyGetAdapterAddresses(af, flags, NULL, adapter, &size); + } + + if (rc != ERROR_SUCCESS) { + if (adapterBuf) + free(adapterBuf); + return PJ_RETURN_OS_ERROR(rc); + } + } + + /* Reset result */ + pj_bzero(ifs, sizeof(ifs[0]) * (*p_cnt)); + + /* Enumerate interface */ + for (i=0; i<*p_cnt && adapter; adapter = adapter->Next) { + if (adapter->FirstUnicastAddress) { + SOCKET_ADDRESS *pAddr = &adapter->FirstUnicastAddress->Address; + + /* Ignore address family which we didn't request, just in case */ + if (pAddr->lpSockaddr->sa_family != PJ_AF_INET && + pAddr->lpSockaddr->sa_family != PJ_AF_INET6) + { + continue; + } + + /* Apply some filtering to known IPv4 unusable addresses */ + if (pAddr->lpSockaddr->sa_family == PJ_AF_INET) { + const pj_sockaddr_in *addr_in = + (const pj_sockaddr_in*)pAddr->lpSockaddr; + + /* Ignore 0.0.0.0 address (interface is down?) */ + if (addr_in->sin_addr.s_addr == 0) + continue; + + /* Ignore 0.0.0.0/8 address. This is a special address + * which doesn't seem to have practical use. + */ + if ((pj_ntohl(addr_in->sin_addr.s_addr) >> 24) == 0) + continue; + } + +#if PJ_IP_HELPER_IGNORE_LOOPBACK_IF + /* Ignore loopback interfaces */ + /* This should have been IF_TYPE_SOFTWARE_LOOPBACK according to + * MSDN, and this macro should have been declared in Ipifcons.h, + * but some SDK versions don't have it. + */ + if (adapter->IfType == MIB_IF_TYPE_LOOPBACK) + continue; +#endif + + /* Ignore down interface */ + if (adapter->OperStatus != IfOperStatusUp) + continue; + + ifs[i].addr.sa_family = pAddr->lpSockaddr->sa_family; + pj_memcpy(&ifs[i], pAddr->lpSockaddr, pAddr->iSockaddrLength); + ++i; + } + } + + if (adapterBuf) + free(adapterBuf); + + *p_cnt = i; + return (*p_cnt) ? PJ_SUCCESS : PJ_ENOTFOUND; +} + + +/* + * Enumerate the local IP interface currently active in the host. + */ +PJ_DEF(pj_status_t) pj_enum_ip_interface(int af, + unsigned *p_cnt, + pj_sockaddr ifs[]) +{ + pj_status_t status = -1; + + PJ_ASSERT_RETURN(p_cnt && ifs, PJ_EINVAL); + PJ_ASSERT_RETURN(af==PJ_AF_UNSPEC || af==PJ_AF_INET || af==PJ_AF_INET6, + PJ_EAFNOTSUP); + + status = enum_ipv4_ipv6_interface(af, p_cnt, ifs); + if (status != PJ_SUCCESS && (af==PJ_AF_INET || af==PJ_AF_UNSPEC)) + status = enum_ipv4_interface(p_cnt, ifs); + return status; +} + +/* + * Enumerate the IP routing table for this host. + */ +PJ_DEF(pj_status_t) pj_enum_ip_route(unsigned *p_cnt, + pj_ip_route_entry routes[]) +{ + char ipTabBuff[1024]; + MIB_IPADDRTABLE *pIpTab; + char rtabBuff[1024]; + MIB_IPFORWARDTABLE *prTab; + ULONG tabSize; + unsigned i, count; + DWORD rc = NO_ERROR; + + PJ_ASSERT_RETURN(p_cnt && routes, PJ_EINVAL); + + pIpTab = (MIB_IPADDRTABLE *)ipTabBuff; + prTab = (MIB_IPFORWARDTABLE *)rtabBuff; + + /* First get IP address table */ + tabSize = sizeof(ipTabBuff); + rc = MyGetIpAddrTable(pIpTab, &tabSize, FALSE); + if (rc != NO_ERROR) + return PJ_RETURN_OS_ERROR(rc); + + /* Next get IP route table */ + tabSize = sizeof(rtabBuff); + + rc = MyGetIpForwardTable(prTab, &tabSize, 1); + if (rc != NO_ERROR) + return PJ_RETURN_OS_ERROR(rc); + + /* Reset routes */ + pj_bzero(routes, sizeof(routes[0]) * (*p_cnt)); + + /* Now fill out the route entries */ + count = (prTab->dwNumEntries < *p_cnt) ? prTab->dwNumEntries : *p_cnt; + *p_cnt = 0; + for (i=0; idwNumEntries; ++j) { + if (pIpTab->table[j].dwIndex == prTab->table[i].dwForwardIfIndex) + break; + } + + if (j==pIpTab->dwNumEntries) + continue; /* Interface not found */ + + routes[*p_cnt].ipv4.if_addr.s_addr = pIpTab->table[j].dwAddr; + routes[*p_cnt].ipv4.dst_addr.s_addr = prTab->table[i].dwForwardDest; + routes[*p_cnt].ipv4.mask.s_addr = prTab->table[i].dwForwardMask; + + (*p_cnt)++; + } + + return PJ_SUCCESS; +} + diff --git a/pjlib/src/pj/list.c b/pjlib/src/pj/list.c new file mode 100644 index 0000000..6ff8d20 --- /dev/null +++ b/pjlib/src/pj/list.c @@ -0,0 +1,26 @@ +/* $Id: list.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include + +#if !PJ_FUNCTIONS_ARE_INLINED +# include +#endif + + diff --git a/pjlib/src/pj/lock.c b/pjlib/src/pj/lock.c new file mode 100644 index 0000000..c6bfa55 --- /dev/null +++ b/pjlib/src/pj/lock.c @@ -0,0 +1,743 @@ +/* $Id: lock.c 4992 2015-03-06 06:09:22Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include + +#define THIS_FILE "lock.c" + +typedef void LOCK_OBJ; + +/* + * Lock structure. + */ +struct pj_lock_t +{ + LOCK_OBJ *lock_object; + + pj_status_t (*acquire) (LOCK_OBJ*); + pj_status_t (*tryacquire) (LOCK_OBJ*); + pj_status_t (*release) (LOCK_OBJ*); + pj_status_t (*destroy) (LOCK_OBJ*); +}; + +typedef pj_status_t (*FPTR)(LOCK_OBJ*); + +/****************************************************************************** + * Implementation of lock object with mutex. + */ +static pj_lock_t mutex_lock_template = +{ + NULL, + (FPTR) &pj_mutex_lock, + (FPTR) &pj_mutex_trylock, + (FPTR) &pj_mutex_unlock, + (FPTR) &pj_mutex_destroy +}; + +static pj_status_t create_mutex_lock( pj_pool_t *pool, + const char *name, + int type, + pj_lock_t **lock ) +{ + pj_lock_t *p_lock; + pj_mutex_t *mutex; + pj_status_t rc; + + PJ_ASSERT_RETURN(pool && lock, PJ_EINVAL); + + p_lock = PJ_POOL_ALLOC_T(pool, pj_lock_t); + if (!p_lock) + return PJ_ENOMEM; + + pj_memcpy(p_lock, &mutex_lock_template, sizeof(pj_lock_t)); + rc = pj_mutex_create(pool, name, type, &mutex); + if (rc != PJ_SUCCESS) + return rc; + + p_lock->lock_object = mutex; + *lock = p_lock; + return PJ_SUCCESS; +} + + +PJ_DEF(pj_status_t) pj_lock_create_simple_mutex( pj_pool_t *pool, + const char *name, + pj_lock_t **lock ) +{ + return create_mutex_lock(pool, name, PJ_MUTEX_SIMPLE, lock); +} + +PJ_DEF(pj_status_t) pj_lock_create_recursive_mutex( pj_pool_t *pool, + const char *name, + pj_lock_t **lock ) +{ + return create_mutex_lock(pool, name, PJ_MUTEX_RECURSE, lock); +} + + +/****************************************************************************** + * Implementation of NULL lock object. + */ +static pj_status_t null_op(void *arg) +{ + PJ_UNUSED_ARG(arg); + return PJ_SUCCESS; +} + +static pj_lock_t null_lock_template = +{ + NULL, + &null_op, + &null_op, + &null_op, + &null_op +}; + +PJ_DEF(pj_status_t) pj_lock_create_null_mutex( pj_pool_t *pool, + const char *name, + pj_lock_t **lock ) +{ + PJ_UNUSED_ARG(name); + PJ_UNUSED_ARG(pool); + + PJ_ASSERT_RETURN(lock, PJ_EINVAL); + + *lock = &null_lock_template; + return PJ_SUCCESS; +} + + +/****************************************************************************** + * Implementation of semaphore lock object. + */ +#if defined(PJ_HAS_SEMAPHORE) && PJ_HAS_SEMAPHORE != 0 + +static pj_lock_t sem_lock_template = +{ + NULL, + (FPTR) &pj_sem_wait, + (FPTR) &pj_sem_trywait, + (FPTR) &pj_sem_post, + (FPTR) &pj_sem_destroy +}; + +PJ_DEF(pj_status_t) pj_lock_create_semaphore( pj_pool_t *pool, + const char *name, + unsigned initial, + unsigned max, + pj_lock_t **lock ) +{ + pj_lock_t *p_lock; + pj_sem_t *sem; + pj_status_t rc; + + PJ_ASSERT_RETURN(pool && lock, PJ_EINVAL); + + p_lock = PJ_POOL_ALLOC_T(pool, pj_lock_t); + if (!p_lock) + return PJ_ENOMEM; + + pj_memcpy(p_lock, &sem_lock_template, sizeof(pj_lock_t)); + rc = pj_sem_create( pool, name, initial, max, &sem); + if (rc != PJ_SUCCESS) + return rc; + + p_lock->lock_object = sem; + *lock = p_lock; + + return PJ_SUCCESS; +} + + +#endif /* PJ_HAS_SEMAPHORE */ + + +PJ_DEF(pj_status_t) pj_lock_acquire( pj_lock_t *lock ) +{ + PJ_ASSERT_RETURN(lock != NULL, PJ_EINVAL); + return (*lock->acquire)(lock->lock_object); +} + +PJ_DEF(pj_status_t) pj_lock_tryacquire( pj_lock_t *lock ) +{ + PJ_ASSERT_RETURN(lock != NULL, PJ_EINVAL); + return (*lock->tryacquire)(lock->lock_object); +} + +PJ_DEF(pj_status_t) pj_lock_release( pj_lock_t *lock ) +{ + PJ_ASSERT_RETURN(lock != NULL, PJ_EINVAL); + return (*lock->release)(lock->lock_object); +} + +PJ_DEF(pj_status_t) pj_lock_destroy( pj_lock_t *lock ) +{ + PJ_ASSERT_RETURN(lock != NULL, PJ_EINVAL); + return (*lock->destroy)(lock->lock_object); +} + + +/****************************************************************************** + * Group lock + */ + +/* Individual lock in the group lock */ +typedef struct grp_lock_item +{ + PJ_DECL_LIST_MEMBER(struct grp_lock_item); + int prio; + pj_lock_t *lock; + +} grp_lock_item; + +/* Destroy callbacks */ +typedef struct grp_destroy_callback +{ + PJ_DECL_LIST_MEMBER(struct grp_destroy_callback); + void *comp; + void (*handler)(void*); +} grp_destroy_callback; + +#if PJ_GRP_LOCK_DEBUG +/* Store each add_ref caller */ +typedef struct grp_lock_ref +{ + PJ_DECL_LIST_MEMBER(struct grp_lock_ref); + const char *file; + int line; +} grp_lock_ref; +#endif + +/* The group lock */ +struct pj_grp_lock_t +{ + pj_lock_t base; + + pj_pool_t *pool; + pj_atomic_t *ref_cnt; + pj_lock_t *own_lock; + + pj_thread_t *owner; + int owner_cnt; + + grp_lock_item lock_list; + grp_destroy_callback destroy_list; + +#if PJ_GRP_LOCK_DEBUG + grp_lock_ref ref_list; + grp_lock_ref ref_free_list; +#endif +}; + + +PJ_DEF(void) pj_grp_lock_config_default(pj_grp_lock_config *cfg) +{ + pj_bzero(cfg, sizeof(*cfg)); +} + +static void grp_lock_set_owner_thread(pj_grp_lock_t *glock) +{ + if (!glock->owner) { + glock->owner = pj_thread_this(); + glock->owner_cnt = 1; + } else { + pj_assert(glock->owner == pj_thread_this()); + glock->owner_cnt++; + } +} + +static void grp_lock_unset_owner_thread(pj_grp_lock_t *glock) +{ + pj_assert(glock->owner == pj_thread_this()); + pj_assert(glock->owner_cnt > 0); + if (--glock->owner_cnt <= 0) { + glock->owner = NULL; + glock->owner_cnt = 0; + } +} + +static pj_status_t grp_lock_acquire(LOCK_OBJ *p) +{ + pj_grp_lock_t *glock = (pj_grp_lock_t*)p; + grp_lock_item *lck; + + pj_assert(pj_atomic_get(glock->ref_cnt) > 0); + + lck = glock->lock_list.next; + while (lck != &glock->lock_list) { + pj_lock_acquire(lck->lock); + lck = lck->next; + } + grp_lock_set_owner_thread(glock); + pj_grp_lock_add_ref(glock); + return PJ_SUCCESS; +} + +static pj_status_t grp_lock_tryacquire(LOCK_OBJ *p) +{ + pj_grp_lock_t *glock = (pj_grp_lock_t*)p; + grp_lock_item *lck; + + pj_assert(pj_atomic_get(glock->ref_cnt) > 0); + + lck = glock->lock_list.next; + while (lck != &glock->lock_list) { + pj_status_t status = pj_lock_tryacquire(lck->lock); + if (status != PJ_SUCCESS) { + lck = lck->prev; + while (lck != &glock->lock_list) { + pj_lock_release(lck->lock); + lck = lck->prev; + } + return status; + } + lck = lck->next; + } + grp_lock_set_owner_thread(glock); + pj_grp_lock_add_ref(glock); + return PJ_SUCCESS; +} + +static pj_status_t grp_lock_release(LOCK_OBJ *p) +{ + pj_grp_lock_t *glock = (pj_grp_lock_t*)p; + grp_lock_item *lck; + + grp_lock_unset_owner_thread(glock); + + lck = glock->lock_list.prev; + while (lck != &glock->lock_list) { + pj_lock_release(lck->lock); + lck = lck->prev; + } + return pj_grp_lock_dec_ref(glock); +} + +static pj_status_t grp_lock_add_handler( pj_grp_lock_t *glock, + pj_pool_t *pool, + void *comp, + void (*destroy)(void *comp), + pj_bool_t acquire_lock) +{ + grp_destroy_callback *cb; + + if (acquire_lock) + grp_lock_acquire(glock); + + if (pool == NULL) + pool = glock->pool; + + cb = PJ_POOL_ZALLOC_T(pool, grp_destroy_callback); + cb->comp = comp; + cb->handler = destroy; + pj_list_push_back(&glock->destroy_list, cb); + + if (acquire_lock) + grp_lock_release(glock); + + return PJ_SUCCESS; +} + +static pj_status_t grp_lock_destroy(LOCK_OBJ *p) +{ + pj_grp_lock_t *glock = (pj_grp_lock_t*)p; + pj_pool_t *pool = glock->pool; + grp_lock_item *lck; + grp_destroy_callback *cb; + + if (!glock->pool) { + /* already destroyed?! */ + return PJ_EINVAL; + } + + /* Release all chained locks */ + lck = glock->lock_list.next; + while (lck != &glock->lock_list) { + if (lck->lock != glock->own_lock) { + int i; + for (i=0; iowner_cnt; ++i) + pj_lock_release(lck->lock); + } + lck = lck->next; + } + + /* Call callbacks */ + cb = glock->destroy_list.next; + while (cb != &glock->destroy_list) { + grp_destroy_callback *next = cb->next; + cb->handler(cb->comp); + cb = next; + } + + pj_lock_destroy(glock->own_lock); + pj_atomic_destroy(glock->ref_cnt); + glock->pool = NULL; + pj_pool_release(pool); + + return PJ_SUCCESS; +} + + +PJ_DEF(pj_status_t) pj_grp_lock_create( pj_pool_t *pool, + const pj_grp_lock_config *cfg, + pj_grp_lock_t **p_grp_lock) +{ + pj_grp_lock_t *glock; + grp_lock_item *own_lock; + pj_status_t status; + + PJ_ASSERT_RETURN(pool && p_grp_lock, PJ_EINVAL); + + PJ_UNUSED_ARG(cfg); + + pool = pj_pool_create(pool->factory, "glck%p", 512, 512, NULL); + if (!pool) + return PJ_ENOMEM; + + glock = PJ_POOL_ZALLOC_T(pool, pj_grp_lock_t); + glock->base.lock_object = glock; + glock->base.acquire = &grp_lock_acquire; + glock->base.tryacquire = &grp_lock_tryacquire; + glock->base.release = &grp_lock_release; + glock->base.destroy = &grp_lock_destroy; + + glock->pool = pool; + pj_list_init(&glock->lock_list); + pj_list_init(&glock->destroy_list); +#if PJ_GRP_LOCK_DEBUG + pj_list_init(&glock->ref_list); + pj_list_init(&glock->ref_free_list); +#endif + + status = pj_atomic_create(pool, 0, &glock->ref_cnt); + if (status != PJ_SUCCESS) + goto on_error; + + status = pj_lock_create_recursive_mutex(pool, pool->obj_name, + &glock->own_lock); + if (status != PJ_SUCCESS) + goto on_error; + + own_lock = PJ_POOL_ZALLOC_T(pool, grp_lock_item); + own_lock->lock = glock->own_lock; + pj_list_push_back(&glock->lock_list, own_lock); + + *p_grp_lock = glock; + return PJ_SUCCESS; + +on_error: + grp_lock_destroy(glock); + return status; +} + +PJ_DEF(pj_status_t) pj_grp_lock_create_w_handler( pj_pool_t *pool, + const pj_grp_lock_config *cfg, + void *member, + void (*handler)(void *member), + pj_grp_lock_t **p_grp_lock) +{ + pj_status_t status; + + status = pj_grp_lock_create(pool, cfg, p_grp_lock); + if (status == PJ_SUCCESS) { + grp_lock_add_handler(*p_grp_lock, pool, member, handler, PJ_FALSE); + } + + return status; +} + +PJ_DEF(pj_status_t) pj_grp_lock_destroy( pj_grp_lock_t *grp_lock) +{ + return grp_lock_destroy(grp_lock); +} + +PJ_DEF(pj_status_t) pj_grp_lock_acquire( pj_grp_lock_t *grp_lock) +{ + return grp_lock_acquire(grp_lock); +} + +PJ_DEF(pj_status_t) pj_grp_lock_tryacquire( pj_grp_lock_t *grp_lock) +{ + return grp_lock_tryacquire(grp_lock); +} + +PJ_DEF(pj_status_t) pj_grp_lock_release( pj_grp_lock_t *grp_lock) +{ + return grp_lock_release(grp_lock); +} + +PJ_DEF(pj_status_t) pj_grp_lock_replace( pj_grp_lock_t *old_lock, + pj_grp_lock_t *new_lock) +{ + grp_destroy_callback *ocb; + + /* Move handlers from old to new */ + ocb = old_lock->destroy_list.next; + while (ocb != &old_lock->destroy_list) { + grp_destroy_callback *ncb; + + ncb = PJ_POOL_ALLOC_T(new_lock->pool, grp_destroy_callback); + ncb->comp = ocb->comp; + ncb->handler = ocb->handler; + pj_list_push_back(&new_lock->destroy_list, ncb); + + ocb = ocb->next; + } + + pj_list_init(&old_lock->destroy_list); + + grp_lock_destroy(old_lock); + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_grp_lock_add_handler( pj_grp_lock_t *glock, + pj_pool_t *pool, + void *comp, + void (*destroy)(void *comp)) +{ + return grp_lock_add_handler(glock, pool, comp, destroy, PJ_TRUE); +} + +PJ_DEF(pj_status_t) pj_grp_lock_del_handler( pj_grp_lock_t *glock, + void *comp, + void (*destroy)(void *comp)) +{ + grp_destroy_callback *cb; + + grp_lock_acquire(glock); + + cb = glock->destroy_list.next; + while (cb != &glock->destroy_list) { + if (cb->comp == comp && cb->handler == destroy) + break; + cb = cb->next; + } + + if (cb != &glock->destroy_list) + pj_list_erase(cb); + + grp_lock_release(glock); + return PJ_SUCCESS; +} + +static pj_status_t grp_lock_add_ref(pj_grp_lock_t *glock) +{ + pj_atomic_inc(glock->ref_cnt); + return PJ_SUCCESS; +} + +static pj_status_t grp_lock_dec_ref(pj_grp_lock_t *glock) +{ + int cnt; /* for debugging */ + if ((cnt=pj_atomic_dec_and_get(glock->ref_cnt)) == 0) { + grp_lock_destroy(glock); + return PJ_EGONE; + } + pj_assert(cnt > 0); + pj_grp_lock_dump(glock); + return PJ_SUCCESS; +} + +#if PJ_GRP_LOCK_DEBUG +PJ_DEF(pj_status_t) pj_grp_lock_add_ref_dbg(pj_grp_lock_t *glock, + const char *file, + int line) +{ + grp_lock_ref *ref; + pj_status_t status; + + pj_enter_critical_section(); + if (!pj_list_empty(&glock->ref_free_list)) { + ref = glock->ref_free_list.next; + pj_list_erase(ref); + } else { + ref = PJ_POOL_ALLOC_T(glock->pool, grp_lock_ref); + } + + ref->file = file; + ref->line = line; + pj_list_push_back(&glock->ref_list, ref); + + pj_leave_critical_section(); + + status = grp_lock_add_ref(glock); + + if (status != PJ_SUCCESS) { + pj_enter_critical_section(); + pj_list_erase(ref); + pj_list_push_back(&glock->ref_free_list, ref); + pj_leave_critical_section(); + } + + return status; +} + +PJ_DEF(pj_status_t) pj_grp_lock_dec_ref_dbg(pj_grp_lock_t *glock, + const char *file, + int line) +{ + grp_lock_ref *ref; + + pj_enter_critical_section(); + /* Find the same source file */ + ref = glock->ref_list.next; + while (ref != &glock->ref_list) { + if (strcmp(ref->file, file) == 0) { + pj_list_erase(ref); + pj_list_push_back(&glock->ref_free_list, ref); + break; + } + ref = ref->next; + } + pj_leave_critical_section(); + + if (ref == &glock->ref_list) { + PJ_LOG(2,(THIS_FILE, "pj_grp_lock_dec_ref_dbg() could not find " + "matching ref for %s", file)); + } + + return grp_lock_dec_ref(glock); +} +#else +PJ_DEF(pj_status_t) pj_grp_lock_add_ref(pj_grp_lock_t *glock) +{ + return grp_lock_add_ref(glock); +} + +PJ_DEF(pj_status_t) pj_grp_lock_dec_ref(pj_grp_lock_t *glock) +{ + return grp_lock_dec_ref(glock); +} +#endif + +PJ_DEF(int) pj_grp_lock_get_ref(pj_grp_lock_t *glock) +{ + return pj_atomic_get(glock->ref_cnt); +} + +PJ_DEF(pj_status_t) pj_grp_lock_chain_lock( pj_grp_lock_t *glock, + pj_lock_t *lock, + int pos) +{ + grp_lock_item *lck, *new_lck; + int i; + + grp_lock_acquire(glock); + + for (i=0; iowner_cnt; ++i) + pj_lock_acquire(lock); + + lck = glock->lock_list.next; + while (lck != &glock->lock_list) { + if (lck->prio >= pos) + break; + lck = lck->next; + } + + new_lck = PJ_POOL_ZALLOC_T(glock->pool, grp_lock_item); + new_lck->prio = pos; + new_lck->lock = lock; + pj_list_insert_before(lck, new_lck); + + /* this will also release the new lock */ + grp_lock_release(glock); + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_grp_lock_unchain_lock( pj_grp_lock_t *glock, + pj_lock_t *lock) +{ + grp_lock_item *lck; + + grp_lock_acquire(glock); + + lck = glock->lock_list.next; + while (lck != &glock->lock_list) { + if (lck->lock == lock) + break; + lck = lck->next; + } + + if (lck != &glock->lock_list) { + int i; + + pj_list_erase(lck); + for (i=0; iowner_cnt; ++i) + pj_lock_release(lck->lock); + } + + grp_lock_release(glock); + return PJ_SUCCESS; +} + +PJ_DEF(void) pj_grp_lock_dump(pj_grp_lock_t *grp_lock) +{ +#if PJ_GRP_LOCK_DEBUG + grp_lock_ref *ref = grp_lock->ref_list.next; + char info_buf[1000]; + pj_str_t info; + + info.ptr = info_buf; + info.slen = 0; + + pj_grp_lock_acquire(grp_lock); + pj_enter_critical_section(); + + while (ref != &grp_lock->ref_list && info.slen < sizeof(info_buf)) { + char *start = info.ptr + info.slen; + int max_len = sizeof(info_buf) - info.slen; + int len; + + len = pj_ansi_snprintf(start, max_len, "%s:%d ", ref->file, ref->line); + if (len < 1 || len >= max_len) { + len = strlen(ref->file); + if (len > max_len - 1) + len = max_len - 1; + + memcpy(start, ref->file, len); + start[len++] = ' '; + } + + info.slen += len; + + ref = ref->next; + } + + if (ref != &grp_lock->ref_list) { + int i; + for (i=0; i<4; ++i) + info_buf[sizeof(info_buf)-i-1] = '.'; + } + info.ptr[info.slen-1] = '\0'; + + pj_leave_critical_section(); + pj_grp_lock_release(grp_lock); + + PJ_LOG(4,(THIS_FILE, "Group lock %p, ref_cnt=%d. Reference holders: %s", + grp_lock, pj_grp_lock_get_ref(grp_lock), info.ptr)); +#else + PJ_UNUSED_ARG(grp_lock); +#endif +} diff --git a/pjlib/src/pj/log.c b/pjlib/src/pj/log.c new file mode 100644 index 0000000..123853e --- /dev/null +++ b/pjlib/src/pj/log.c @@ -0,0 +1,549 @@ +/* $Id: log.c 4761 2014-02-24 09:02:44Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include + +#if PJ_LOG_MAX_LEVEL >= 1 + +#if 0 +PJ_DEF_DATA(int) pj_log_max_level = PJ_LOG_MAX_LEVEL; +#else +static int pj_log_max_level = PJ_LOG_MAX_LEVEL; +#endif + +static void *g_last_thread; + +#if PJ_HAS_THREADS +static long thread_suspended_tls_id = -1; +# if PJ_LOG_ENABLE_INDENT +static long thread_indent_tls_id = -1; +# endif +#endif + +#if !PJ_LOG_ENABLE_INDENT || !PJ_HAS_THREADS +static int log_indent; +#endif + +static pj_log_func *log_writer = &pj_log_write; +static unsigned log_decor = PJ_LOG_HAS_TIME | PJ_LOG_HAS_MICRO_SEC | + PJ_LOG_HAS_SENDER | PJ_LOG_HAS_NEWLINE | + PJ_LOG_HAS_SPACE | PJ_LOG_HAS_THREAD_SWC | + PJ_LOG_HAS_INDENT +#if (defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64!=0) + | PJ_LOG_HAS_COLOR +#endif + ; + +static pj_color_t PJ_LOG_COLOR_0 = PJ_TERM_COLOR_BRIGHT | PJ_TERM_COLOR_R; +static pj_color_t PJ_LOG_COLOR_1 = PJ_TERM_COLOR_BRIGHT | PJ_TERM_COLOR_R; +static pj_color_t PJ_LOG_COLOR_2 = PJ_TERM_COLOR_BRIGHT | + PJ_TERM_COLOR_R | + PJ_TERM_COLOR_G; +static pj_color_t PJ_LOG_COLOR_3 = PJ_TERM_COLOR_BRIGHT | + PJ_TERM_COLOR_R | + PJ_TERM_COLOR_G | + PJ_TERM_COLOR_B; +static pj_color_t PJ_LOG_COLOR_4 = PJ_TERM_COLOR_R | + PJ_TERM_COLOR_G | + PJ_TERM_COLOR_B; +static pj_color_t PJ_LOG_COLOR_5 = PJ_TERM_COLOR_R | + PJ_TERM_COLOR_G | + PJ_TERM_COLOR_B; +static pj_color_t PJ_LOG_COLOR_6 = PJ_TERM_COLOR_R | + PJ_TERM_COLOR_G | + PJ_TERM_COLOR_B; +/* Default terminal color */ +static pj_color_t PJ_LOG_COLOR_77 = PJ_TERM_COLOR_R | + PJ_TERM_COLOR_G | + PJ_TERM_COLOR_B; + +#if PJ_LOG_USE_STACK_BUFFER==0 +static char log_buffer[PJ_LOG_MAX_SIZE]; +#endif + +#define LOG_MAX_INDENT 80 + +#if PJ_HAS_THREADS +static void logging_shutdown(void) +{ + if (thread_suspended_tls_id != -1) { + pj_thread_local_free(thread_suspended_tls_id); + thread_suspended_tls_id = -1; + } +# if PJ_LOG_ENABLE_INDENT + if (thread_indent_tls_id != -1) { + pj_thread_local_free(thread_indent_tls_id); + thread_indent_tls_id = -1; + } +# endif +} +#endif /* PJ_HAS_THREADS */ + +#if PJ_LOG_ENABLE_INDENT && PJ_HAS_THREADS +static void log_set_indent(int indent) +{ + if (indent < 0) indent = 0; + pj_thread_local_set(thread_indent_tls_id, (void*)(pj_ssize_t)indent); +} + +static int log_get_raw_indent(void) +{ + return (long)(pj_ssize_t)pj_thread_local_get(thread_indent_tls_id); +} + +#else +static void log_set_indent(int indent) +{ + log_indent = indent; + if (log_indent < 0) log_indent = 0; +} + +static int log_get_raw_indent(void) +{ + return log_indent; +} +#endif /* PJ_LOG_ENABLE_INDENT && PJ_HAS_THREADS */ + +static int log_get_indent(void) +{ + int indent = log_get_raw_indent(); + return indent > LOG_MAX_INDENT ? LOG_MAX_INDENT : indent; +} + +PJ_DEF(void) pj_log_add_indent(int indent) +{ + log_set_indent(log_get_raw_indent() + indent); +} + +PJ_DEF(void) pj_log_push_indent(void) +{ + pj_log_add_indent(PJ_LOG_INDENT_SIZE); +} + +PJ_DEF(void) pj_log_pop_indent(void) +{ + pj_log_add_indent(-PJ_LOG_INDENT_SIZE); +} + +pj_status_t pj_log_init(void) +{ +#if PJ_HAS_THREADS + if (thread_suspended_tls_id == -1) { + pj_status_t status; + status = pj_thread_local_alloc(&thread_suspended_tls_id); + if (status != PJ_SUCCESS) + return status; + +# if PJ_LOG_ENABLE_INDENT + status = pj_thread_local_alloc(&thread_indent_tls_id); + if (status != PJ_SUCCESS) { + pj_thread_local_free(thread_suspended_tls_id); + thread_suspended_tls_id = -1; + return status; + } +# endif + pj_atexit(&logging_shutdown); + } +#endif + g_last_thread = NULL; + return PJ_SUCCESS; +} + +PJ_DEF(void) pj_log_set_decor(unsigned decor) +{ + log_decor = decor; +} + +PJ_DEF(unsigned) pj_log_get_decor(void) +{ + return log_decor; +} + +PJ_DEF(void) pj_log_set_color(int level, pj_color_t color) +{ + switch (level) + { + case 0: PJ_LOG_COLOR_0 = color; + break; + case 1: PJ_LOG_COLOR_1 = color; + break; + case 2: PJ_LOG_COLOR_2 = color; + break; + case 3: PJ_LOG_COLOR_3 = color; + break; + case 4: PJ_LOG_COLOR_4 = color; + break; + case 5: PJ_LOG_COLOR_5 = color; + break; + case 6: PJ_LOG_COLOR_6 = color; + break; + /* Default terminal color */ + case 77: PJ_LOG_COLOR_77 = color; + break; + default: + /* Do nothing */ + break; + } +} + +PJ_DEF(pj_color_t) pj_log_get_color(int level) +{ + switch (level) { + case 0: + return PJ_LOG_COLOR_0; + case 1: + return PJ_LOG_COLOR_1; + case 2: + return PJ_LOG_COLOR_2; + case 3: + return PJ_LOG_COLOR_3; + case 4: + return PJ_LOG_COLOR_4; + case 5: + return PJ_LOG_COLOR_5; + case 6: + return PJ_LOG_COLOR_6; + default: + /* Return default terminal color */ + return PJ_LOG_COLOR_77; + } +} + +PJ_DEF(void) pj_log_set_level(int level) +{ + pj_log_max_level = level; +} + +#if 1 +PJ_DEF(int) pj_log_get_level(void) +{ + return pj_log_max_level; +} +#endif + +PJ_DEF(void) pj_log_set_log_func( pj_log_func *func ) +{ + log_writer = func; +} + +PJ_DEF(pj_log_func*) pj_log_get_log_func(void) +{ + return log_writer; +} + +/* Temporarily suspend logging facility for this thread. + * If thread local storage/variable is not used or not initialized, then + * we can only suspend the logging globally across all threads. This may + * happen e.g. when log function is called before PJLIB is fully initialized + * or after PJLIB is shutdown. + */ +static void suspend_logging(int *saved_level) +{ + /* Save the level regardless, just in case PJLIB is shutdown + * between suspend and resume. + */ + *saved_level = pj_log_max_level; + +#if PJ_HAS_THREADS + if (thread_suspended_tls_id != -1) + { + pj_thread_local_set(thread_suspended_tls_id, + (void*)(pj_ssize_t)PJ_TRUE); + } + else +#endif + { + pj_log_max_level = 0; + } +} + +/* Resume logging facility for this thread */ +static void resume_logging(int *saved_level) +{ +#if PJ_HAS_THREADS + if (thread_suspended_tls_id != -1) + { + pj_thread_local_set(thread_suspended_tls_id, + (void*)(pj_size_t)PJ_FALSE); + } + else +#endif + { + /* Only revert the level if application doesn't change the + * logging level between suspend and resume. + */ + if (pj_log_max_level==0 && *saved_level) + pj_log_max_level = *saved_level; + } +} + +/* Is logging facility suspended for this thread? */ +static pj_bool_t is_logging_suspended(void) +{ +#if PJ_HAS_THREADS + if (thread_suspended_tls_id != -1) + { + return pj_thread_local_get(thread_suspended_tls_id) != NULL; + } + else +#endif + { + return pj_log_max_level == 0; + } +} + +PJ_DEF(void) pj_log( const char *sender, int level, + const char *format, va_list marker) +{ + pj_time_val now; + pj_parsed_time ptime; + char *pre; +#if PJ_LOG_USE_STACK_BUFFER + char log_buffer[PJ_LOG_MAX_SIZE]; +#endif + int saved_level, len, print_len, indent; + + PJ_CHECK_STACK(); + + if (level > pj_log_max_level) + return; + + if (is_logging_suspended()) + return; + + /* Temporarily disable logging for this thread. Some of PJLIB APIs that + * this function calls below will recursively call the logging function + * back, hence it will cause infinite recursive calls if we allow that. + */ + suspend_logging(&saved_level); + + /* Get current date/time. */ + pj_gettimeofday(&now); + pj_time_decode(&now, &ptime); + + pre = log_buffer; + if (log_decor & PJ_LOG_HAS_LEVEL_TEXT) { + static const char *ltexts[] = { "FATAL:", "ERROR:", " WARN:", + " INFO:", "DEBUG:", "TRACE:", "DETRC:"}; + pj_ansi_strcpy(pre, ltexts[level]); + pre += 6; + } + if (log_decor & PJ_LOG_HAS_DAY_NAME) { + static const char *wdays[] = { "Sun", "Mon", "Tue", "Wed", + "Thu", "Fri", "Sat"}; + pj_ansi_strcpy(pre, wdays[ptime.wday]); + pre += 3; + } + if (log_decor & PJ_LOG_HAS_YEAR) { + if (pre!=log_buffer) *pre++ = ' '; + pre += pj_utoa(ptime.year, pre); + } + if (log_decor & PJ_LOG_HAS_MONTH) { + *pre++ = '-'; + pre += pj_utoa_pad(ptime.mon+1, pre, 2, '0'); + } + if (log_decor & PJ_LOG_HAS_DAY_OF_MON) { + *pre++ = '-'; + pre += pj_utoa_pad(ptime.day, pre, 2, '0'); + } + if (log_decor & PJ_LOG_HAS_TIME) { + if (pre!=log_buffer) *pre++ = ' '; + pre += pj_utoa_pad(ptime.hour, pre, 2, '0'); + *pre++ = ':'; + pre += pj_utoa_pad(ptime.min, pre, 2, '0'); + *pre++ = ':'; + pre += pj_utoa_pad(ptime.sec, pre, 2, '0'); + } + if (log_decor & PJ_LOG_HAS_MICRO_SEC) { + *pre++ = '.'; + pre += pj_utoa_pad(ptime.msec, pre, 3, '0'); + } + if (log_decor & PJ_LOG_HAS_SENDER) { + enum { SENDER_WIDTH = 14 }; + pj_size_t sender_len = strlen(sender); + if (pre!=log_buffer) *pre++ = ' '; + if (sender_len <= SENDER_WIDTH) { + while (sender_len < SENDER_WIDTH) + *pre++ = ' ', ++sender_len; + while (*sender) + *pre++ = *sender++; + } else { + int i; + for (i=0; i 0) { + pj_memset(pre, PJ_LOG_INDENT_CHAR, indent); + pre += indent; + } + } +#endif + + len = (int)(pre - log_buffer); + + /* Print the whole message to the string log_buffer. */ + print_len = pj_ansi_vsnprintf(pre, sizeof(log_buffer)-len, format, + marker); + if (print_len < 0) { + level = 1; + print_len = pj_ansi_snprintf(pre, sizeof(log_buffer)-len, + ""); + } + if (print_len < 1 || print_len >= (int)(sizeof(log_buffer)-len)) { + print_len = sizeof(log_buffer) - len - 1; + } + len = len + print_len; + if (len > 0 && len < (int)sizeof(log_buffer)-2) { + if (log_decor & PJ_LOG_HAS_CR) { + log_buffer[len++] = '\r'; + } + if (log_decor & PJ_LOG_HAS_NEWLINE) { + log_buffer[len++] = '\n'; + } + log_buffer[len] = '\0'; + } else { + len = sizeof(log_buffer)-1; + if (log_decor & PJ_LOG_HAS_CR) { + log_buffer[sizeof(log_buffer)-3] = '\r'; + } + if (log_decor & PJ_LOG_HAS_NEWLINE) { + log_buffer[sizeof(log_buffer)-2] = '\n'; + } + log_buffer[sizeof(log_buffer)-1] = '\0'; + } + + /* It should be safe to resume logging at this point. Application can + * recursively call the logging function inside the callback. + */ + resume_logging(&saved_level); + + if (log_writer) + (*log_writer)(level, log_buffer, len); +} + +/* +PJ_DEF(void) pj_log_0(const char *obj, const char *format, ...) +{ + va_list arg; + va_start(arg, format); + pj_log(obj, 0, format, arg); + va_end(arg); +} +*/ + +PJ_DEF(void) pj_log_1(const char *obj, const char *format, ...) +{ + va_list arg; + va_start(arg, format); + pj_log(obj, 1, format, arg); + va_end(arg); +} +#endif /* PJ_LOG_MAX_LEVEL >= 1 */ + +#if PJ_LOG_MAX_LEVEL >= 2 +PJ_DEF(void) pj_log_2(const char *obj, const char *format, ...) +{ + va_list arg; + va_start(arg, format); + pj_log(obj, 2, format, arg); + va_end(arg); +} +#endif + +#if PJ_LOG_MAX_LEVEL >= 3 +PJ_DEF(void) pj_log_3(const char *obj, const char *format, ...) +{ + va_list arg; + va_start(arg, format); + pj_log(obj, 3, format, arg); + va_end(arg); +} +#endif + +#if PJ_LOG_MAX_LEVEL >= 4 +PJ_DEF(void) pj_log_4(const char *obj, const char *format, ...) +{ + va_list arg; + va_start(arg, format); + pj_log(obj, 4, format, arg); + va_end(arg); +} +#endif + +#if PJ_LOG_MAX_LEVEL >= 5 +PJ_DEF(void) pj_log_5(const char *obj, const char *format, ...) +{ + va_list arg; + va_start(arg, format); + pj_log(obj, 5, format, arg); + va_end(arg); +} +#endif + +#if PJ_LOG_MAX_LEVEL >= 6 +PJ_DEF(void) pj_log_6(const char *obj, const char *format, ...) +{ + va_list arg; + va_start(arg, format); + pj_log(obj, 6, format, arg); + va_end(arg); +} +#endif + diff --git a/pjlib/src/pj/log_writer_printk.c b/pjlib/src/pj/log_writer_printk.c new file mode 100644 index 0000000..c75fb67 --- /dev/null +++ b/pjlib/src/pj/log_writer_printk.c @@ -0,0 +1,28 @@ +/* $Id: log_writer_printk.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include + +PJ_DEF(void) pj_log_write(int level, const char *buffer, int len) +{ + PJ_CHECK_STACK(); + printk(KERN_INFO "%s", buffer); +} + diff --git a/pjlib/src/pj/log_writer_stdout.c b/pjlib/src/pj/log_writer_stdout.c new file mode 100644 index 0000000..b1e5482 --- /dev/null +++ b/pjlib/src/pj/log_writer_stdout.c @@ -0,0 +1,57 @@ +/* $Id: log_writer_stdout.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + + +static void term_set_color(int level) +{ +#if defined(PJ_TERM_HAS_COLOR) && PJ_TERM_HAS_COLOR != 0 + pj_term_set_color(pj_log_get_color(level)); +#else + PJ_UNUSED_ARG(level); +#endif +} + +static void term_restore_color(void) +{ +#if defined(PJ_TERM_HAS_COLOR) && PJ_TERM_HAS_COLOR != 0 + /* Set terminal to its default color */ + pj_term_set_color(pj_log_get_color(77)); +#endif +} + + +PJ_DEF(void) pj_log_write(int level, const char *buffer, int len) +{ + PJ_CHECK_STACK(); + PJ_UNUSED_ARG(len); + + /* Copy to terminal/file. */ + if (pj_log_get_decor() & PJ_LOG_HAS_COLOR) { + term_set_color(level); + printf("%s", buffer); + term_restore_color(); + } else { + printf("%s", buffer); + } +} + diff --git a/pjlib/src/pj/log_writer_symbian_console.cpp b/pjlib/src/pj/log_writer_symbian_console.cpp new file mode 100644 index 0000000..525394e --- /dev/null +++ b/pjlib/src/pj/log_writer_symbian_console.cpp @@ -0,0 +1,44 @@ +/* $Id: log_writer_symbian_console.cpp 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + +#include "os_symbian.h" +#include + +PJ_DEF(void) pj_log_write(int level, const char *buffer, int len) +{ +#if 0 + wchar_t wbuffer[PJ_LOG_MAX_SIZE]; + CConsoleBase *cons = PjSymbianOS::Instance->Console(); + + pj_ansi_to_unicode(buffer, len, wbuffer, PJ_ARRAY_SIZE(wbuffer)); + + + TPtrC16 aPtr((TUint16*)wbuffer, len); + console->Write(aPtr); +#else + PJ_UNUSED_ARG(level); + PJ_UNUSED_ARG(buffer); + PJ_UNUSED_ARG(len); +#endif +} + diff --git a/pjlib/src/pj/os_core_darwin.m b/pjlib/src/pj/os_core_darwin.m new file mode 100644 index 0000000..f93f425 --- /dev/null +++ b/pjlib/src/pj/os_core_darwin.m @@ -0,0 +1,100 @@ +/* $Id: os_core_darwin.m 3670 2011-07-20 03:00:48Z ming $ */ +/* + * Copyright (C) 2011-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include "TargetConditionals.h" + +#if TARGET_OS_IPHONE + +PJ_DEF(int) pj_run_app(pj_main_func_ptr main_func, int argc, char *argv[], + unsigned flags) +{ + return (*main_func)(argc, argv); +} + +#else + +#include +#include +#include +#include + +#define THIS_FILE "os_core_darwin.m" + +typedef struct run_app_t { + pj_main_func_ptr main_func; + int argc; + char **argv; + int retval; +} run_app_t; + +@interface DeadThread: NSObject { ;; } ++ (void)enterMultiThreadedMode; ++ (void)emptyThreadMethod:(id)obj; +@end + +@implementation DeadThread ++ (void)enterMultiThreadedMode +{ + [NSThread detachNewThreadSelector:@selector(emptyThreadMethod:) + toTarget:[DeadThread class] withObject:nil]; +} + ++ (void)emptyThreadMethod:(id)obj { ; } +@end + +static void* main_thread(void *data) +{ + run_app_t *param = (run_app_t *)data; + + param->retval = (*param->main_func)(param->argc, param->argv); + CFRunLoopStop(CFRunLoopGetMain()); + + return NULL; +} + +/* + * pj_run_app() + * This function has to be called from the main thread. The purpose of + * this function is to initialize the application's memory pool, event + * loop management, and multi-threading environment. + */ +PJ_DEF(int) pj_run_app(pj_main_func_ptr main_func, int argc, char *argv[], + unsigned flags) +{ + pthread_t thread; + run_app_t param; + NSAutoreleasePool *pool; + + pool = [[NSAutoreleasePool alloc] init]; + [NSApplication sharedApplication]; + [DeadThread enterMultiThreadedMode]; + + param.argc = argc; + param.argv = (char **)argv; + param.main_func = main_func; + if (pthread_create(&thread, NULL, &main_thread, ¶m) == 0) { + CFRunLoopRun(); + } + + PJ_UNUSED_ARG(pool); + + return param.retval; +} + +#endif diff --git a/pjlib/src/pj/os_core_linux_kernel.c b/pjlib/src/pj/os_core_linux_kernel.c new file mode 100644 index 0000000..c1865ef --- /dev/null +++ b/pjlib/src/pj/os_core_linux_kernel.c @@ -0,0 +1,698 @@ +/* $Id: os_core_linux_kernel.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#if defined(MODVERSIONS) +#include +#endif +#include +#include +//#include +#include +#include + +#include +#include +#include + +#define THIS_FILE "oslinuxkern" + +struct pj_thread_t +{ + /** Thread's name. */ + char obj_name[PJ_MAX_OBJ_NAME]; + + /** Linux task structure for thread. */ + struct task_struct *thread; + + /** Flags (specified in pj_thread_create) */ + unsigned flags; + + /** Task queue needed to launch thread. */ + //struct tq_struct tq; + + /** Semaphore needed to control thread startup. */ + struct semaphore startstop_sem; + + /** Semaphore to suspend thread during startup. */ + struct semaphore suspend_sem; + + /** Queue thread is waiting on. Gets initialized by + thread_initialize, can be used by thread itself. + */ + wait_queue_head_t queue; + + /** Flag to tell thread whether to die or not. + When the thread receives a signal, it must check + the value of terminate and call thread_deinitialize and terminate + if set. + */ + int terminate; + + /** Thread's entry. */ + pj_thread_proc *func; + + /** Argument. */ + void *arg; +}; + +struct pj_atomic_t +{ + atomic_t atom; +}; + +struct pj_mutex_t +{ + struct semaphore sem; + pj_bool_t recursive; + pj_thread_t *owner; + int own_count; +}; + +struct pj_sem_t +{ + struct semaphore sem; +}; + +/* + * Static global variables. + */ +#define MAX_TLS_ID 32 +static void *tls_values[MAX_TLS_ID]; +static int tls_id; +static long thread_tls_id; +static spinlock_t critical_section = SPIN_LOCK_UNLOCKED; +static unsigned long spinlock_flags; +static pj_thread_t main_thread; + +/* private functions */ +//#define TRACE_(expr) PJ_LOG(3,expr) +#define TRACE_(x) + + +/* This must be called in the context of the new thread. */ +static void thread_initialize( pj_thread_t *thread ) +{ + TRACE_((THIS_FILE, "---new thread initializing...")); + + /* Set TLS */ + pj_thread_local_set(thread_tls_id, thread); + + /* fill in thread structure */ + thread->thread = current; + pj_assert(thread->thread != NULL); + + /* set signal mask to what we want to respond */ + siginitsetinv(¤t->blocked, + sigmask(SIGKILL)|sigmask(SIGINT)|sigmask(SIGTERM)); + + /* initialise wait queue */ + init_waitqueue_head(&thread->queue); + + /* initialise termination flag */ + thread->terminate = 0; + + /* set name of this process (making sure obj_name is null + * terminated first) + */ + thread->obj_name[PJ_MAX_OBJ_NAME-1] = '\0'; + sprintf(current->comm, thread->obj_name); + + /* tell the creator that we are ready and let him continue */ + up(&thread->startstop_sem); +} + +/* cleanup of thread. Called by the exiting thread. */ +static void thread_deinitialize(pj_thread_t *thread) +{ + /* we are terminating */ + + /* lock the kernel, the exit will unlock it */ + thread->thread = NULL; + mb(); + + /* notify the stop_kthread() routine that we are terminating. */ + up(&thread->startstop_sem); + + /* the kernel_thread that called clone() does a do_exit here. */ + + /* there is no race here between execution of the "killer" and + real termination of the thread (race window between up and do_exit), + since both the thread and the "killer" function are running with + the kernel lock held. + The kernel lock will be freed after the thread exited, so the code + is really not executed anymore as soon as the unload functions gets + the kernel lock back. + The init process may not have made the cleanup of the process here, + but the cleanup can be done safely with the module unloaded. + */ + +} + +static int thread_proc(void *arg) +{ + pj_thread_t *thread = arg; + + TRACE_((THIS_FILE, "---new thread starting!")); + + /* Initialize thread. */ + thread_initialize( thread ); + + /* Wait if created suspended. */ + if (thread->flags & PJ_THREAD_SUSPENDED) { + TRACE_((THIS_FILE, "---new thread suspended...")); + down(&thread->suspend_sem); + } + + TRACE_((THIS_FILE, "---new thread running...")); + + pj_assert(thread->func != NULL); + + /* Call thread's entry. */ + (*thread->func)(thread->arg); + + TRACE_((THIS_FILE, "---thread exiting...")); + + /* Cleanup thread. */ + thread_deinitialize(thread); + + return 0; +} + +/* The very task entry. */ +static void kthread_launcher(void *arg) +{ + TRACE_((THIS_FILE, "...launching thread!...")); + kernel_thread(&thread_proc, arg, 0); +} + +PJ_DEF(pj_status_t) pj_init(void) +{ + pj_status_t rc; + + PJ_LOG(5, ("pj_init", "Initializing PJ Library..")); + + rc = pj_thread_init(); + if (rc != PJ_SUCCESS) + return rc; + + /* Initialize exception ID for the pool. + * Must do so after critical section is configured. + */ + rc = pj_exception_id_alloc("PJLIB/No memory", &PJ_NO_MEMORY_EXCEPTION); + if (rc != PJ_SUCCESS) + return rc; + + return PJ_SUCCESS; +} + +PJ_DEF(pj_uint32_t) pj_getpid(void) +{ + return 1; +} + +PJ_DEF(pj_status_t) pj_thread_register ( const char *cstr_thread_name, + pj_thread_desc desc, + pj_thread_t **ptr_thread) +{ + char stack_ptr; + pj_thread_t *thread = (pj_thread_t *)desc; + pj_str_t thread_name = pj_str((char*)cstr_thread_name); + + /* Size sanity check. */ + if (sizeof(pj_thread_desc) < sizeof(pj_thread_t)) { + pj_assert(!"Not enough pj_thread_desc size!"); + return PJ_EBUG; + } + + /* If a thread descriptor has been registered before, just return it. */ + if (pj_thread_local_get (thread_tls_id) != 0) { + // 2006-02-26 bennylp: + // This wouldn't work in all cases!. + // If thread is created by external module (e.g. sound thread), + // thread may be reused while the pool used for the thread descriptor + // has been deleted by application. + //*thread_ptr = (pj_thread_t*)pj_thread_local_get (thread_tls_id); + //return PJ_SUCCESS; + } + + /* Initialize and set the thread entry. */ + pj_bzero(desc, sizeof(struct pj_thread_t)); + + if(cstr_thread_name && pj_strlen(&thread_name) < sizeof(thread->obj_name)-1) + pj_sprintf(thread->obj_name, cstr_thread_name, thread->thread); + else + pj_snprintf(thread->obj_name, sizeof(thread->obj_name), + "thr%p", (void*)thread->thread); + + /* Initialize. */ + thread_initialize(thread); + + /* Eat semaphore. */ + down(&thread->startstop_sem); + +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 + thread->stk_start = &stack_ptr; + thread->stk_size = 0xFFFFFFFFUL; + thread->stk_max_usage = 0; +#else + stack_ptr = '\0'; +#endif + + *ptr_thread = thread; + return PJ_SUCCESS; +} + + +pj_status_t pj_thread_init(void) +{ + pj_status_t rc; + pj_thread_t *dummy; + + rc = pj_thread_local_alloc(&thread_tls_id); + if (rc != PJ_SUCCESS) + return rc; + + return pj_thread_register("pjlib-main", (long*)&main_thread, &dummy); +} + +PJ_DEF(pj_status_t) pj_thread_create( pj_pool_t *pool, const char *thread_name, + pj_thread_proc *proc, void *arg, + pj_size_t stack_size, unsigned flags, + pj_thread_t **ptr_thread) +{ + pj_thread_t *thread; + + TRACE_((THIS_FILE, "pj_thread_create()")); + + PJ_ASSERT_RETURN(pool && proc && ptr_thread, PJ_EINVAL); + + thread = pj_pool_zalloc(pool, sizeof(pj_thread_t)); + if (!thread) + return PJ_ENOMEM; + + PJ_UNUSED_ARG(stack_size); + + /* Thread name. */ + if (!thread_name) + thread_name = "thr%p"; + + if (strchr(thread_name, '%')) { + pj_snprintf(thread->obj_name, PJ_MAX_OBJ_NAME, thread_name, thread); + } else { + strncpy(thread->obj_name, thread_name, PJ_MAX_OBJ_NAME); + thread->obj_name[PJ_MAX_OBJ_NAME-1] = '\0'; + } + + /* Init thread's semaphore. */ + TRACE_((THIS_FILE, "...init semaphores...")); + init_MUTEX_LOCKED(&thread->startstop_sem); + init_MUTEX_LOCKED(&thread->suspend_sem); + + thread->flags = flags; + + if ((flags & PJ_THREAD_SUSPENDED) == 0) { + up(&thread->suspend_sem); + } + + /* Store the functions and argument. */ + thread->func = proc; + thread->arg = arg; + + /* Save return value. */ + *ptr_thread = thread; + + /* Create the new thread by running a task through keventd. */ + +#if 0 + /* Initialize the task queue struct. */ + thread->tq.sync = 0; + INIT_LIST_HEAD(&thread->tq.list); + thread->tq.routine = kthread_launcher; + thread->tq.data = thread; + + /* and schedule it for execution. */ + schedule_task(&thread->tq); +#endif + kthread_launcher(thread); + + /* Wait until thread has reached the setup_thread routine. */ + TRACE_((THIS_FILE, "...wait for the new thread...")); + down(&thread->startstop_sem); + + TRACE_((THIS_FILE, "...main thread resumed...")); + return PJ_SUCCESS; +} + +PJ_DEF(const char*) pj_thread_get_name(pj_thread_t *thread) +{ + return thread->obj_name; +} + +PJ_DEF(pj_status_t) pj_thread_resume(pj_thread_t *thread) +{ + up(&thread->suspend_sem); + return PJ_SUCCESS; +} + +PJ_DEF(pj_thread_t*) pj_thread_this(void) +{ + return (pj_thread_t*)pj_thread_local_get(thread_tls_id); +} + +PJ_DEF(pj_status_t) pj_thread_join(pj_thread_t *p) +{ + TRACE_((THIS_FILE, "pj_thread_join()")); + down(&p->startstop_sem); + TRACE_((THIS_FILE, " joined!")); + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_thread_destroy(pj_thread_t *thread) +{ + PJ_ASSERT_RETURN(thread != NULL, PJ_EINVALIDOP); + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_thread_sleep(unsigned msec) +{ + pj_highprec_t ticks; + pj_thread_t *thread = pj_thread_this(); + + PJ_ASSERT_RETURN(thread != NULL, PJ_EBUG); + + /* Use high precision calculation to make sure we don't + * crop values: + * + * ticks = HZ * msec / 1000 + */ + ticks = HZ; + pj_highprec_mul(ticks, msec); + pj_highprec_div(ticks, 1000); + + TRACE_((THIS_FILE, "this thread will sleep for %u ticks", ticks)); + interruptible_sleep_on_timeout( &thread->queue, ticks); + return PJ_SUCCESS; +} + + +/////////////////////////////////////////////////////////////////////////////// +PJ_DEF(pj_status_t) pj_atomic_create( pj_pool_t *pool, + pj_atomic_value_t value, + pj_atomic_t **ptr_var) +{ + pj_atomic_t *t = pj_pool_calloc(pool, 1, sizeof(pj_atomic_t)); + if (!t) return PJ_ENOMEM; + + atomic_set(&t->atom, value); + *ptr_var = t; + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_atomic_destroy( pj_atomic_t *var ) +{ + return PJ_SUCCESS; +} + +PJ_DEF(void) pj_atomic_set(pj_atomic_t *var, pj_atomic_value_t value) +{ + atomic_set(&var->atom, value); +} + +PJ_DEF(pj_atomic_value_t) pj_atomic_get(pj_atomic_t *var) +{ + return atomic_read(&var->atom); +} + +PJ_DEF(void) pj_atomic_inc(pj_atomic_t *var) +{ + atomic_inc(&var->atom); +} + +PJ_DEF(void) pj_atomic_dec(pj_atomic_t *var) +{ + atomic_dec(&var->atom); +} + +PJ_DEF(void) pj_atomic_add( pj_atomic_t *var, pj_atomic_value_t value ) +{ + atomic_add(value, &var->atom); +} + + +/////////////////////////////////////////////////////////////////////////////// +PJ_DEF(pj_status_t) pj_thread_local_alloc(long *index) +{ + if (tls_id >= MAX_TLS_ID) + return PJ_ETOOMANY; + + *index = tls_id++; + + return PJ_SUCCESS; +} + +PJ_DEF(void) pj_thread_local_free(long index) +{ + pj_assert(index >= 0 && index < MAX_TLS_ID); +} + +PJ_DEF(pj_status_t) pj_thread_local_set(long index, void *value) +{ + pj_assert(index >= 0 && index < MAX_TLS_ID); + tls_values[index] = value; + return PJ_SUCCESS; +} + +PJ_DEF(void*) pj_thread_local_get(long index) +{ + pj_assert(index >= 0 && index < MAX_TLS_ID); + return tls_values[index]; +} + + +/////////////////////////////////////////////////////////////////////////////// +PJ_DEF(void) pj_enter_critical_section(void) +{ + spin_lock_irqsave(&critical_section, spinlock_flags); +} + +PJ_DEF(void) pj_leave_critical_section(void) +{ + spin_unlock_irqrestore(&critical_section, spinlock_flags); +} + + +/////////////////////////////////////////////////////////////////////////////// +PJ_DEF(pj_status_t) pj_mutex_create( pj_pool_t *pool, + const char *name, + int type, + pj_mutex_t **ptr_mutex) +{ + pj_mutex_t *mutex; + + PJ_UNUSED_ARG(name); + + mutex = pj_pool_alloc(pool, sizeof(pj_mutex_t)); + if (!mutex) + return PJ_ENOMEM; + + init_MUTEX(&mutex->sem); + + mutex->recursive = (type == PJ_MUTEX_RECURSE); + mutex->owner = NULL; + mutex->own_count = 0; + + /* Done. */ + *ptr_mutex = mutex; + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_mutex_create_simple( pj_pool_t *pool, const char *name, + pj_mutex_t **mutex ) +{ + return pj_mutex_create(pool, name, PJ_MUTEX_SIMPLE, mutex); +} + +PJ_DEF(pj_status_t) pj_mutex_create_recursive( pj_pool_t *pool, + const char *name, + pj_mutex_t **mutex ) +{ + return pj_mutex_create( pool, name, PJ_MUTEX_RECURSE, mutex); +} + +PJ_DEF(pj_status_t) pj_mutex_lock(pj_mutex_t *mutex) +{ + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + + if (mutex->recursive) { + pj_thread_t *this_thread = pj_thread_this(); + if (mutex->owner == this_thread) { + ++mutex->own_count; + } else { + down(&mutex->sem); + pj_assert(mutex->own_count == 0); + mutex->owner = this_thread; + mutex->own_count = 1; + } + } else { + down(&mutex->sem); + } + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_mutex_trylock(pj_mutex_t *mutex) +{ + long rc; + + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + + if (mutex->recursive) { + pj_thread_t *this_thread = pj_thread_this(); + if (mutex->owner == this_thread) { + ++mutex->own_count; + } else { + rc = down_interruptible(&mutex->sem); + if (rc != 0) + return PJ_RETURN_OS_ERROR(-rc); + pj_assert(mutex->own_count == 0); + mutex->owner = this_thread; + mutex->own_count = 1; + } + } else { + int rc = down_trylock(&mutex->sem); + if (rc != 0) + return PJ_RETURN_OS_ERROR(-rc); + } + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_mutex_unlock(pj_mutex_t *mutex) +{ + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + + if (mutex->recursive) { + pj_thread_t *this_thread = pj_thread_this(); + if (mutex->owner == this_thread) { + pj_assert(mutex->own_count > 0); + --mutex->own_count; + if (mutex->own_count == 0) { + mutex->owner = NULL; + up(&mutex->sem); + } + } else { + pj_assert(!"Not owner!"); + return PJ_EINVALIDOP; + } + } else { + up(&mutex->sem); + } + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_mutex_destroy(pj_mutex_t *mutex) +{ + PJ_ASSERT_RETURN(mutex != NULL, PJ_EINVAL); + + return PJ_SUCCESS; +} + +#if defined(PJ_DEBUG) && PJ_DEBUG != 0 +PJ_DEF(pj_bool_t) pj_mutex_is_locked(pj_mutex_t *mutex) +{ + if (mutex->recursive) + return mutex->owner == pj_thread_this(); + else + return 1; +} +#endif /* PJ_DEBUG */ + + +#if defined(PJ_HAS_SEMAPHORE) && PJ_HAS_SEMAPHORE != 0 + +PJ_DEF(pj_status_t) pj_sem_create( pj_pool_t *pool, + const char *name, + unsigned initial, + unsigned max, + pj_sem_t **sem) +{ + pj_sem_t *sem; + + PJ_UNUSED_ARG(max); + + PJ_ASSERT_RETURN(pool && sem, PJ_EINVAL); + + sem = pj_pool_alloc(pool, sizeof(pj_sem_t)); + sema_init(&sem->sem, initial); + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_sem_wait(pj_sem_t *sem) +{ + PJ_ASSERT_RETURN(pool && sem, PJ_EINVAL); + + down(&sem->sem); + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_sem_trywait(pj_sem_t *sem) +{ + int rc; + + PJ_ASSERT_RETURN(pool && sem, PJ_EINVAL); + + rc = down_trylock(&sem->sem); + if (rc != 0) { + return PJ_RETURN_OS_ERROR(-rc); + } else { + return PJ_SUCCESS; + } +} + +PJ_DEF(pj_status_t) pj_sem_post(pj_sem_t *sem) +{ + PJ_ASSERT_RETURN(pool && sem, PJ_EINVAL); + + up(&sem->sem); + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_sem_destroy(pj_sem_t *sem) +{ + PJ_ASSERT_RETURN(pool && sem, PJ_EINVAL); + + return PJ_SUCCESS; +} + +#endif /* PJ_HAS_SEMAPHORE */ + + + + diff --git a/pjlib/src/pj/os_core_symbian.cpp b/pjlib/src/pj/os_core_symbian.cpp new file mode 100644 index 0000000..f9f5d7d --- /dev/null +++ b/pjlib/src/pj/os_core_symbian.cpp @@ -0,0 +1,1063 @@ +/* $Id: os_core_symbian.cpp 3999 2012-03-30 07:10:13Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "os_symbian.h" + + +#define PJ_MAX_TLS 32 +#define DUMMY_MUTEX ((pj_mutex_t*)101) +#define DUMMY_SEMAPHORE ((pj_sem_t*)102) +#define THIS_FILE "os_core_symbian.c" + +/* Default message slot number for RSocketServ::Connect(). + * Increase it to 32 from the default 8 (KESockDefaultMessageSlots) + */ +#ifndef PJ_SYMBIAN_SOCK_MSG_SLOTS +# define PJ_SYMBIAN_SOCK_MSG_SLOTS 32 +#endif + +/* + * Note: + * + * The Symbian implementation does not support threading! + */ + +struct pj_thread_t +{ + char obj_name[PJ_MAX_OBJ_NAME]; + void *tls_values[PJ_MAX_TLS]; + +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 + pj_uint32_t stk_size; + pj_uint32_t stk_max_usage; + char *stk_start; + const char *caller_file; + int caller_line; +#endif + +} main_thread; + +struct pj_atomic_t +{ + pj_atomic_value_t value; +}; + +struct pj_sem_t +{ + int value; + int max; +}; + +/* Flag and reference counter for PJLIB instance */ +static int initialized; + +/* Flags to indicate which TLS variables have been used */ +static int tls_vars[PJ_MAX_TLS]; + +/* atexit handlers */ +static unsigned atexit_count; +static void (*atexit_func[32])(void); + + +///////////////////////////////////////////////////////////////////////////// +// +// CPjTimeoutTimer implementation +// + +CPjTimeoutTimer::CPjTimeoutTimer() +: CActive(PJ_SYMBIAN_TIMER_PRIORITY), hasTimedOut_(PJ_FALSE) +{ +} + +CPjTimeoutTimer::~CPjTimeoutTimer() +{ + Cancel(); + timer_.Close(); +} + +void CPjTimeoutTimer::ConstructL() +{ + hasTimedOut_ = PJ_FALSE; + timer_.CreateLocal(); + CActiveScheduler::Add(this); +} + +CPjTimeoutTimer *CPjTimeoutTimer::NewL() +{ + CPjTimeoutTimer *self = new CPjTimeoutTimer; + CleanupStack::PushL(self); + + self->ConstructL(); + + CleanupStack::Pop(self); + return self; + +} + +void CPjTimeoutTimer::StartTimer(TUint miliSeconds) +{ + Cancel(); + + hasTimedOut_ = PJ_FALSE; + timer_.After(iStatus, miliSeconds * 1000); + SetActive(); +} + +bool CPjTimeoutTimer::HasTimedOut() const +{ + return hasTimedOut_ != 0; +} + +void CPjTimeoutTimer::RunL() +{ + hasTimedOut_ = PJ_TRUE; +} + +void CPjTimeoutTimer::DoCancel() +{ + timer_.Cancel(); +} + +TInt CPjTimeoutTimer::RunError(TInt aError) +{ + PJ_UNUSED_ARG(aError); + return KErrNone; +} + + + +///////////////////////////////////////////////////////////////////////////// +// +// PjSymbianOS implementation +// + +PjSymbianOS::PjSymbianOS() +: isConnectionUp_(false), + isSocketServInitialized_(false), isResolverInitialized_(false), + console_(NULL), selectTimeoutTimer_(NULL), + appSocketServ_(NULL), appConnection_(NULL), appHostResolver_(NULL), + appHostResolver6_(NULL) +{ +} + +// Set parameters +void PjSymbianOS::SetParameters(pj_symbianos_params *params) +{ + appSocketServ_ = (RSocketServ*) params->rsocketserv; + appConnection_ = (RConnection*) params->rconnection; + appHostResolver_ = (RHostResolver*) params->rhostresolver; + appHostResolver6_ = (RHostResolver*) params->rhostresolver6; +} + +// Get PjSymbianOS instance +PjSymbianOS *PjSymbianOS::Instance() +{ + static PjSymbianOS instance_; + return &instance_; +} + + +// Initialize +TInt PjSymbianOS::Initialize() +{ + TInt err; + + selectTimeoutTimer_ = CPjTimeoutTimer::NewL(); + +#if 0 + pj_assert(console_ == NULL); + TRAPD(err, console_ = Console::NewL(_L("PJLIB"), + TSize(KConsFullScreen,KConsFullScreen))); + return err; +#endif + + /* Only create RSocketServ if application doesn't specify it + * in the parameters + */ + if (!isSocketServInitialized_ && appSocketServ_ == NULL) { + err = socketServ_.Connect(PJ_SYMBIAN_SOCK_MSG_SLOTS); + if (err != KErrNone) + goto on_error; + + isSocketServInitialized_ = true; + } + + if (!isResolverInitialized_) { + if (appHostResolver_ == NULL) { + if (Connection()) + err = hostResolver_.Open(SocketServ(), KAfInet, KSockStream, + *Connection()); + else + err = hostResolver_.Open(SocketServ(), KAfInet, KSockStream); + + if (err != KErrNone) + goto on_error; + } + +#if defined(PJ_HAS_IPV6) && PJ_HAS_IPV6!=0 + if (appHostResolver6_ == NULL) { + if (Connection()) + err = hostResolver6_.Open(SocketServ(), KAfInet6, KSockStream, + *Connection()); + else + err = hostResolver6_.Open(SocketServ(), KAfInet6, KSockStream); + + if (err != KErrNone) + goto on_error; + } +#endif + + + isResolverInitialized_ = true; + } + + isConnectionUp_ = true; + + return KErrNone; + +on_error: + Shutdown(); + return err; +} + +// Shutdown +void PjSymbianOS::Shutdown() +{ + isConnectionUp_ = false; + + if (isResolverInitialized_) { + hostResolver_.Close(); +#if defined(PJ_HAS_IPV6) && PJ_HAS_IPV6!=0 + hostResolver6_.Close(); +#endif + isResolverInitialized_ = false; + } + + if (isSocketServInitialized_) { + socketServ_.Close(); + isSocketServInitialized_ = false; + } + + delete console_; + console_ = NULL; + + delete selectTimeoutTimer_; + selectTimeoutTimer_ = NULL; + + appSocketServ_ = NULL; + appConnection_ = NULL; + appHostResolver_ = NULL; + appHostResolver6_ = NULL; +} + +// Convert to Unicode +TInt PjSymbianOS::ConvertToUnicode(TDes16 &aUnicode, const TDesC8 &aForeign) +{ +#if 0 + pj_assert(conv_ != NULL); + return conv_->ConvertToUnicode(aUnicode, aForeign, convToUnicodeState_); +#else + return CnvUtfConverter::ConvertToUnicodeFromUtf8(aUnicode, aForeign); +#endif +} + +// Convert from Unicode +TInt PjSymbianOS::ConvertFromUnicode(TDes8 &aForeign, const TDesC16 &aUnicode) +{ +#if 0 + pj_assert(conv_ != NULL); + return conv_->ConvertFromUnicode(aForeign, aUnicode, convToAnsiState_); +#else + return CnvUtfConverter::ConvertFromUnicodeToUtf8(aForeign, aUnicode); +#endif +} + + +///////////////////////////////////////////////////////////////////////////// +// +// PJLIB os.h implementation +// + +PJ_DEF(pj_uint32_t) pj_getpid(void) +{ + return 0; +} + + +/* Set Symbian specific parameters */ +PJ_DEF(pj_status_t) pj_symbianos_set_params(pj_symbianos_params *prm) +{ + PJ_ASSERT_RETURN(prm != NULL, PJ_EINVAL); + PjSymbianOS::Instance()->SetParameters(prm); + return PJ_SUCCESS; +} + + +/* Set connection status */ +PJ_DEF(void) pj_symbianos_set_connection_status(pj_bool_t up) +{ + PjSymbianOS::Instance()->SetConnectionStatus(up != 0); +} + + +/* + * pj_init(void). + * Init PJLIB! + */ +PJ_DEF(pj_status_t) pj_init(void) +{ + char stack_ptr; + pj_status_t status; + + /* Check if PJLIB have been initialized */ + if (initialized) { + ++initialized; + return PJ_SUCCESS; + } + + pj_ansi_strcpy(main_thread.obj_name, "pjthread"); + + // Init main thread + pj_memset(&main_thread, 0, sizeof(main_thread)); + + // Initialize PjSymbianOS instance + PjSymbianOS *os = PjSymbianOS::Instance(); + + PJ_LOG(4,(THIS_FILE, "Initializing PJLIB for Symbian OS..")); + + TInt err; + err = os->Initialize(); + if (err != KErrNone) + return PJ_RETURN_OS_ERROR(err); + + /* Init logging */ + pj_log_init(); + + /* Initialize exception ID for the pool. + * Must do so after critical section is configured. + */ + status = pj_exception_id_alloc("PJLIB/No memory", &PJ_NO_MEMORY_EXCEPTION); + if (status != PJ_SUCCESS) + goto on_error; + +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 + main_thread.stk_start = &stack_ptr; + main_thread.stk_size = 0xFFFFFFFFUL; + main_thread.stk_max_usage = 0; +#else + stack_ptr = '\0'; +#endif + + /* Flag PJLIB as initialized */ + ++initialized; + pj_assert(initialized == 1); + + PJ_LOG(5,(THIS_FILE, "PJLIB initialized.")); + return PJ_SUCCESS; + +on_error: + pj_shutdown(); + return PJ_RETURN_OS_ERROR(err); +} + + +PJ_DEF(pj_status_t) pj_atexit(pj_exit_callback func) +{ + if (atexit_count >= PJ_ARRAY_SIZE(atexit_func)) + return PJ_ETOOMANY; + + atexit_func[atexit_count++] = func; + return PJ_SUCCESS; +} + + + +PJ_DEF(void) pj_shutdown(void) +{ + /* Only perform shutdown operation when 'initialized' reaches zero */ + pj_assert(initialized > 0); + if (--initialized != 0) + return; + + /* Call atexit() functions */ + while (atexit_count > 0) { + (*atexit_func[atexit_count-1])(); + --atexit_count; + } + + /* Free exception ID */ + if (PJ_NO_MEMORY_EXCEPTION != -1) { + pj_exception_id_free(PJ_NO_MEMORY_EXCEPTION); + PJ_NO_MEMORY_EXCEPTION = -1; + } + + /* Clear static variables */ + pj_errno_clear_handlers(); + + PjSymbianOS *os = PjSymbianOS::Instance(); + os->Shutdown(); +} + +///////////////////////////////////////////////////////////////////////////// + +class CPollTimeoutTimer : public CActive +{ +public: + static CPollTimeoutTimer* NewL(int msec, TInt prio); + ~CPollTimeoutTimer(); + + virtual void RunL(); + virtual void DoCancel(); + +private: + RTimer rtimer_; + + explicit CPollTimeoutTimer(TInt prio); + void ConstructL(int msec); +}; + +CPollTimeoutTimer::CPollTimeoutTimer(TInt prio) +: CActive(prio) +{ +} + + +CPollTimeoutTimer::~CPollTimeoutTimer() +{ + rtimer_.Close(); +} + +void CPollTimeoutTimer::ConstructL(int msec) +{ + rtimer_.CreateLocal(); + CActiveScheduler::Add(this); + rtimer_.After(iStatus, msec*1000); + SetActive(); +} + +CPollTimeoutTimer* CPollTimeoutTimer::NewL(int msec, TInt prio) +{ + CPollTimeoutTimer *self = new CPollTimeoutTimer(prio); + CleanupStack::PushL(self); + self->ConstructL(msec); + CleanupStack::Pop(self); + + return self; +} + +void CPollTimeoutTimer::RunL() +{ +} + +void CPollTimeoutTimer::DoCancel() +{ + rtimer_.Cancel(); +} + + +/* + * Wait the completion of any Symbian active objects. + */ +PJ_DEF(pj_bool_t) pj_symbianos_poll(int priority, int ms_timeout) +{ + CPollTimeoutTimer *timer = NULL; + + if (priority==-1) + priority = EPriorityNull; + + if (ms_timeout >= 0) { + timer = CPollTimeoutTimer::NewL(ms_timeout, priority); + } + + PjSymbianOS::Instance()->WaitForActiveObjects(priority); + + if (timer) { + bool timer_is_active = timer->IsActive(); + + timer->Cancel(); + + delete timer; + + return timer_is_active ? PJ_TRUE : PJ_FALSE; + + } else { + return PJ_TRUE; + } +} + + +/* + * pj_thread_is_registered() + */ +PJ_DEF(pj_bool_t) pj_thread_is_registered(void) +{ + return PJ_FALSE; +} + + +/* + * Get thread priority value for the thread. + */ +PJ_DEF(int) pj_thread_get_prio(pj_thread_t *thread) +{ + PJ_UNUSED_ARG(thread); + return 1; +} + + +/* + * Set the thread priority. + */ +PJ_DEF(pj_status_t) pj_thread_set_prio(pj_thread_t *thread, int prio) +{ + PJ_UNUSED_ARG(thread); + PJ_UNUSED_ARG(prio); + return PJ_SUCCESS; +} + + +/* + * Get the lowest priority value available on this system. + */ +PJ_DEF(int) pj_thread_get_prio_min(pj_thread_t *thread) +{ + PJ_UNUSED_ARG(thread); + return 1; +} + + +/* + * Get the highest priority value available on this system. + */ +PJ_DEF(int) pj_thread_get_prio_max(pj_thread_t *thread) +{ + PJ_UNUSED_ARG(thread); + return 1; +} + + +/* + * pj_thread_get_os_handle() + */ +PJ_DEF(void*) pj_thread_get_os_handle(pj_thread_t *thread) +{ + PJ_UNUSED_ARG(thread); + return NULL; +} + +/* + * pj_thread_register(..) + */ +PJ_DEF(pj_status_t) pj_thread_register ( const char *cstr_thread_name, + pj_thread_desc desc, + pj_thread_t **thread_ptr) +{ + PJ_UNUSED_ARG(cstr_thread_name); + PJ_UNUSED_ARG(desc); + PJ_UNUSED_ARG(thread_ptr); + return PJ_EINVALIDOP; +} + + +/* + * pj_thread_create(...) + */ +PJ_DEF(pj_status_t) pj_thread_create( pj_pool_t *pool, + const char *thread_name, + pj_thread_proc *proc, + void *arg, + pj_size_t stack_size, + unsigned flags, + pj_thread_t **ptr_thread) +{ + PJ_UNUSED_ARG(pool); + PJ_UNUSED_ARG(thread_name); + PJ_UNUSED_ARG(proc); + PJ_UNUSED_ARG(arg); + PJ_UNUSED_ARG(stack_size); + PJ_UNUSED_ARG(flags); + PJ_UNUSED_ARG(ptr_thread); + + /* Sorry mate, we don't support threading */ + return PJ_ENOTSUP; +} + +/* + * pj_thread-get_name() + */ +PJ_DEF(const char*) pj_thread_get_name(pj_thread_t *p) +{ + pj_assert(p == &main_thread); + return p->obj_name; +} + +/* + * pj_thread_resume() + */ +PJ_DEF(pj_status_t) pj_thread_resume(pj_thread_t *p) +{ + PJ_UNUSED_ARG(p); + return PJ_EINVALIDOP; +} + +/* + * pj_thread_this() + */ +PJ_DEF(pj_thread_t*) pj_thread_this(void) +{ + return &main_thread; +} + +/* + * pj_thread_join() + */ +PJ_DEF(pj_status_t) pj_thread_join(pj_thread_t *rec) +{ + PJ_UNUSED_ARG(rec); + return PJ_EINVALIDOP; +} + +/* + * pj_thread_destroy() + */ +PJ_DEF(pj_status_t) pj_thread_destroy(pj_thread_t *rec) +{ + PJ_UNUSED_ARG(rec); + return PJ_EINVALIDOP; +} + +/* + * pj_thread_sleep() + */ +PJ_DEF(pj_status_t) pj_thread_sleep(unsigned msec) +{ + User::After(msec*1000); + + return PJ_SUCCESS; +} + + +/////////////////////////////////////////////////////////////////////////////// +/* + * pj_thread_local_alloc() + */ + +PJ_DEF(pj_status_t) pj_thread_local_alloc(long *index) +{ + unsigned i; + + /* Find unused TLS variable */ + for (i=0; i= 0 && index < (int)PJ_ARRAY_SIZE(tls_vars) && + tls_vars[index] != 0, return); + + tls_vars[index] = 0; +} + + +/* + * pj_thread_local_set() + */ +PJ_DEF(pj_status_t) pj_thread_local_set(long index, void *value) +{ + pj_thread_t *rec = pj_thread_this(); + + PJ_ASSERT_RETURN(index >= 0 && index < (int)PJ_ARRAY_SIZE(tls_vars) && + tls_vars[index] != 0, PJ_EINVAL); + + rec->tls_values[index] = value; + return PJ_SUCCESS; +} + +/* + * pj_thread_local_get() + */ +PJ_DEF(void*) pj_thread_local_get(long index) +{ + pj_thread_t *rec = pj_thread_this(); + + PJ_ASSERT_RETURN(index >= 0 && index < (int)PJ_ARRAY_SIZE(tls_vars) && + tls_vars[index] != 0, NULL); + + return rec->tls_values[index]; +} + + +/////////////////////////////////////////////////////////////////////////////// +/* + * Create atomic variable. + */ +PJ_DEF(pj_status_t) pj_atomic_create( pj_pool_t *pool, + pj_atomic_value_t initial, + pj_atomic_t **atomic ) +{ + *atomic = (pj_atomic_t*)pj_pool_alloc(pool, sizeof(struct pj_atomic_t)); + (*atomic)->value = initial; + return PJ_SUCCESS; +} + + +/* + * Destroy atomic variable. + */ +PJ_DEF(pj_status_t) pj_atomic_destroy( pj_atomic_t *atomic_var ) +{ + PJ_UNUSED_ARG(atomic_var); + return PJ_SUCCESS; +} + + +/* + * Set the value of an atomic type, and return the previous value. + */ +PJ_DEF(void) pj_atomic_set( pj_atomic_t *atomic_var, + pj_atomic_value_t value) +{ + atomic_var->value = value; +} + + +/* + * Get the value of an atomic type. + */ +PJ_DEF(pj_atomic_value_t) pj_atomic_get(pj_atomic_t *atomic_var) +{ + return atomic_var->value; +} + + +/* + * Increment the value of an atomic type. + */ +PJ_DEF(void) pj_atomic_inc(pj_atomic_t *atomic_var) +{ + ++atomic_var->value; +} + + +/* + * Increment the value of an atomic type and get the result. + */ +PJ_DEF(pj_atomic_value_t) pj_atomic_inc_and_get(pj_atomic_t *atomic_var) +{ + return ++atomic_var->value; +} + + +/* + * Decrement the value of an atomic type. + */ +PJ_DEF(void) pj_atomic_dec(pj_atomic_t *atomic_var) +{ + --atomic_var->value; +} + + +/* + * Decrement the value of an atomic type and get the result. + */ +PJ_DEF(pj_atomic_value_t) pj_atomic_dec_and_get(pj_atomic_t *atomic_var) +{ + return --atomic_var->value; +} + + +/* + * Add a value to an atomic type. + */ +PJ_DEF(void) pj_atomic_add( pj_atomic_t *atomic_var, + pj_atomic_value_t value) +{ + atomic_var->value += value; +} + + +/* + * Add a value to an atomic type and get the result. + */ +PJ_DEF(pj_atomic_value_t) pj_atomic_add_and_get( pj_atomic_t *atomic_var, + pj_atomic_value_t value) +{ + atomic_var->value += value; + return atomic_var->value; +} + + + +///////////////////////////////////////////////////////////////////////////// + +PJ_DEF(pj_status_t) pj_mutex_create( pj_pool_t *pool, + const char *name, + int type, + pj_mutex_t **mutex) +{ + PJ_UNUSED_ARG(pool); + PJ_UNUSED_ARG(name); + PJ_UNUSED_ARG(type); + + *mutex = DUMMY_MUTEX; + return PJ_SUCCESS; +} + +/* + * pj_mutex_create_simple() + */ +PJ_DEF(pj_status_t) pj_mutex_create_simple( pj_pool_t *pool, + const char *name, + pj_mutex_t **mutex ) +{ + return pj_mutex_create(pool, name, PJ_MUTEX_SIMPLE, mutex); +} + + +PJ_DEF(pj_status_t) pj_mutex_create_recursive( pj_pool_t *pool, + const char *name, + pj_mutex_t **mutex ) +{ + return pj_mutex_create(pool, name, PJ_MUTEX_RECURSE, mutex); +} + + +/* + * pj_mutex_lock() + */ +PJ_DEF(pj_status_t) pj_mutex_lock(pj_mutex_t *mutex) +{ + pj_assert(mutex == DUMMY_MUTEX); + return PJ_SUCCESS; +} + +/* + * pj_mutex_trylock() + */ +PJ_DEF(pj_status_t) pj_mutex_trylock(pj_mutex_t *mutex) +{ + pj_assert(mutex == DUMMY_MUTEX); + return PJ_SUCCESS; +} + +/* + * pj_mutex_unlock() + */ +PJ_DEF(pj_status_t) pj_mutex_unlock(pj_mutex_t *mutex) +{ + pj_assert(mutex == DUMMY_MUTEX); + return PJ_SUCCESS; +} + +/* + * pj_mutex_destroy() + */ +PJ_DEF(pj_status_t) pj_mutex_destroy(pj_mutex_t *mutex) +{ + pj_assert(mutex == DUMMY_MUTEX); + return PJ_SUCCESS; +} + + +///////////////////////////////////////////////////////////////////////////// +/* + * RW Mutex + */ +#include "os_rwmutex.c" + + +///////////////////////////////////////////////////////////////////////////// + +/* + * Enter critical section. + */ +PJ_DEF(void) pj_enter_critical_section(void) +{ + /* Nothing to do */ +} + + +/* + * Leave critical section. + */ +PJ_DEF(void) pj_leave_critical_section(void) +{ + /* Nothing to do */ +} + + +///////////////////////////////////////////////////////////////////////////// + +/* + * Create semaphore. + */ +PJ_DEF(pj_status_t) pj_sem_create( pj_pool_t *pool, + const char *name, + unsigned initial, + unsigned max, + pj_sem_t **p_sem) +{ + pj_sem_t *sem; + + PJ_UNUSED_ARG(name); + + sem = (pj_sem_t*) pj_pool_zalloc(pool, sizeof(pj_sem_t)); + sem->value = initial; + sem->max = max; + + *p_sem = sem; + + return PJ_SUCCESS; +} + + +/* + * Wait for semaphore. + */ +PJ_DEF(pj_status_t) pj_sem_wait(pj_sem_t *sem) +{ + if (sem->value > 0) { + sem->value--; + return PJ_SUCCESS; + } else { + pj_assert(!"Unexpected!"); + return PJ_EINVALIDOP; + } +} + + +/* + * Try wait for semaphore. + */ +PJ_DEF(pj_status_t) pj_sem_trywait(pj_sem_t *sem) +{ + if (sem->value > 0) { + sem->value--; + return PJ_SUCCESS; + } else { + pj_assert(!"Unexpected!"); + return PJ_EINVALIDOP; + } +} + + +/* + * Release semaphore. + */ +PJ_DEF(pj_status_t) pj_sem_post(pj_sem_t *sem) +{ + sem->value++; + return PJ_SUCCESS; +} + + +/* + * Destroy semaphore. + */ +PJ_DEF(pj_status_t) pj_sem_destroy(pj_sem_t *sem) +{ + PJ_UNUSED_ARG(sem); + return PJ_SUCCESS; +} + + +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK != 0 +/* + * The implementation of stack checking. + */ +PJ_DEF(void) pj_thread_check_stack(const char *file, int line) +{ + char stk_ptr; + pj_uint32_t usage; + pj_thread_t *thread = pj_thread_this(); + + pj_assert(thread); + + /* Calculate current usage. */ + usage = (&stk_ptr > thread->stk_start) ? &stk_ptr - thread->stk_start : + thread->stk_start - &stk_ptr; + + /* Assert if stack usage is dangerously high. */ + pj_assert("STACK OVERFLOW!! " && (usage <= thread->stk_size - 128)); + + /* Keep statistic. */ + if (usage > thread->stk_max_usage) { + thread->stk_max_usage = usage; + thread->caller_file = file; + thread->caller_line = line; + } +} + +/* + * Get maximum stack usage statistic. + */ +PJ_DEF(pj_uint32_t) pj_thread_get_stack_max_usage(pj_thread_t *thread) +{ + return thread->stk_max_usage; +} + +/* + * Dump thread stack status. + */ +PJ_DEF(pj_status_t) pj_thread_get_stack_info(pj_thread_t *thread, + const char **file, + int *line) +{ + pj_assert(thread); + + *file = thread->caller_file; + *line = thread->caller_line; + return 0; +} + +#endif /* PJ_OS_HAS_CHECK_STACK */ + +/* + * pj_run_app() + */ +PJ_DEF(int) pj_run_app(pj_main_func_ptr main_func, int argc, char *argv[], + unsigned flags) +{ + return (*main_func)(argc, argv); +} diff --git a/pjlib/src/pj/os_core_unix.c b/pjlib/src/pj/os_core_unix.c new file mode 100644 index 0000000..1c87b2f --- /dev/null +++ b/pjlib/src/pj/os_core_unix.c @@ -0,0 +1,1954 @@ +/* $Id: os_core_unix.c 5012 2015-03-22 07:50:28Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +/* + * Contributors: + * - Thanks for Zetron, Inc. (Phil Torre, ptorre@zetron.com) for donating + * the RTEMS port. + */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PJ_HAS_SEMAPHORE_H) && PJ_HAS_SEMAPHORE_H != 0 +# include +#endif + +#include // getpid() +#include // errno + +#include + +#define THIS_FILE "os_core_unix.c" + +#define SIGNATURE1 0xDEAFBEEF +#define SIGNATURE2 0xDEADC0DE + +#ifndef PJ_JNI_HAS_JNI_ONLOAD +# define PJ_JNI_HAS_JNI_ONLOAD PJ_ANDROID +#endif + +#if defined(PJ_JNI_HAS_JNI_ONLOAD) && PJ_JNI_HAS_JNI_ONLOAD != 0 + +#include + +JavaVM *pj_jni_jvm = NULL; + +JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) +{ + pj_jni_jvm = vm; + + return JNI_VERSION_1_4; +} +#endif + +struct pj_thread_t +{ + char obj_name[PJ_MAX_OBJ_NAME]; + pthread_t thread; + pj_thread_proc *proc; + void *arg; + pj_uint32_t signature1; + pj_uint32_t signature2; + + pj_mutex_t *suspended_mutex; + +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 + pj_uint32_t stk_size; + pj_uint32_t stk_max_usage; + char *stk_start; + const char *caller_file; + int caller_line; +#endif +}; + +struct pj_atomic_t +{ + pj_mutex_t *mutex; + pj_atomic_value_t value; +}; + +struct pj_mutex_t +{ + pthread_mutex_t mutex; + char obj_name[PJ_MAX_OBJ_NAME]; +#if PJ_DEBUG + int nesting_level; + pj_thread_t *owner; + char owner_name[PJ_MAX_OBJ_NAME]; +#endif +}; + +#if defined(PJ_HAS_SEMAPHORE) && PJ_HAS_SEMAPHORE != 0 +struct pj_sem_t +{ + sem_t *sem; + char obj_name[PJ_MAX_OBJ_NAME]; +}; +#endif /* PJ_HAS_SEMAPHORE */ + +#if defined(PJ_HAS_EVENT_OBJ) && PJ_HAS_EVENT_OBJ != 0 +struct pj_event_t +{ + enum event_state { + EV_STATE_OFF, + EV_STATE_SET, + EV_STATE_PULSED + } state; + + pj_mutex_t mutex; + pthread_cond_t cond; + + pj_bool_t auto_reset; + unsigned threads_waiting; + unsigned threads_to_release; +}; +#endif /* PJ_HAS_EVENT_OBJ */ + + +/* + * Flag and reference counter for PJLIB instance. + */ +static int initialized; + +#if PJ_HAS_THREADS + static pj_thread_t main_thread; + static long thread_tls_id; + static pj_mutex_t critical_section; +#else +# define MAX_THREADS 32 + static int tls_flag[MAX_THREADS]; + static void *tls[MAX_THREADS]; +#endif + +static unsigned atexit_count; +static void (*atexit_func[32])(void); + +static pj_status_t init_mutex(pj_mutex_t *mutex, const char *name, int type); + +/* + * pj_init(void). + * Init PJLIB! + */ +PJ_DEF(pj_status_t) pj_init(void) +{ + char dummy_guid[PJ_GUID_MAX_LENGTH]; + pj_str_t guid; + pj_status_t rc; + + /* Check if PJLIB have been initialized */ + if (initialized) { + ++initialized; + return PJ_SUCCESS; + } + +#if PJ_HAS_THREADS + /* Init this thread's TLS. */ + if ((rc=pj_thread_init()) != 0) { + return rc; + } + + /* Critical section. */ + if ((rc=init_mutex(&critical_section, "critsec", PJ_MUTEX_RECURSE)) != 0) + return rc; + +#endif + + /* Init logging */ + pj_log_init(); + + /* Initialize exception ID for the pool. + * Must do so after critical section is configured. + */ + rc = pj_exception_id_alloc("PJLIB/No memory", &PJ_NO_MEMORY_EXCEPTION); + if (rc != PJ_SUCCESS) + return rc; + + /* Init random seed. */ + /* Or probably not. Let application in charge of this */ + /* pj_srand( clock() ); */ + + /* Startup GUID. */ + guid.ptr = dummy_guid; + pj_generate_unique_string( &guid ); + + /* Startup timestamp */ +#if defined(PJ_HAS_HIGH_RES_TIMER) && PJ_HAS_HIGH_RES_TIMER != 0 + { + pj_timestamp dummy_ts; + if ((rc=pj_get_timestamp(&dummy_ts)) != 0) { + return rc; + } + } +#endif + + /* Flag PJLIB as initialized */ + ++initialized; + pj_assert(initialized == 1); + + PJ_LOG(4,(THIS_FILE, "pjlib %s for POSIX initialized", + PJ_VERSION)); + + return PJ_SUCCESS; +} + +/* + * pj_atexit() + */ +PJ_DEF(pj_status_t) pj_atexit(void (*func)(void)) +{ + if (atexit_count >= PJ_ARRAY_SIZE(atexit_func)) + return PJ_ETOOMANY; + + atexit_func[atexit_count++] = func; + return PJ_SUCCESS; +} + +/* + * pj_shutdown(void) + */ +PJ_DEF(void) pj_shutdown() +{ + int i; + + /* Only perform shutdown operation when 'initialized' reaches zero */ + pj_assert(initialized > 0); + if (--initialized != 0) + return; + + /* Call atexit() functions */ + for (i=atexit_count-1; i>=0; --i) { + (*atexit_func[i])(); + } + atexit_count = 0; + + /* Free exception ID */ + if (PJ_NO_MEMORY_EXCEPTION != -1) { + pj_exception_id_free(PJ_NO_MEMORY_EXCEPTION); + PJ_NO_MEMORY_EXCEPTION = -1; + } + +#if PJ_HAS_THREADS + /* Destroy PJLIB critical section */ + pj_mutex_destroy(&critical_section); + + /* Free PJLIB TLS */ + if (thread_tls_id != -1) { + pj_thread_local_free(thread_tls_id); + thread_tls_id = -1; + } + + /* Ticket #1132: Assertion when (re)starting PJLIB on different thread */ + pj_bzero(&main_thread, sizeof(main_thread)); +#endif + + /* Clear static variables */ + pj_errno_clear_handlers(); +} + + +/* + * pj_getpid(void) + */ +PJ_DEF(pj_uint32_t) pj_getpid(void) +{ + PJ_CHECK_STACK(); + return getpid(); +} + +/* + * Check if this thread has been registered to PJLIB. + */ +PJ_DEF(pj_bool_t) pj_thread_is_registered(void) +{ +#if PJ_HAS_THREADS + return pj_thread_local_get(thread_tls_id) != 0; +#else + pj_assert("pj_thread_is_registered() called in non-threading mode!"); + return PJ_TRUE; +#endif +} + + +/* + * Get thread priority value for the thread. + */ +PJ_DEF(int) pj_thread_get_prio(pj_thread_t *thread) +{ +#if PJ_HAS_THREADS + struct sched_param param; + int policy; + int rc; + + rc = pthread_getschedparam (thread->thread, &policy, ¶m); + if (rc != 0) + return -1; + + return param.sched_priority; +#else + PJ_UNUSED_ARG(thread); + return 1; +#endif +} + + +/* + * Set the thread priority. + */ +PJ_DEF(pj_status_t) pj_thread_set_prio(pj_thread_t *thread, int prio) +{ +#if PJ_HAS_THREADS + struct sched_param param; + int policy; + int rc; + + rc = pthread_getschedparam (thread->thread, &policy, ¶m); + if (rc != 0) + return PJ_RETURN_OS_ERROR(rc); + + param.sched_priority = prio; + + rc = pthread_setschedparam(thread->thread, policy, ¶m); + if (rc != 0) + return PJ_RETURN_OS_ERROR(rc); + + return PJ_SUCCESS; +#else + PJ_UNUSED_ARG(thread); + PJ_UNUSED_ARG(prio); + pj_assert("pj_thread_set_prio() called in non-threading mode!"); + return 1; +#endif +} + + +/* + * Get the lowest priority value available on this system. + */ +PJ_DEF(int) pj_thread_get_prio_min(pj_thread_t *thread) +{ + struct sched_param param; + int policy; + int rc; + + rc = pthread_getschedparam(thread->thread, &policy, ¶m); + if (rc != 0) + return -1; + +#if defined(_POSIX_PRIORITY_SCHEDULING) + return sched_get_priority_min(policy); +#elif defined __OpenBSD__ + /* Thread prio min/max are declared in OpenBSD private hdr */ + return 0; +#else + pj_assert("pj_thread_get_prio_min() not supported!"); + return 0; +#endif +} + + +/* + * Get the highest priority value available on this system. + */ +PJ_DEF(int) pj_thread_get_prio_max(pj_thread_t *thread) +{ + struct sched_param param; + int policy; + int rc; + + rc = pthread_getschedparam(thread->thread, &policy, ¶m); + if (rc != 0) + return -1; + +#if defined(_POSIX_PRIORITY_SCHEDULING) + return sched_get_priority_max(policy); +#elif defined __OpenBSD__ + /* Thread prio min/max are declared in OpenBSD private hdr */ + return 31; +#else + pj_assert("pj_thread_get_prio_max() not supported!"); + return 0; +#endif +} + + +/* + * Get native thread handle + */ +PJ_DEF(void*) pj_thread_get_os_handle(pj_thread_t *thread) +{ + PJ_ASSERT_RETURN(thread, NULL); + +#if PJ_HAS_THREADS + return &thread->thread; +#else + pj_assert("pj_thread_is_registered() called in non-threading mode!"); + return NULL; +#endif +} + +/* + * pj_thread_register(..) + */ +PJ_DEF(pj_status_t) pj_thread_register ( const char *cstr_thread_name, + pj_thread_desc desc, + pj_thread_t **ptr_thread) +{ +#if PJ_HAS_THREADS + char stack_ptr; + pj_status_t rc; + pj_thread_t *thread = (pj_thread_t *)desc; + pj_str_t thread_name = pj_str((char*)cstr_thread_name); + + /* Size sanity check. */ + if (sizeof(pj_thread_desc) < sizeof(pj_thread_t)) { + pj_assert(!"Not enough pj_thread_desc size!"); + return PJ_EBUG; + } + + /* Warn if this thread has been registered before */ + if (pj_thread_local_get (thread_tls_id) != 0) { + // 2006-02-26 bennylp: + // This wouldn't work in all cases!. + // If thread is created by external module (e.g. sound thread), + // thread may be reused while the pool used for the thread descriptor + // has been deleted by application. + //*thread_ptr = (pj_thread_t*)pj_thread_local_get (thread_tls_id); + //return PJ_SUCCESS; + PJ_LOG(4,(THIS_FILE, "Info: possibly re-registering existing " + "thread")); + } + + /* On the other hand, also warn if the thread descriptor buffer seem to + * have been used to register other threads. + */ + pj_assert(thread->signature1 != SIGNATURE1 || + thread->signature2 != SIGNATURE2 || + (thread->thread == pthread_self())); + + /* Initialize and set the thread entry. */ + pj_bzero(desc, sizeof(struct pj_thread_t)); + thread->thread = pthread_self(); + thread->signature1 = SIGNATURE1; + thread->signature2 = SIGNATURE2; + + if(cstr_thread_name && pj_strlen(&thread_name) < sizeof(thread->obj_name)-1) + pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name), + cstr_thread_name, thread->thread); + else + pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name), + "thr%p", (void*)thread->thread); + + rc = pj_thread_local_set(thread_tls_id, thread); + if (rc != PJ_SUCCESS) { + pj_bzero(desc, sizeof(struct pj_thread_t)); + return rc; + } + +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 + thread->stk_start = &stack_ptr; + thread->stk_size = 0xFFFFFFFFUL; + thread->stk_max_usage = 0; +#else + PJ_UNUSED_ARG(stack_ptr); +#endif + + *ptr_thread = thread; + return PJ_SUCCESS; +#else + pj_thread_t *thread = (pj_thread_t*)desc; + *ptr_thread = thread; + return PJ_SUCCESS; +#endif +} + +/* + * pj_thread_init(void) + */ +pj_status_t pj_thread_init(void) +{ +#if PJ_HAS_THREADS + pj_status_t rc; + pj_thread_t *dummy; + + rc = pj_thread_local_alloc(&thread_tls_id ); + if (rc != PJ_SUCCESS) { + return rc; + } + return pj_thread_register("thr%p", (long*)&main_thread, &dummy); +#else + PJ_LOG(2,(THIS_FILE, "Thread init error. Threading is not enabled!")); + return PJ_EINVALIDOP; +#endif +} + +#if PJ_HAS_THREADS +/* + * thread_main() + * + * This is the main entry for all threads. + */ +static void *thread_main(void *param) +{ + pj_thread_t *rec = (pj_thread_t*)param; + void *result; + pj_status_t rc; + +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 + rec->stk_start = (char*)&rec; +#endif + + /* Set current thread id. */ + rc = pj_thread_local_set(thread_tls_id, rec); + if (rc != PJ_SUCCESS) { + pj_assert(!"Thread TLS ID is not set (pj_init() error?)"); + } + + /* Check if suspension is required. */ + if (rec->suspended_mutex) { + pj_mutex_lock(rec->suspended_mutex); + pj_mutex_unlock(rec->suspended_mutex); + } + + PJ_LOG(6,(rec->obj_name, "Thread started")); + + /* Call user's entry! */ + result = (void*)(long)(*rec->proc)(rec->arg); + + /* Done. */ + PJ_LOG(6,(rec->obj_name, "Thread quitting")); + + return result; +} +#endif + +/* + * pj_thread_create(...) + */ +PJ_DEF(pj_status_t) pj_thread_create( pj_pool_t *pool, + const char *thread_name, + pj_thread_proc *proc, + void *arg, + pj_size_t stack_size, + unsigned flags, + pj_thread_t **ptr_thread) +{ +#if PJ_HAS_THREADS + pj_thread_t *rec; + pthread_attr_t thread_attr; + void *stack_addr; + int rc; + + PJ_UNUSED_ARG(stack_addr); + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(pool && proc && ptr_thread, PJ_EINVAL); + + /* Create thread record and assign name for the thread */ + rec = (struct pj_thread_t*) pj_pool_zalloc(pool, sizeof(pj_thread_t)); + PJ_ASSERT_RETURN(rec, PJ_ENOMEM); + + /* Set name. */ + if (!thread_name) + thread_name = "thr%p"; + + if (strchr(thread_name, '%')) { + pj_ansi_snprintf(rec->obj_name, PJ_MAX_OBJ_NAME, thread_name, rec); + } else { + strncpy(rec->obj_name, thread_name, PJ_MAX_OBJ_NAME); + rec->obj_name[PJ_MAX_OBJ_NAME-1] = '\0'; + } + + /* Set default stack size */ + if (stack_size == 0) + stack_size = PJ_THREAD_DEFAULT_STACK_SIZE; + +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 + rec->stk_size = stack_size; + rec->stk_max_usage = 0; +#endif + + /* Emulate suspended thread with mutex. */ + if (flags & PJ_THREAD_SUSPENDED) { + rc = pj_mutex_create_simple(pool, NULL, &rec->suspended_mutex); + if (rc != PJ_SUCCESS) { + return rc; + } + + pj_mutex_lock(rec->suspended_mutex); + } else { + pj_assert(rec->suspended_mutex == NULL); + } + + + /* Init thread attributes */ + pthread_attr_init(&thread_attr); + +#if defined(PJ_THREAD_SET_STACK_SIZE) && PJ_THREAD_SET_STACK_SIZE!=0 + /* Set thread's stack size */ + rc = pthread_attr_setstacksize(&thread_attr, stack_size); + if (rc != 0) + return PJ_RETURN_OS_ERROR(rc); +#endif /* PJ_THREAD_SET_STACK_SIZE */ + + +#if defined(PJ_THREAD_ALLOCATE_STACK) && PJ_THREAD_ALLOCATE_STACK!=0 + /* Allocate memory for the stack */ + stack_addr = pj_pool_alloc(pool, stack_size); + PJ_ASSERT_RETURN(stack_addr, PJ_ENOMEM); + + rc = pthread_attr_setstackaddr(&thread_attr, stack_addr); + if (rc != 0) + return PJ_RETURN_OS_ERROR(rc); +#endif /* PJ_THREAD_ALLOCATE_STACK */ + + + /* Create the thread. */ + rec->proc = proc; + rec->arg = arg; + rc = pthread_create( &rec->thread, &thread_attr, &thread_main, rec); + if (rc != 0) { + return PJ_RETURN_OS_ERROR(rc); + } + + *ptr_thread = rec; + + PJ_LOG(6, (rec->obj_name, "Thread created")); + return PJ_SUCCESS; +#else + pj_assert(!"Threading is disabled!"); + return PJ_EINVALIDOP; +#endif +} + +/* + * pj_thread-get_name() + */ +PJ_DEF(const char*) pj_thread_get_name(pj_thread_t *p) +{ +#if PJ_HAS_THREADS + pj_thread_t *rec = (pj_thread_t*)p; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(p, ""); + + return rec->obj_name; +#else + return ""; +#endif +} + +/* + * pj_thread_resume() + */ +PJ_DEF(pj_status_t) pj_thread_resume(pj_thread_t *p) +{ + pj_status_t rc; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(p, PJ_EINVAL); + + rc = pj_mutex_unlock(p->suspended_mutex); + + return rc; +} + +/* + * pj_thread_this() + */ +PJ_DEF(pj_thread_t*) pj_thread_this(void) +{ +#if PJ_HAS_THREADS + pj_thread_t *rec = (pj_thread_t*)pj_thread_local_get(thread_tls_id); + + if (rec == NULL) { + pj_assert(!"Calling pjlib from unknown/external thread. You must " + "register external threads with pj_thread_register() " + "before calling any pjlib functions."); + } + + /* + * MUST NOT check stack because this function is called + * by PJ_CHECK_STACK() itself!!! + * + */ + + return rec; +#else + pj_assert(!"Threading is not enabled!"); + return NULL; +#endif +} + +/* + * pj_thread_join() + */ +PJ_DEF(pj_status_t) pj_thread_join(pj_thread_t *p) +{ +#if PJ_HAS_THREADS + pj_thread_t *rec = (pj_thread_t *)p; + void *ret; + int result; + + PJ_CHECK_STACK(); + + if (p == pj_thread_this()) + return PJ_ECANCELLED; + + PJ_LOG(6, (pj_thread_this()->obj_name, "Joining thread %s", p->obj_name)); + result = pthread_join( rec->thread, &ret); + + if (result == 0) + return PJ_SUCCESS; + else { + /* Calling pthread_join() on a thread that no longer exists and + * getting back ESRCH isn't an error (in this context). + * Thanks Phil Torre . + */ + return result==ESRCH ? PJ_SUCCESS : PJ_RETURN_OS_ERROR(result); + } +#else + PJ_CHECK_STACK(); + pj_assert(!"No multithreading support!"); + return PJ_EINVALIDOP; +#endif +} + +/* + * pj_thread_destroy() + */ +PJ_DEF(pj_status_t) pj_thread_destroy(pj_thread_t *p) +{ + PJ_CHECK_STACK(); + + /* Destroy mutex used to suspend thread */ + if (p->suspended_mutex) { + pj_mutex_destroy(p->suspended_mutex); + p->suspended_mutex = NULL; + } + + return PJ_SUCCESS; +} + +/* + * pj_thread_sleep() + */ +PJ_DEF(pj_status_t) pj_thread_sleep(unsigned msec) +{ +/* TODO: should change this to something like PJ_OS_HAS_NANOSLEEP */ +#if defined(PJ_RTEMS) && PJ_RTEMS!=0 + enum { NANOSEC_PER_MSEC = 1000000 }; + struct timespec req; + + PJ_CHECK_STACK(); + req.tv_sec = msec / 1000; + req.tv_nsec = (msec % 1000) * NANOSEC_PER_MSEC; + + if (nanosleep(&req, NULL) == 0) + return PJ_SUCCESS; + + return PJ_RETURN_OS_ERROR(pj_get_native_os_error()); +#else + PJ_CHECK_STACK(); + + pj_set_os_error(0); + + usleep(msec * 1000); + + /* MacOS X (reported on 10.5) seems to always set errno to ETIMEDOUT. + * It does so because usleep() is declared to return int, and we're + * supposed to check for errno only when usleep() returns non-zero. + * Unfortunately, usleep() is declared to return void in other platforms + * so it's not possible to always check for the return value (unless + * we add a detection routine in autoconf). + * + * As a workaround, here we check if ETIMEDOUT is returned and + * return successfully if it is. + */ + if (pj_get_native_os_error() == ETIMEDOUT) + return PJ_SUCCESS; + + return pj_get_os_error(); + +#endif /* PJ_RTEMS */ +} + +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 +/* + * pj_thread_check_stack() + * Implementation for PJ_CHECK_STACK() + */ +PJ_DEF(void) pj_thread_check_stack(const char *file, int line) +{ + char stk_ptr; + pj_uint32_t usage; + pj_thread_t *thread = pj_thread_this(); + + /* Calculate current usage. */ + usage = (&stk_ptr > thread->stk_start) ? &stk_ptr - thread->stk_start : + thread->stk_start - &stk_ptr; + + /* Assert if stack usage is dangerously high. */ + pj_assert("STACK OVERFLOW!! " && (usage <= thread->stk_size - 128)); + + /* Keep statistic. */ + if (usage > thread->stk_max_usage) { + thread->stk_max_usage = usage; + thread->caller_file = file; + thread->caller_line = line; + } +} + +/* + * pj_thread_get_stack_max_usage() + */ +PJ_DEF(pj_uint32_t) pj_thread_get_stack_max_usage(pj_thread_t *thread) +{ + return thread->stk_max_usage; +} + +/* + * pj_thread_get_stack_info() + */ +PJ_DEF(pj_status_t) pj_thread_get_stack_info( pj_thread_t *thread, + const char **file, + int *line ) +{ + pj_assert(thread); + + *file = thread->caller_file; + *line = thread->caller_line; + return 0; +} + +#endif /* PJ_OS_HAS_CHECK_STACK */ + +/////////////////////////////////////////////////////////////////////////////// +/* + * pj_atomic_create() + */ +PJ_DEF(pj_status_t) pj_atomic_create( pj_pool_t *pool, + pj_atomic_value_t initial, + pj_atomic_t **ptr_atomic) +{ + pj_status_t rc; + pj_atomic_t *atomic_var; + + atomic_var = PJ_POOL_ZALLOC_T(pool, pj_atomic_t); + + PJ_ASSERT_RETURN(atomic_var, PJ_ENOMEM); + +#if PJ_HAS_THREADS + rc = pj_mutex_create(pool, "atm%p", PJ_MUTEX_SIMPLE, &atomic_var->mutex); + if (rc != PJ_SUCCESS) + return rc; +#endif + atomic_var->value = initial; + + *ptr_atomic = atomic_var; + return PJ_SUCCESS; +} + +/* + * pj_atomic_destroy() + */ +PJ_DEF(pj_status_t) pj_atomic_destroy( pj_atomic_t *atomic_var ) +{ + PJ_ASSERT_RETURN(atomic_var, PJ_EINVAL); +#if PJ_HAS_THREADS + return pj_mutex_destroy( atomic_var->mutex ); +#else + return 0; +#endif +} + +/* + * pj_atomic_set() + */ +PJ_DEF(void) pj_atomic_set(pj_atomic_t *atomic_var, pj_atomic_value_t value) +{ + PJ_CHECK_STACK(); + +#if PJ_HAS_THREADS + pj_mutex_lock( atomic_var->mutex ); +#endif + atomic_var->value = value; +#if PJ_HAS_THREADS + pj_mutex_unlock( atomic_var->mutex); +#endif +} + +/* + * pj_atomic_get() + */ +PJ_DEF(pj_atomic_value_t) pj_atomic_get(pj_atomic_t *atomic_var) +{ + pj_atomic_value_t oldval; + + PJ_CHECK_STACK(); + +#if PJ_HAS_THREADS + pj_mutex_lock( atomic_var->mutex ); +#endif + oldval = atomic_var->value; +#if PJ_HAS_THREADS + pj_mutex_unlock( atomic_var->mutex); +#endif + return oldval; +} + +/* + * pj_atomic_inc_and_get() + */ +PJ_DEF(pj_atomic_value_t) pj_atomic_inc_and_get(pj_atomic_t *atomic_var) +{ + pj_atomic_value_t new_value; + + PJ_CHECK_STACK(); + +#if PJ_HAS_THREADS + pj_mutex_lock( atomic_var->mutex ); +#endif + new_value = ++atomic_var->value; +#if PJ_HAS_THREADS + pj_mutex_unlock( atomic_var->mutex); +#endif + + return new_value; +} +/* + * pj_atomic_inc() + */ +PJ_DEF(void) pj_atomic_inc(pj_atomic_t *atomic_var) +{ + pj_atomic_inc_and_get(atomic_var); +} + +/* + * pj_atomic_dec_and_get() + */ +PJ_DEF(pj_atomic_value_t) pj_atomic_dec_and_get(pj_atomic_t *atomic_var) +{ + pj_atomic_value_t new_value; + + PJ_CHECK_STACK(); + +#if PJ_HAS_THREADS + pj_mutex_lock( atomic_var->mutex ); +#endif + new_value = --atomic_var->value; +#if PJ_HAS_THREADS + pj_mutex_unlock( atomic_var->mutex); +#endif + + return new_value; +} + +/* + * pj_atomic_dec() + */ +PJ_DEF(void) pj_atomic_dec(pj_atomic_t *atomic_var) +{ + pj_atomic_dec_and_get(atomic_var); +} + +/* + * pj_atomic_add_and_get() + */ +PJ_DEF(pj_atomic_value_t) pj_atomic_add_and_get( pj_atomic_t *atomic_var, + pj_atomic_value_t value ) +{ + pj_atomic_value_t new_value; + +#if PJ_HAS_THREADS + pj_mutex_lock(atomic_var->mutex); +#endif + + atomic_var->value += value; + new_value = atomic_var->value; + +#if PJ_HAS_THREADS + pj_mutex_unlock(atomic_var->mutex); +#endif + + return new_value; +} + +/* + * pj_atomic_add() + */ +PJ_DEF(void) pj_atomic_add( pj_atomic_t *atomic_var, + pj_atomic_value_t value ) +{ + pj_atomic_add_and_get(atomic_var, value); +} + +/////////////////////////////////////////////////////////////////////////////// +/* + * pj_thread_local_alloc() + */ +PJ_DEF(pj_status_t) pj_thread_local_alloc(long *p_index) +{ +#if PJ_HAS_THREADS + pthread_key_t key; + int rc; + + PJ_ASSERT_RETURN(p_index != NULL, PJ_EINVAL); + + pj_assert( sizeof(pthread_key_t) <= sizeof(long)); + if ((rc=pthread_key_create(&key, NULL)) != 0) + return PJ_RETURN_OS_ERROR(rc); + + *p_index = key; + return PJ_SUCCESS; +#else + int i; + for (i=0; i= 0 && index < MAX_THREADS); + tls[index] = value; + return PJ_SUCCESS; +#endif +} + +PJ_DEF(void*) pj_thread_local_get(long index) +{ + //Can't check stack because this function is called + //by PJ_CHECK_STACK() itself!!! + //PJ_CHECK_STACK(); +#if PJ_HAS_THREADS + return pthread_getspecific(index); +#else + pj_assert(index >= 0 && index < MAX_THREADS); + return tls[index]; +#endif +} + +/////////////////////////////////////////////////////////////////////////////// +PJ_DEF(void) pj_enter_critical_section(void) +{ +#if PJ_HAS_THREADS + pj_mutex_lock(&critical_section); +#endif +} + +PJ_DEF(void) pj_leave_critical_section(void) +{ +#if PJ_HAS_THREADS + pj_mutex_unlock(&critical_section); +#endif +} + + +/////////////////////////////////////////////////////////////////////////////// +#if defined(PJ_LINUX) && PJ_LINUX!=0 +PJ_BEGIN_DECL +PJ_DECL(int) pthread_mutexattr_settype(pthread_mutexattr_t*,int); +PJ_END_DECL +#endif + +static pj_status_t init_mutex(pj_mutex_t *mutex, const char *name, int type) +{ +#if PJ_HAS_THREADS + pthread_mutexattr_t attr; + int rc; + + PJ_CHECK_STACK(); + + rc = pthread_mutexattr_init(&attr); + if (rc != 0) + return PJ_RETURN_OS_ERROR(rc); + + if (type == PJ_MUTEX_SIMPLE) { +#if (defined(PJ_LINUX) && PJ_LINUX!=0) || \ + defined(PJ_HAS_PTHREAD_MUTEXATTR_SETTYPE) + rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_FAST_NP); +#elif (defined(PJ_RTEMS) && PJ_RTEMS!=0) || \ + defined(PJ_PTHREAD_MUTEXATTR_T_HAS_RECURSIVE) + /* Nothing to do, default is simple */ +#else + rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL); +#endif + } else { +#if (defined(PJ_LINUX) && PJ_LINUX!=0) || \ + defined(PJ_HAS_PTHREAD_MUTEXATTR_SETTYPE) + rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP); +#elif (defined(PJ_RTEMS) && PJ_RTEMS!=0) || \ + defined(PJ_PTHREAD_MUTEXATTR_T_HAS_RECURSIVE) + // Phil Torre : + // The RTEMS implementation of POSIX mutexes doesn't include + // pthread_mutexattr_settype(), so what follows is a hack + // until I get RTEMS patched to support the set/get functions. + // + // More info: + // newlib's pthread also lacks pthread_mutexattr_settype(), + // but it seems to have mutexattr.recursive. + PJ_TODO(FIX_RTEMS_RECURSIVE_MUTEX_TYPE) + attr.recursive = 1; +#else + rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); +#endif + } + + if (rc != 0) { + return PJ_RETURN_OS_ERROR(rc); + } + + rc = pthread_mutex_init(&mutex->mutex, &attr); + if (rc != 0) { + return PJ_RETURN_OS_ERROR(rc); + } + + rc = pthread_mutexattr_destroy(&attr); + if (rc != 0) { + pj_status_t status = PJ_RETURN_OS_ERROR(rc); + pthread_mutex_destroy(&mutex->mutex); + return status; + } + +#if PJ_DEBUG + /* Set owner. */ + mutex->nesting_level = 0; + mutex->owner = NULL; + mutex->owner_name[0] = '\0'; +#endif + + /* Set name. */ + if (!name) { + name = "mtx%p"; + } + if (strchr(name, '%')) { + pj_ansi_snprintf(mutex->obj_name, PJ_MAX_OBJ_NAME, name, mutex); + } else { + strncpy(mutex->obj_name, name, PJ_MAX_OBJ_NAME); + mutex->obj_name[PJ_MAX_OBJ_NAME-1] = '\0'; + } + + PJ_LOG(6, (mutex->obj_name, "Mutex created")); + return PJ_SUCCESS; +#else /* PJ_HAS_THREADS */ + return PJ_SUCCESS; +#endif +} + +/* + * pj_mutex_create() + */ +PJ_DEF(pj_status_t) pj_mutex_create(pj_pool_t *pool, + const char *name, + int type, + pj_mutex_t **ptr_mutex) +{ +#if PJ_HAS_THREADS + pj_status_t rc; + pj_mutex_t *mutex; + + PJ_ASSERT_RETURN(pool && ptr_mutex, PJ_EINVAL); + + mutex = PJ_POOL_ALLOC_T(pool, pj_mutex_t); + PJ_ASSERT_RETURN(mutex, PJ_ENOMEM); + + if ((rc=init_mutex(mutex, name, type)) != PJ_SUCCESS) + return rc; + + *ptr_mutex = mutex; + return PJ_SUCCESS; +#else /* PJ_HAS_THREADS */ + *ptr_mutex = (pj_mutex_t*)1; + return PJ_SUCCESS; +#endif +} + +/* + * pj_mutex_create_simple() + */ +PJ_DEF(pj_status_t) pj_mutex_create_simple( pj_pool_t *pool, + const char *name, + pj_mutex_t **mutex ) +{ + return pj_mutex_create(pool, name, PJ_MUTEX_SIMPLE, mutex); +} + +/* + * pj_mutex_create_recursive() + */ +PJ_DEF(pj_status_t) pj_mutex_create_recursive( pj_pool_t *pool, + const char *name, + pj_mutex_t **mutex ) +{ + return pj_mutex_create(pool, name, PJ_MUTEX_RECURSE, mutex); +} + +/* + * pj_mutex_lock() + */ +PJ_DEF(pj_status_t) pj_mutex_lock(pj_mutex_t *mutex) +{ +#if PJ_HAS_THREADS + pj_status_t status; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + +#if PJ_DEBUG + PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s is waiting (mutex owner=%s)", + pj_thread_this()->obj_name, + mutex->owner_name)); +#else + PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s is waiting", + pj_thread_this()->obj_name)); +#endif + + status = pthread_mutex_lock( &mutex->mutex ); + + +#if PJ_DEBUG + if (status == PJ_SUCCESS) { + mutex->owner = pj_thread_this(); + pj_ansi_strcpy(mutex->owner_name, mutex->owner->obj_name); + ++mutex->nesting_level; + } + + PJ_LOG(6,(mutex->obj_name, + (status==0 ? + "Mutex acquired by thread %s (level=%d)" : + "Mutex acquisition FAILED by %s (level=%d)"), + pj_thread_this()->obj_name, + mutex->nesting_level)); +#else + PJ_LOG(6,(mutex->obj_name, + (status==0 ? "Mutex acquired by thread %s" : "FAILED by %s"), + pj_thread_this()->obj_name)); +#endif + + if (status == 0) + return PJ_SUCCESS; + else + return PJ_RETURN_OS_ERROR(status); +#else /* PJ_HAS_THREADS */ + pj_assert( mutex == (pj_mutex_t*)1 ); + return PJ_SUCCESS; +#endif +} + +/* + * pj_mutex_unlock() + */ +PJ_DEF(pj_status_t) pj_mutex_unlock(pj_mutex_t *mutex) +{ +#if PJ_HAS_THREADS + pj_status_t status; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + +#if PJ_DEBUG + pj_assert(mutex->owner == pj_thread_this()); + if (--mutex->nesting_level == 0) { + mutex->owner = NULL; + mutex->owner_name[0] = '\0'; + } + + PJ_LOG(6,(mutex->obj_name, "Mutex released by thread %s (level=%d)", + pj_thread_this()->obj_name, + mutex->nesting_level)); +#else + PJ_LOG(6,(mutex->obj_name, "Mutex released by thread %s", + pj_thread_this()->obj_name)); +#endif + + status = pthread_mutex_unlock( &mutex->mutex ); + if (status == 0) + return PJ_SUCCESS; + else + return PJ_RETURN_OS_ERROR(status); + +#else /* PJ_HAS_THREADS */ + pj_assert( mutex == (pj_mutex_t*)1 ); + return PJ_SUCCESS; +#endif +} + +/* + * pj_mutex_trylock() + */ +PJ_DEF(pj_status_t) pj_mutex_trylock(pj_mutex_t *mutex) +{ +#if PJ_HAS_THREADS + int status; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + + PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s is trying", + pj_thread_this()->obj_name)); + + status = pthread_mutex_trylock( &mutex->mutex ); + + if (status==0) { +#if PJ_DEBUG + mutex->owner = pj_thread_this(); + pj_ansi_strcpy(mutex->owner_name, mutex->owner->obj_name); + ++mutex->nesting_level; + + PJ_LOG(6,(mutex->obj_name, "Mutex acquired by thread %s (level=%d)", + pj_thread_this()->obj_name, + mutex->nesting_level)); +#else + PJ_LOG(6,(mutex->obj_name, "Mutex acquired by thread %s", + pj_thread_this()->obj_name)); +#endif + } else { + PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s's trylock() failed", + pj_thread_this()->obj_name)); + } + + if (status==0) + return PJ_SUCCESS; + else + return PJ_RETURN_OS_ERROR(status); +#else /* PJ_HAS_THREADS */ + pj_assert( mutex == (pj_mutex_t*)1); + return PJ_SUCCESS; +#endif +} + +/* + * pj_mutex_destroy() + */ +PJ_DEF(pj_status_t) pj_mutex_destroy(pj_mutex_t *mutex) +{ + enum { RETRY = 4 }; + int status = 0; + unsigned retry; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + +#if PJ_HAS_THREADS + PJ_LOG(6,(mutex->obj_name, "Mutex destroyed by thread %s", + pj_thread_this()->obj_name)); + + for (retry=0; retrymutex ); + if (status == PJ_SUCCESS) + break; + else if (retrymutex); + } + + if (status == 0) + return PJ_SUCCESS; + else { + return PJ_RETURN_OS_ERROR(status); + } +#else + pj_assert( mutex == (pj_mutex_t*)1 ); + status = PJ_SUCCESS; + return status; +#endif +} + +#if PJ_DEBUG +PJ_DEF(pj_bool_t) pj_mutex_is_locked(pj_mutex_t *mutex) +{ +#if PJ_HAS_THREADS + return mutex->owner == pj_thread_this(); +#else + return 1; +#endif +} +#endif + +/////////////////////////////////////////////////////////////////////////////// +/* + * Include Read/Write mutex emulation for POSIX platforms that lack it (e.g. + * RTEMS). Otherwise use POSIX rwlock. + */ +#if defined(PJ_EMULATE_RWMUTEX) && PJ_EMULATE_RWMUTEX!=0 + /* We need semaphore functionality to emulate rwmutex */ +# if !defined(PJ_HAS_SEMAPHORE) || PJ_HAS_SEMAPHORE==0 +# error "Semaphore support needs to be enabled to emulate rwmutex" +# endif +# include "os_rwmutex.c" +#else +struct pj_rwmutex_t +{ + pthread_rwlock_t rwlock; +}; + +PJ_DEF(pj_status_t) pj_rwmutex_create(pj_pool_t *pool, const char *name, + pj_rwmutex_t **p_mutex) +{ + pj_rwmutex_t *rwm; + pj_status_t status; + + PJ_UNUSED_ARG(name); + + rwm = PJ_POOL_ALLOC_T(pool, pj_rwmutex_t); + PJ_ASSERT_RETURN(rwm, PJ_ENOMEM); + + status = pthread_rwlock_init(&rwm->rwlock, NULL); + if (status != 0) + return PJ_RETURN_OS_ERROR(status); + + *p_mutex = rwm; + return PJ_SUCCESS; +} + +/* + * Lock the mutex for reading. + * + */ +PJ_DEF(pj_status_t) pj_rwmutex_lock_read(pj_rwmutex_t *mutex) +{ + pj_status_t status; + + status = pthread_rwlock_rdlock(&mutex->rwlock); + if (status != 0) + return PJ_RETURN_OS_ERROR(status); + + return PJ_SUCCESS; +} + +/* + * Lock the mutex for writing. + * + */ +PJ_DEF(pj_status_t) pj_rwmutex_lock_write(pj_rwmutex_t *mutex) +{ + pj_status_t status; + + status = pthread_rwlock_wrlock(&mutex->rwlock); + if (status != 0) + return PJ_RETURN_OS_ERROR(status); + + return PJ_SUCCESS; +} + +/* + * Release read lock. + * + */ +PJ_DEF(pj_status_t) pj_rwmutex_unlock_read(pj_rwmutex_t *mutex) +{ + return pj_rwmutex_unlock_write(mutex); +} + +/* + * Release write lock. + * + */ +PJ_DEF(pj_status_t) pj_rwmutex_unlock_write(pj_rwmutex_t *mutex) +{ + pj_status_t status; + + status = pthread_rwlock_unlock(&mutex->rwlock); + if (status != 0) + return PJ_RETURN_OS_ERROR(status); + + return PJ_SUCCESS; +} + +/* + * Destroy reader/writer mutex. + * + */ +PJ_DEF(pj_status_t) pj_rwmutex_destroy(pj_rwmutex_t *mutex) +{ + pj_status_t status; + + status = pthread_rwlock_destroy(&mutex->rwlock); + if (status != 0) + return PJ_RETURN_OS_ERROR(status); + + return PJ_SUCCESS; +} + +#endif /* PJ_EMULATE_RWMUTEX */ + + +/////////////////////////////////////////////////////////////////////////////// +#if defined(PJ_HAS_SEMAPHORE) && PJ_HAS_SEMAPHORE != 0 + +/* + * pj_sem_create() + */ +PJ_DEF(pj_status_t) pj_sem_create( pj_pool_t *pool, + const char *name, + unsigned initial, + unsigned max, + pj_sem_t **ptr_sem) +{ +#if PJ_HAS_THREADS + pj_sem_t *sem; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(pool != NULL && ptr_sem != NULL, PJ_EINVAL); + + sem = PJ_POOL_ALLOC_T(pool, pj_sem_t); + PJ_ASSERT_RETURN(sem, PJ_ENOMEM); + +#if defined(PJ_DARWINOS) && PJ_DARWINOS!=0 + /* MacOS X doesn't support anonymous semaphore */ + { + char sem_name[PJ_GUID_MAX_LENGTH+1]; + pj_str_t nam; + + /* We should use SEM_NAME_LEN, but this doesn't seem to be + * declared anywhere? The value here is just from trial and error + * to get the longest name supported. + */ +# define MAX_SEM_NAME_LEN 23 + + /* Create a unique name for the semaphore. */ + if (PJ_GUID_STRING_LENGTH <= MAX_SEM_NAME_LEN) { + nam.ptr = sem_name; + pj_generate_unique_string(&nam); + sem_name[nam.slen] = '\0'; + } else { + pj_create_random_string(sem_name, MAX_SEM_NAME_LEN); + sem_name[MAX_SEM_NAME_LEN] = '\0'; + } + + /* Create semaphore */ + sem->sem = sem_open(sem_name, O_CREAT|O_EXCL, S_IRUSR|S_IWUSR, + initial); + if (sem->sem == SEM_FAILED) + return PJ_RETURN_OS_ERROR(pj_get_native_os_error()); + + /* And immediately release the name as we don't need it */ + sem_unlink(sem_name); + } +#else + sem->sem = PJ_POOL_ALLOC_T(pool, sem_t); + if (sem_init( sem->sem, 0, initial) != 0) + return PJ_RETURN_OS_ERROR(pj_get_native_os_error()); +#endif + + /* Set name. */ + if (!name) { + name = "sem%p"; + } + if (strchr(name, '%')) { + pj_ansi_snprintf(sem->obj_name, PJ_MAX_OBJ_NAME, name, sem); + } else { + strncpy(sem->obj_name, name, PJ_MAX_OBJ_NAME); + sem->obj_name[PJ_MAX_OBJ_NAME-1] = '\0'; + } + + PJ_LOG(6, (sem->obj_name, "Semaphore created")); + + *ptr_sem = sem; + return PJ_SUCCESS; +#else + *ptr_sem = (pj_sem_t*)1; + return PJ_SUCCESS; +#endif +} + +/* + * pj_sem_wait() + */ +PJ_DEF(pj_status_t) pj_sem_wait(pj_sem_t *sem) +{ +#if PJ_HAS_THREADS + int result; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(sem, PJ_EINVAL); + + PJ_LOG(6, (sem->obj_name, "Semaphore: thread %s is waiting", + pj_thread_this()->obj_name)); + + result = sem_wait( sem->sem ); + + if (result == 0) { + PJ_LOG(6, (sem->obj_name, "Semaphore acquired by thread %s", + pj_thread_this()->obj_name)); + } else { + PJ_LOG(6, (sem->obj_name, "Semaphore: thread %s FAILED to acquire", + pj_thread_this()->obj_name)); + } + + if (result == 0) + return PJ_SUCCESS; + else + return PJ_RETURN_OS_ERROR(pj_get_native_os_error()); +#else + pj_assert( sem == (pj_sem_t*) 1 ); + return PJ_SUCCESS; +#endif +} + +/* + * pj_sem_trywait() + */ +PJ_DEF(pj_status_t) pj_sem_trywait(pj_sem_t *sem) +{ +#if PJ_HAS_THREADS + int result; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(sem, PJ_EINVAL); + + result = sem_trywait( sem->sem ); + + if (result == 0) { + PJ_LOG(6, (sem->obj_name, "Semaphore acquired by thread %s", + pj_thread_this()->obj_name)); + } + if (result == 0) + return PJ_SUCCESS; + else + return PJ_RETURN_OS_ERROR(pj_get_native_os_error()); +#else + pj_assert( sem == (pj_sem_t*)1 ); + return PJ_SUCCESS; +#endif +} + +/* + * pj_sem_post() + */ +PJ_DEF(pj_status_t) pj_sem_post(pj_sem_t *sem) +{ +#if PJ_HAS_THREADS + int result; + PJ_LOG(6, (sem->obj_name, "Semaphore released by thread %s", + pj_thread_this()->obj_name)); + result = sem_post( sem->sem ); + + if (result == 0) + return PJ_SUCCESS; + else + return PJ_RETURN_OS_ERROR(pj_get_native_os_error()); +#else + pj_assert( sem == (pj_sem_t*) 1); + return PJ_SUCCESS; +#endif +} + +/* + * pj_sem_destroy() + */ +PJ_DEF(pj_status_t) pj_sem_destroy(pj_sem_t *sem) +{ +#if PJ_HAS_THREADS + int result; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(sem, PJ_EINVAL); + + PJ_LOG(6, (sem->obj_name, "Semaphore destroyed by thread %s", + pj_thread_this()->obj_name)); +#if defined(PJ_DARWINOS) && PJ_DARWINOS!=0 + result = sem_close( sem->sem ); +#else + result = sem_destroy( sem->sem ); +#endif + + if (result == 0) + return PJ_SUCCESS; + else + return PJ_RETURN_OS_ERROR(pj_get_native_os_error()); +#else + pj_assert( sem == (pj_sem_t*) 1 ); + return PJ_SUCCESS; +#endif +} + +#endif /* PJ_HAS_SEMAPHORE */ + +/////////////////////////////////////////////////////////////////////////////// +#if defined(PJ_HAS_EVENT_OBJ) && PJ_HAS_EVENT_OBJ != 0 + +/* + * pj_event_create() + */ +PJ_DEF(pj_status_t) pj_event_create(pj_pool_t *pool, const char *name, + pj_bool_t manual_reset, pj_bool_t initial, + pj_event_t **ptr_event) +{ + pj_event_t *event; + + event = PJ_POOL_ALLOC_T(pool, pj_event_t); + + init_mutex(&event->mutex, name, PJ_MUTEX_SIMPLE); + pthread_cond_init(&event->cond, 0); + event->auto_reset = !manual_reset; + event->threads_waiting = 0; + + if (initial) { + event->state = EV_STATE_SET; + event->threads_to_release = 1; + } else { + event->state = EV_STATE_OFF; + event->threads_to_release = 0; + } + + *ptr_event = event; + return PJ_SUCCESS; +} + +static void event_on_one_release(pj_event_t *event) +{ + if (event->state == EV_STATE_SET) { + if (event->auto_reset) { + event->threads_to_release = 0; + event->state = EV_STATE_OFF; + } else { + /* Manual reset remains on */ + } + } else { + if (event->auto_reset) { + /* Only release one */ + event->threads_to_release = 0; + event->state = EV_STATE_OFF; + } else { + event->threads_to_release--; + pj_assert(event->threads_to_release >= 0); + if (event->threads_to_release==0) + event->state = EV_STATE_OFF; + } + } +} + +/* + * pj_event_wait() + */ +PJ_DEF(pj_status_t) pj_event_wait(pj_event_t *event) +{ + pthread_mutex_lock(&event->mutex.mutex); + event->threads_waiting++; + while (event->state == EV_STATE_OFF) + pthread_cond_wait(&event->cond, &event->mutex.mutex); + event->threads_waiting--; + event_on_one_release(event); + pthread_mutex_unlock(&event->mutex.mutex); + return PJ_SUCCESS; +} + +/* + * pj_event_trywait() + */ +PJ_DEF(pj_status_t) pj_event_trywait(pj_event_t *event) +{ + pj_status_t status; + + pthread_mutex_lock(&event->mutex.mutex); + status = event->state != EV_STATE_OFF ? PJ_SUCCESS : -1; + if (status==PJ_SUCCESS) { + event_on_one_release(event); + } + pthread_mutex_unlock(&event->mutex.mutex); + + return status; +} + +/* + * pj_event_set() + */ +PJ_DEF(pj_status_t) pj_event_set(pj_event_t *event) +{ + pthread_mutex_lock(&event->mutex.mutex); + event->threads_to_release = 1; + event->state = EV_STATE_SET; + if (event->auto_reset) + pthread_cond_signal(&event->cond); + else + pthread_cond_broadcast(&event->cond); + pthread_mutex_unlock(&event->mutex.mutex); + return PJ_SUCCESS; +} + +/* + * pj_event_pulse() + */ +PJ_DEF(pj_status_t) pj_event_pulse(pj_event_t *event) +{ + pthread_mutex_lock(&event->mutex.mutex); + if (event->threads_waiting) { + event->threads_to_release = event->auto_reset ? 1 : + event->threads_waiting; + event->state = EV_STATE_PULSED; + if (event->threads_to_release==1) + pthread_cond_signal(&event->cond); + else + pthread_cond_broadcast(&event->cond); + } + pthread_mutex_unlock(&event->mutex.mutex); + return PJ_SUCCESS; +} + +/* + * pj_event_reset() + */ +PJ_DEF(pj_status_t) pj_event_reset(pj_event_t *event) +{ + pthread_mutex_lock(&event->mutex.mutex); + event->state = EV_STATE_OFF; + event->threads_to_release = 0; + pthread_mutex_unlock(&event->mutex.mutex); + return PJ_SUCCESS; +} + +/* + * pj_event_destroy() + */ +PJ_DEF(pj_status_t) pj_event_destroy(pj_event_t *event) +{ + pj_mutex_destroy(&event->mutex); + pthread_cond_destroy(&event->cond); + return PJ_SUCCESS; +} + +#endif /* PJ_HAS_EVENT_OBJ */ + +/////////////////////////////////////////////////////////////////////////////// +#if defined(PJ_TERM_HAS_COLOR) && PJ_TERM_HAS_COLOR != 0 +/* + * Terminal + */ + +/** + * Set terminal color. + */ +PJ_DEF(pj_status_t) pj_term_set_color(pj_color_t color) +{ + /* put bright prefix to ansi_color */ + char ansi_color[12] = "\033[01;3"; + + if (color & PJ_TERM_COLOR_BRIGHT) { + color ^= PJ_TERM_COLOR_BRIGHT; + } else { + strcpy(ansi_color, "\033[00;3"); + } + + switch (color) { + case 0: + /* black color */ + strcat(ansi_color, "0m"); + break; + case PJ_TERM_COLOR_R: + /* red color */ + strcat(ansi_color, "1m"); + break; + case PJ_TERM_COLOR_G: + /* green color */ + strcat(ansi_color, "2m"); + break; + case PJ_TERM_COLOR_B: + /* blue color */ + strcat(ansi_color, "4m"); + break; + case PJ_TERM_COLOR_R | PJ_TERM_COLOR_G: + /* yellow color */ + strcat(ansi_color, "3m"); + break; + case PJ_TERM_COLOR_R | PJ_TERM_COLOR_B: + /* magenta color */ + strcat(ansi_color, "5m"); + break; + case PJ_TERM_COLOR_G | PJ_TERM_COLOR_B: + /* cyan color */ + strcat(ansi_color, "6m"); + break; + case PJ_TERM_COLOR_R | PJ_TERM_COLOR_G | PJ_TERM_COLOR_B: + /* white color */ + strcat(ansi_color, "7m"); + break; + default: + /* default console color */ + strcpy(ansi_color, "\033[00m"); + break; + } + + fputs(ansi_color, stdout); + + return PJ_SUCCESS; +} + +/** + * Get current terminal foreground color. + */ +PJ_DEF(pj_color_t) pj_term_get_color(void) +{ + return 0; +} + +#endif /* PJ_TERM_HAS_COLOR */ + +#if !defined(PJ_DARWINOS) || PJ_DARWINOS == 0 +/* + * pj_run_app() + */ +PJ_DEF(int) pj_run_app(pj_main_func_ptr main_func, int argc, char *argv[], + unsigned flags) +{ + return (*main_func)(argc, argv); +} +#endif diff --git a/pjlib/src/pj/os_core_win32.c b/pjlib/src/pj/os_core_win32.c new file mode 100644 index 0000000..927d789 --- /dev/null +++ b/pjlib/src/pj/os_core_win32.c @@ -0,0 +1,1457 @@ +/* $Id: os_core_win32.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PJ_HAS_WINSOCK_H) && PJ_HAS_WINSOCK_H != 0 +# include +#endif + +#if defined(PJ_HAS_WINSOCK2_H) && PJ_HAS_WINSOCK2_H != 0 +# include +#endif + +/* Activate mutex related logging if PJ_DEBUG_MUTEX is set, otherwise + * use default level 6 logging. + */ +#if defined(PJ_DEBUG_MUTEX) && PJ_DEBUG_MUTEX +# undef PJ_DEBUG +# define PJ_DEBUG 1 +# define LOG_MUTEX(expr) PJ_LOG(5,expr) +#else +# define LOG_MUTEX(expr) PJ_LOG(6,expr) +#endif + +#define THIS_FILE "os_core_win32.c" + +/* + * Implementation of pj_thread_t. + */ +struct pj_thread_t +{ + char obj_name[PJ_MAX_OBJ_NAME]; + HANDLE hthread; + DWORD idthread; + pj_thread_proc *proc; + void *arg; + +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 + pj_uint32_t stk_size; + pj_uint32_t stk_max_usage; + char *stk_start; + const char *caller_file; + int caller_line; +#endif +}; + + +/* + * Implementation of pj_mutex_t. + */ +struct pj_mutex_t +{ +#if PJ_WIN32_WINNT >= 0x0400 + CRITICAL_SECTION crit; +#else + HANDLE hMutex; +#endif + char obj_name[PJ_MAX_OBJ_NAME]; +#if PJ_DEBUG + int nesting_level; + pj_thread_t *owner; +#endif +}; + +/* + * Implementation of pj_sem_t. + */ +typedef struct pj_sem_t +{ + HANDLE hSemaphore; + char obj_name[PJ_MAX_OBJ_NAME]; +} pj_mem_t; + + +/* + * Implementation of pj_event_t. + */ +struct pj_event_t +{ + HANDLE hEvent; + char obj_name[PJ_MAX_OBJ_NAME]; +}; + +/* + * Implementation of pj_atomic_t. + */ +struct pj_atomic_t +{ + long value; +}; + +/* + * Flag and reference counter for PJLIB instance. + */ +static int initialized; + +/* + * Static global variables. + */ +static pj_thread_desc main_thread; +static long thread_tls_id = -1; +static pj_mutex_t critical_section_mutex; +static unsigned atexit_count; +static void (*atexit_func[32])(void); + +/* + * Some static prototypes. + */ +static pj_status_t init_mutex(pj_mutex_t *mutex, const char *name); + + +/* + * pj_init(void). + * Init PJLIB! + */ +PJ_DEF(pj_status_t) pj_init(void) +{ + WSADATA wsa; + char dummy_guid[32]; /* use maximum GUID length */ + pj_str_t guid; + pj_status_t rc; + + /* Check if PJLIB have been initialized */ + if (initialized) { + ++initialized; + return PJ_SUCCESS; + } + + /* Init Winsock.. */ + if (WSAStartup(MAKEWORD(2,0), &wsa) != 0) { + return PJ_RETURN_OS_ERROR(WSAGetLastError()); + } + + /* Init this thread's TLS. */ + if ((rc=pj_thread_init()) != PJ_SUCCESS) { + return rc; + } + + /* Init logging */ + pj_log_init(); + + /* Init random seed. */ + /* Or probably not. Let application in charge of this */ + /* pj_srand( GetCurrentProcessId() ); */ + + /* Initialize critical section. */ + if ((rc=init_mutex(&critical_section_mutex, "pj%p")) != PJ_SUCCESS) + return rc; + + /* Startup GUID. */ + guid.ptr = dummy_guid; + pj_generate_unique_string( &guid ); + + /* Initialize exception ID for the pool. + * Must do so after critical section is configured. + */ + rc = pj_exception_id_alloc("PJLIB/No memory", &PJ_NO_MEMORY_EXCEPTION); + if (rc != PJ_SUCCESS) + return rc; + + /* Startup timestamp */ +#if defined(PJ_HAS_HIGH_RES_TIMER) && PJ_HAS_HIGH_RES_TIMER != 0 + { + pj_timestamp dummy_ts; + if ((rc=pj_get_timestamp_freq(&dummy_ts)) != PJ_SUCCESS) { + return rc; + } + if ((rc=pj_get_timestamp(&dummy_ts)) != PJ_SUCCESS) { + return rc; + } + } +#endif + + /* Flag PJLIB as initialized */ + ++initialized; + pj_assert(initialized == 1); + + PJ_LOG(4,(THIS_FILE, "pjlib %s for win32 initialized", + PJ_VERSION)); + + return PJ_SUCCESS; +} + +/* + * pj_atexit() + */ +PJ_DEF(pj_status_t) pj_atexit(void (*func)(void)) +{ + if (atexit_count >= PJ_ARRAY_SIZE(atexit_func)) + return PJ_ETOOMANY; + + atexit_func[atexit_count++] = func; + return PJ_SUCCESS; +} + + +/* + * pj_shutdown(void) + */ +PJ_DEF(void) pj_shutdown() +{ + int i; + + /* Only perform shutdown operation when 'initialized' reaches zero */ + pj_assert(initialized > 0); + if (--initialized != 0) + return; + + /* Display stack usage */ +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 + { + pj_thread_t *rec = (pj_thread_t*)main_thread; + PJ_LOG(5,(rec->obj_name, "Main thread stack max usage=%u by %s:%d", + rec->stk_max_usage, rec->caller_file, rec->caller_line)); + } +#endif + + /* Call atexit() functions */ + for (i=atexit_count-1; i>=0; --i) { + (*atexit_func[i])(); + } + atexit_count = 0; + + /* Free exception ID */ + if (PJ_NO_MEMORY_EXCEPTION != -1) { + pj_exception_id_free(PJ_NO_MEMORY_EXCEPTION); + PJ_NO_MEMORY_EXCEPTION = -1; + } + + /* Destroy PJLIB critical section */ + pj_mutex_destroy(&critical_section_mutex); + + /* Free PJLIB TLS */ + if (thread_tls_id != -1) { + pj_thread_local_free(thread_tls_id); + thread_tls_id = -1; + } + + /* Clear static variables */ + pj_errno_clear_handlers(); + + /* Ticket #1132: Assertion when (re)starting PJLIB on different thread */ + pj_bzero(main_thread, sizeof(main_thread)); + + /* Shutdown Winsock */ + WSACleanup(); +} + + +/* + * pj_getpid(void) + */ +PJ_DEF(pj_uint32_t) pj_getpid(void) +{ + PJ_CHECK_STACK(); + return GetCurrentProcessId(); +} + +/* + * Check if this thread has been registered to PJLIB. + */ +PJ_DEF(pj_bool_t) pj_thread_is_registered(void) +{ + return pj_thread_local_get(thread_tls_id) != 0; +} + + +/* + * Get thread priority value for the thread. + */ +PJ_DEF(int) pj_thread_get_prio(pj_thread_t *thread) +{ + return GetThreadPriority(thread->hthread); +} + + +/* + * Set the thread priority. + */ +PJ_DEF(pj_status_t) pj_thread_set_prio(pj_thread_t *thread, int prio) +{ +#if PJ_HAS_THREADS + PJ_ASSERT_RETURN(thread, PJ_EINVAL); + PJ_ASSERT_RETURN(prio>=THREAD_PRIORITY_IDLE && + prio<=THREAD_PRIORITY_TIME_CRITICAL, + PJ_EINVAL); + + if (SetThreadPriority(thread->hthread, prio) == FALSE) + return PJ_RETURN_OS_ERROR(GetLastError()); + + return PJ_SUCCESS; + +#else + PJ_UNUSED_ARG(thread); + PJ_UNUSED_ARG(prio); + pj_assert("pj_thread_set_prio() called in non-threading mode!"); + return PJ_EINVALIDOP; +#endif +} + + +/* + * Get the lowest priority value available on this system. + */ +PJ_DEF(int) pj_thread_get_prio_min(pj_thread_t *thread) +{ + PJ_UNUSED_ARG(thread); + return THREAD_PRIORITY_IDLE; +} + + +/* + * Get the highest priority value available on this system. + */ +PJ_DEF(int) pj_thread_get_prio_max(pj_thread_t *thread) +{ + PJ_UNUSED_ARG(thread); + return THREAD_PRIORITY_TIME_CRITICAL; +} + + +/* + * Get native thread handle + */ +PJ_DEF(void*) pj_thread_get_os_handle(pj_thread_t *thread) +{ + PJ_ASSERT_RETURN(thread, NULL); + +#if PJ_HAS_THREADS + return thread->hthread; +#else + pj_assert("pj_thread_is_registered() called in non-threading mode!"); + return NULL; +#endif +} + +/* + * pj_thread_register(..) + */ +PJ_DEF(pj_status_t) pj_thread_register ( const char *cstr_thread_name, + pj_thread_desc desc, + pj_thread_t **thread_ptr) +{ + char stack_ptr; + pj_status_t rc; + pj_thread_t *thread = (pj_thread_t *)desc; + pj_str_t thread_name = pj_str((char*)cstr_thread_name); + + /* Size sanity check. */ + if (sizeof(pj_thread_desc) < sizeof(pj_thread_t)) { + pj_assert(!"Not enough pj_thread_desc size!"); + return PJ_EBUG; + } + + /* If a thread descriptor has been registered before, just return it. */ + if (pj_thread_local_get (thread_tls_id) != 0) { + // 2006-02-26 bennylp: + // This wouldn't work in all cases!. + // If thread is created by external module (e.g. sound thread), + // thread may be reused while the pool used for the thread descriptor + // has been deleted by application. + //*thread_ptr = (pj_thread_t*)pj_thread_local_get (thread_tls_id); + //return PJ_SUCCESS; + } + + /* Initialize and set the thread entry. */ + pj_bzero(desc, sizeof(struct pj_thread_t)); + thread->hthread = GetCurrentThread(); + thread->idthread = GetCurrentThreadId(); + +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 + thread->stk_start = &stack_ptr; + thread->stk_size = 0xFFFFFFFFUL; + thread->stk_max_usage = 0; +#else + stack_ptr = '\0'; +#endif + + if (cstr_thread_name && pj_strlen(&thread_name) < sizeof(thread->obj_name)-1) + pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name), + cstr_thread_name, thread->idthread); + else + pj_ansi_snprintf(thread->obj_name, sizeof(thread->obj_name), + "thr%p", (void*)(pj_ssize_t)thread->idthread); + + rc = pj_thread_local_set(thread_tls_id, thread); + if (rc != PJ_SUCCESS) + return rc; + + *thread_ptr = thread; + return PJ_SUCCESS; +} + +/* + * pj_thread_init(void) + */ +pj_status_t pj_thread_init(void) +{ + pj_status_t rc; + pj_thread_t *thread; + + rc = pj_thread_local_alloc(&thread_tls_id); + if (rc != PJ_SUCCESS) + return rc; + + return pj_thread_register("thr%p", main_thread, &thread); +} + +static DWORD WINAPI thread_main(void *param) +{ + pj_thread_t *rec = param; + DWORD result; + +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 + rec->stk_start = (char*)&rec; +#endif + + if (pj_thread_local_set(thread_tls_id, rec) != PJ_SUCCESS) { + pj_assert(!"TLS is not set (pj_init() error?)"); + } + + PJ_LOG(6,(rec->obj_name, "Thread started")); + + result = (*rec->proc)(rec->arg); + + PJ_LOG(6,(rec->obj_name, "Thread quitting")); +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 + PJ_LOG(5,(rec->obj_name, "Thread stack max usage=%u by %s:%d", + rec->stk_max_usage, rec->caller_file, rec->caller_line)); +#endif + + return (DWORD)result; +} + +/* + * pj_thread_create(...) + */ +PJ_DEF(pj_status_t) pj_thread_create( pj_pool_t *pool, + const char *thread_name, + pj_thread_proc *proc, + void *arg, + pj_size_t stack_size, + unsigned flags, + pj_thread_t **thread_ptr) +{ + DWORD dwflags = 0; + pj_thread_t *rec; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(pool && proc && thread_ptr, PJ_EINVAL); + + /* Set flags */ + if (flags & PJ_THREAD_SUSPENDED) + dwflags |= CREATE_SUSPENDED; + + /* Create thread record and assign name for the thread */ + rec = (struct pj_thread_t*) pj_pool_calloc(pool, 1, sizeof(pj_thread_t)); + if (!rec) + return PJ_ENOMEM; + + /* Set name. */ + if (!thread_name) + thread_name = "thr%p"; + + if (strchr(thread_name, '%')) { + pj_ansi_snprintf(rec->obj_name, PJ_MAX_OBJ_NAME, thread_name, rec); + } else { + pj_ansi_strncpy(rec->obj_name, thread_name, PJ_MAX_OBJ_NAME); + rec->obj_name[PJ_MAX_OBJ_NAME-1] = '\0'; + } + + PJ_LOG(6, (rec->obj_name, "Thread created")); + +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK!=0 + rec->stk_size = stack_size ? (pj_uint32_t)stack_size : 0xFFFFFFFFUL; + rec->stk_max_usage = 0; +#endif + + /* Create the thread. */ + rec->proc = proc; + rec->arg = arg; + rec->hthread = CreateThread(NULL, stack_size, + thread_main, rec, + dwflags, &rec->idthread); + if (rec->hthread == NULL) + return PJ_RETURN_OS_ERROR(GetLastError()); + + /* Success! */ + *thread_ptr = rec; + return PJ_SUCCESS; +} + +/* + * pj_thread-get_name() + */ +PJ_DEF(const char*) pj_thread_get_name(pj_thread_t *p) +{ + pj_thread_t *rec = (pj_thread_t*)p; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(p, ""); + + return rec->obj_name; +} + +/* + * pj_thread_resume() + */ +PJ_DEF(pj_status_t) pj_thread_resume(pj_thread_t *p) +{ + pj_thread_t *rec = (pj_thread_t*)p; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(p, PJ_EINVAL); + + if (ResumeThread(rec->hthread) == (DWORD)-1) + return PJ_RETURN_OS_ERROR(GetLastError()); + else + return PJ_SUCCESS; +} + +/* + * pj_thread_this() + */ +PJ_DEF(pj_thread_t*) pj_thread_this(void) +{ + pj_thread_t *rec = pj_thread_local_get(thread_tls_id); + + if (rec == NULL) { + pj_assert(!"Calling pjlib from unknown/external thread. You must " + "register external threads with pj_thread_register() " + "before calling any pjlib functions."); + } + + /* + * MUST NOT check stack because this function is called + * by PJ_CHECK_STACK() itself!!! + * + */ + + return rec; +} + +/* + * pj_thread_join() + */ +PJ_DEF(pj_status_t) pj_thread_join(pj_thread_t *p) +{ + pj_thread_t *rec = (pj_thread_t *)p; + DWORD rc; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(p, PJ_EINVAL); + + if (p == pj_thread_this()) + return PJ_ECANCELLED; + + PJ_LOG(6, (pj_thread_this()->obj_name, "Joining thread %s", p->obj_name)); + + rc = WaitForSingleObject(rec->hthread, INFINITE); + + if (rc==WAIT_OBJECT_0) + return PJ_SUCCESS; + else if (rc==WAIT_TIMEOUT) + return PJ_ETIMEDOUT; + else + return PJ_RETURN_OS_ERROR(GetLastError()); +} + +/* + * pj_thread_destroy() + */ +PJ_DEF(pj_status_t) pj_thread_destroy(pj_thread_t *p) +{ + pj_thread_t *rec = (pj_thread_t *)p; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(p, PJ_EINVAL); + + if (CloseHandle(rec->hthread) == TRUE) + return PJ_SUCCESS; + else + return PJ_RETURN_OS_ERROR(GetLastError()); +} + +/* + * pj_thread_sleep() + */ +PJ_DEF(pj_status_t) pj_thread_sleep(unsigned msec) +{ + PJ_CHECK_STACK(); + Sleep(msec); + return PJ_SUCCESS; +} + +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK != 0 +/* + * pj_thread_check_stack() + * Implementation for PJ_CHECK_STACK() + */ +PJ_DEF(void) pj_thread_check_stack(const char *file, int line) +{ + char stk_ptr; + pj_uint32_t usage; + pj_thread_t *thread = pj_thread_this(); + + pj_assert(thread); + + /* Calculate current usage. */ + usage = (&stk_ptr > thread->stk_start) ? + (pj_uint32_t)(&stk_ptr - thread->stk_start) : + (pj_uint32_t)(thread->stk_start - &stk_ptr); + + /* Assert if stack usage is dangerously high. */ + pj_assert("STACK OVERFLOW!! " && (usage <= thread->stk_size - 128)); + + /* Keep statistic. */ + if (usage > thread->stk_max_usage) { + thread->stk_max_usage = usage; + thread->caller_file = file; + thread->caller_line = line; + } + +} + +/* + * pj_thread_get_stack_max_usage() + */ +PJ_DEF(pj_uint32_t) pj_thread_get_stack_max_usage(pj_thread_t *thread) +{ + return thread->stk_max_usage; +} + +/* + * pj_thread_get_stack_info() + */ +PJ_DEF(pj_status_t) pj_thread_get_stack_info( pj_thread_t *thread, + const char **file, + int *line ) +{ + pj_assert(thread); + + *file = thread->caller_file; + *line = thread->caller_line; + return 0; +} + +#endif /* PJ_OS_HAS_CHECK_STACK */ + + +/////////////////////////////////////////////////////////////////////////////// + +/* + * pj_atomic_create() + */ +PJ_DEF(pj_status_t) pj_atomic_create( pj_pool_t *pool, + pj_atomic_value_t initial, + pj_atomic_t **atomic_ptr) +{ + pj_atomic_t *atomic_var = pj_pool_alloc(pool, sizeof(pj_atomic_t)); + if (!atomic_var) + return PJ_ENOMEM; + + atomic_var->value = initial; + *atomic_ptr = atomic_var; + + return PJ_SUCCESS; +} + +/* + * pj_atomic_destroy() + */ +PJ_DEF(pj_status_t) pj_atomic_destroy( pj_atomic_t *var ) +{ + PJ_UNUSED_ARG(var); + PJ_ASSERT_RETURN(var, PJ_EINVAL); + + return 0; +} + +/* + * pj_atomic_set() + */ +PJ_DEF(void) pj_atomic_set( pj_atomic_t *atomic_var, pj_atomic_value_t value) +{ + PJ_CHECK_STACK(); + + InterlockedExchange(&atomic_var->value, value); +} + +/* + * pj_atomic_get() + */ +PJ_DEF(pj_atomic_value_t) pj_atomic_get(pj_atomic_t *atomic_var) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(atomic_var, 0); + + return atomic_var->value; +} + +/* + * pj_atomic_inc_and_get() + */ +PJ_DEF(pj_atomic_value_t) pj_atomic_inc_and_get(pj_atomic_t *atomic_var) +{ + PJ_CHECK_STACK(); + +#if defined(PJ_WIN32_WINNT) && PJ_WIN32_WINNT >= 0x0400 + return InterlockedIncrement(&atomic_var->value); +#else + return InterlockedIncrement(&atomic_var->value); +#endif +} + +/* + * pj_atomic_inc() + */ +PJ_DEF(void) pj_atomic_inc(pj_atomic_t *atomic_var) +{ + pj_atomic_inc_and_get(atomic_var); +} + +/* + * pj_atomic_dec_and_get() + */ +PJ_DEF(pj_atomic_value_t) pj_atomic_dec_and_get(pj_atomic_t *atomic_var) +{ + PJ_CHECK_STACK(); + +#if defined(PJ_WIN32_WINNT) && PJ_WIN32_WINNT >= 0x0400 + return InterlockedDecrement(&atomic_var->value); +#else + return InterlockedDecrement(&atomic_var->value); +#endif +} + +/* + * pj_atomic_dec() + */ +PJ_DEF(void) pj_atomic_dec(pj_atomic_t *atomic_var) +{ + pj_atomic_dec_and_get(atomic_var); +} + +/* + * pj_atomic_add() + */ +PJ_DEF(void) pj_atomic_add( pj_atomic_t *atomic_var, + pj_atomic_value_t value ) +{ +#if defined(PJ_WIN32_WINNT) && PJ_WIN32_WINNT >= 0x0400 + InterlockedExchangeAdd( &atomic_var->value, value ); +#else + InterlockedExchangeAdd( &atomic_var->value, value ); +#endif +} + +/* + * pj_atomic_add_and_get() + */ +PJ_DEF(pj_atomic_value_t) pj_atomic_add_and_get( pj_atomic_t *atomic_var, + pj_atomic_value_t value) +{ +#if defined(PJ_WIN32_WINNT) && PJ_WIN32_WINNT >= 0x0400 + long oldValue = InterlockedExchangeAdd( &atomic_var->value, value); + return oldValue + value; +#else + long oldValue = InterlockedExchangeAdd( &atomic_var->value, value); + return oldValue + value; +#endif +} + +/////////////////////////////////////////////////////////////////////////////// +/* + * pj_thread_local_alloc() + */ +PJ_DEF(pj_status_t) pj_thread_local_alloc(long *index) +{ + PJ_ASSERT_RETURN(index != NULL, PJ_EINVAL); + + //Can't check stack because this function is called in the + //beginning before main thread is initialized. + //PJ_CHECK_STACK(); + + *index = TlsAlloc(); + + if (*index == TLS_OUT_OF_INDEXES) + return PJ_RETURN_OS_ERROR(GetLastError()); + else + return PJ_SUCCESS; +} + +/* + * pj_thread_local_free() + */ +PJ_DEF(void) pj_thread_local_free(long index) +{ + PJ_CHECK_STACK(); + TlsFree(index); +} + +/* + * pj_thread_local_set() + */ +PJ_DEF(pj_status_t) pj_thread_local_set(long index, void *value) +{ + BOOL rc; + + //Can't check stack because this function is called in the + //beginning before main thread is initialized. + //PJ_CHECK_STACK(); + rc = TlsSetValue(index, value); + return rc!=0 ? PJ_SUCCESS : PJ_RETURN_OS_ERROR(GetLastError()); +} + +/* + * pj_thread_local_get() + */ +PJ_DEF(void*) pj_thread_local_get(long index) +{ + //Can't check stack because this function is called + //by PJ_CHECK_STACK() itself!!! + //PJ_CHECK_STACK(); + return TlsGetValue(index); +} + +/////////////////////////////////////////////////////////////////////////////// +static pj_status_t init_mutex(pj_mutex_t *mutex, const char *name) +{ + + PJ_CHECK_STACK(); + +#if PJ_WIN32_WINNT >= 0x0400 + InitializeCriticalSection(&mutex->crit); +#else + mutex->hMutex = CreateMutex(NULL, FALSE, NULL); + if (!mutex->hMutex) { + return PJ_RETURN_OS_ERROR(GetLastError()); + } +#endif + +#if PJ_DEBUG + /* Set owner. */ + mutex->nesting_level = 0; + mutex->owner = NULL; +#endif + + /* Set name. */ + if (!name) { + name = "mtx%p"; + } + if (strchr(name, '%')) { + pj_ansi_snprintf(mutex->obj_name, PJ_MAX_OBJ_NAME, name, mutex); + } else { + pj_ansi_strncpy(mutex->obj_name, name, PJ_MAX_OBJ_NAME); + mutex->obj_name[PJ_MAX_OBJ_NAME-1] = '\0'; + } + + PJ_LOG(6, (mutex->obj_name, "Mutex created")); + return PJ_SUCCESS; +} + +/* + * pj_mutex_create() + */ +PJ_DEF(pj_status_t) pj_mutex_create(pj_pool_t *pool, + const char *name, + int type, + pj_mutex_t **mutex_ptr) +{ + pj_status_t rc; + pj_mutex_t *mutex; + + PJ_UNUSED_ARG(type); + PJ_ASSERT_RETURN(pool && mutex_ptr, PJ_EINVAL); + + mutex = pj_pool_alloc(pool, sizeof(*mutex)); + if (!mutex) + return PJ_ENOMEM; + + rc = init_mutex(mutex, name); + if (rc != PJ_SUCCESS) + return rc; + + *mutex_ptr = mutex; + + return PJ_SUCCESS; +} + +/* + * pj_mutex_create_simple() + */ +PJ_DEF(pj_status_t) pj_mutex_create_simple( pj_pool_t *pool, + const char *name, + pj_mutex_t **mutex ) +{ + return pj_mutex_create(pool, name, PJ_MUTEX_SIMPLE, mutex); +} + +/* + * pj_mutex_create_recursive() + */ +PJ_DEF(pj_status_t) pj_mutex_create_recursive( pj_pool_t *pool, + const char *name, + pj_mutex_t **mutex ) +{ + return pj_mutex_create(pool, name, PJ_MUTEX_RECURSE, mutex); +} + +/* + * pj_mutex_lock() + */ +PJ_DEF(pj_status_t) pj_mutex_lock(pj_mutex_t *mutex) +{ + pj_status_t status; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + + LOG_MUTEX((mutex->obj_name, "Mutex: thread %s is waiting", + pj_thread_this()->obj_name)); + +#if PJ_WIN32_WINNT >= 0x0400 + EnterCriticalSection(&mutex->crit); + status=PJ_SUCCESS; +#else + if (WaitForSingleObject(mutex->hMutex, INFINITE)==WAIT_OBJECT_0) + status = PJ_SUCCESS; + else + status = PJ_STATUS_FROM_OS(GetLastError()); + +#endif + LOG_MUTEX((mutex->obj_name, + (status==PJ_SUCCESS ? "Mutex acquired by thread %s" : "FAILED by %s"), + pj_thread_this()->obj_name)); + +#if PJ_DEBUG + if (status == PJ_SUCCESS) { + mutex->owner = pj_thread_this(); + ++mutex->nesting_level; + } +#endif + + return status; +} + +/* + * pj_mutex_unlock() + */ +PJ_DEF(pj_status_t) pj_mutex_unlock(pj_mutex_t *mutex) +{ + pj_status_t status; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + +#if PJ_DEBUG + pj_assert(mutex->owner == pj_thread_this()); + if (--mutex->nesting_level == 0) { + mutex->owner = NULL; + } +#endif + + LOG_MUTEX((mutex->obj_name, "Mutex released by thread %s", + pj_thread_this()->obj_name)); + +#if PJ_WIN32_WINNT >= 0x0400 + LeaveCriticalSection(&mutex->crit); + status=PJ_SUCCESS; +#else + status = ReleaseMutex(mutex->hMutex) ? PJ_SUCCESS : + PJ_STATUS_FROM_OS(GetLastError()); +#endif + return status; +} + +/* + * pj_mutex_trylock() + */ +PJ_DEF(pj_status_t) pj_mutex_trylock(pj_mutex_t *mutex) +{ + pj_status_t status; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + + LOG_MUTEX((mutex->obj_name, "Mutex: thread %s is trying", + pj_thread_this()->obj_name)); + +#if PJ_WIN32_WINNT >= 0x0400 + status=TryEnterCriticalSection(&mutex->crit) ? PJ_SUCCESS : PJ_EUNKNOWN; +#else + status = WaitForSingleObject(mutex->hMutex, 0)==WAIT_OBJECT_0 ? + PJ_SUCCESS : PJ_ETIMEDOUT; +#endif + if (status==PJ_SUCCESS) { + LOG_MUTEX((mutex->obj_name, "Mutex acquired by thread %s", + pj_thread_this()->obj_name)); + +#if PJ_DEBUG + mutex->owner = pj_thread_this(); + ++mutex->nesting_level; +#endif + } else { + LOG_MUTEX((mutex->obj_name, "Mutex: thread %s's trylock() failed", + pj_thread_this()->obj_name)); + } + + return status; +} + +/* + * pj_mutex_destroy() + */ +PJ_DEF(pj_status_t) pj_mutex_destroy(pj_mutex_t *mutex) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + + LOG_MUTEX((mutex->obj_name, "Mutex destroyed")); + +#if PJ_WIN32_WINNT >= 0x0400 + DeleteCriticalSection(&mutex->crit); + return PJ_SUCCESS; +#else + return CloseHandle(mutex->hMutex) ? PJ_SUCCESS : + PJ_RETURN_OS_ERROR(GetLastError()); +#endif +} + +/* + * pj_mutex_is_locked() + */ +PJ_DEF(pj_bool_t) pj_mutex_is_locked(pj_mutex_t *mutex) +{ +#if PJ_DEBUG + return mutex->owner == pj_thread_this(); +#else + PJ_UNUSED_ARG(mutex); + pj_assert(!"PJ_DEBUG is not set!"); + return 1; +#endif +} + +/////////////////////////////////////////////////////////////////////////////// +/* + * Win32 lacks Read/Write mutex, so include the emulation. + */ +#include "os_rwmutex.c" + +/////////////////////////////////////////////////////////////////////////////// +/* + * pj_enter_critical_section() + */ +PJ_DEF(void) pj_enter_critical_section(void) +{ + pj_mutex_lock(&critical_section_mutex); +} + + +/* + * pj_leave_critical_section() + */ +PJ_DEF(void) pj_leave_critical_section(void) +{ + pj_mutex_unlock(&critical_section_mutex); +} + +/////////////////////////////////////////////////////////////////////////////// +#if defined(PJ_HAS_SEMAPHORE) && PJ_HAS_SEMAPHORE != 0 + +/* + * pj_sem_create() + */ +PJ_DEF(pj_status_t) pj_sem_create( pj_pool_t *pool, + const char *name, + unsigned initial, + unsigned max, + pj_sem_t **sem_ptr) +{ + pj_sem_t *sem; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(pool && sem_ptr, PJ_EINVAL); + + sem = pj_pool_alloc(pool, sizeof(*sem)); + sem->hSemaphore = CreateSemaphore(NULL, initial, max, NULL); + if (!sem->hSemaphore) + return PJ_RETURN_OS_ERROR(GetLastError()); + + /* Set name. */ + if (!name) { + name = "sem%p"; + } + if (strchr(name, '%')) { + pj_ansi_snprintf(sem->obj_name, PJ_MAX_OBJ_NAME, name, sem); + } else { + pj_ansi_strncpy(sem->obj_name, name, PJ_MAX_OBJ_NAME); + sem->obj_name[PJ_MAX_OBJ_NAME-1] = '\0'; + } + + LOG_MUTEX((sem->obj_name, "Semaphore created")); + + *sem_ptr = sem; + return PJ_SUCCESS; +} + +static pj_status_t pj_sem_wait_for(pj_sem_t *sem, unsigned timeout) +{ + DWORD result; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(sem, PJ_EINVAL); + + LOG_MUTEX((sem->obj_name, "Semaphore: thread %s is waiting", + pj_thread_this()->obj_name)); + + result = WaitForSingleObject(sem->hSemaphore, timeout); + if (result == WAIT_OBJECT_0) { + LOG_MUTEX((sem->obj_name, "Semaphore acquired by thread %s", + pj_thread_this()->obj_name)); + } else { + LOG_MUTEX((sem->obj_name, "Semaphore: thread %s FAILED to acquire", + pj_thread_this()->obj_name)); + } + + if (result==WAIT_OBJECT_0) + return PJ_SUCCESS; + else if (result==WAIT_TIMEOUT) + return PJ_ETIMEDOUT; + else + return PJ_RETURN_OS_ERROR(GetLastError()); +} + +/* + * pj_sem_wait() + */ +PJ_DEF(pj_status_t) pj_sem_wait(pj_sem_t *sem) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(sem, PJ_EINVAL); + + return pj_sem_wait_for(sem, INFINITE); +} + +/* + * pj_sem_trywait() + */ +PJ_DEF(pj_status_t) pj_sem_trywait(pj_sem_t *sem) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(sem, PJ_EINVAL); + + return pj_sem_wait_for(sem, 0); +} + +/* + * pj_sem_post() + */ +PJ_DEF(pj_status_t) pj_sem_post(pj_sem_t *sem) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(sem, PJ_EINVAL); + + LOG_MUTEX((sem->obj_name, "Semaphore released by thread %s", + pj_thread_this()->obj_name)); + + if (ReleaseSemaphore(sem->hSemaphore, 1, NULL)) + return PJ_SUCCESS; + else + return PJ_RETURN_OS_ERROR(GetLastError()); +} + +/* + * pj_sem_destroy() + */ +PJ_DEF(pj_status_t) pj_sem_destroy(pj_sem_t *sem) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(sem, PJ_EINVAL); + + LOG_MUTEX((sem->obj_name, "Semaphore destroyed by thread %s", + pj_thread_this()->obj_name)); + + if (CloseHandle(sem->hSemaphore)) + return PJ_SUCCESS; + else + return PJ_RETURN_OS_ERROR(GetLastError()); +} + +#endif /* PJ_HAS_SEMAPHORE */ +/////////////////////////////////////////////////////////////////////////////// + + +#if defined(PJ_HAS_EVENT_OBJ) && PJ_HAS_EVENT_OBJ != 0 + +/* + * pj_event_create() + */ +PJ_DEF(pj_status_t) pj_event_create( pj_pool_t *pool, + const char *name, + pj_bool_t manual_reset, + pj_bool_t initial, + pj_event_t **event_ptr) +{ + pj_event_t *event; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(pool && event_ptr, PJ_EINVAL); + + event = pj_pool_alloc(pool, sizeof(*event)); + if (!event) + return PJ_ENOMEM; + + event->hEvent = CreateEvent(NULL, manual_reset?TRUE:FALSE, + initial?TRUE:FALSE, NULL); + + if (!event->hEvent) + return PJ_RETURN_OS_ERROR(GetLastError()); + + /* Set name. */ + if (!name) { + name = "evt%p"; + } + if (strchr(name, '%')) { + pj_ansi_snprintf(event->obj_name, PJ_MAX_OBJ_NAME, name, event); + } else { + pj_ansi_strncpy(event->obj_name, name, PJ_MAX_OBJ_NAME); + event->obj_name[PJ_MAX_OBJ_NAME-1] = '\0'; + } + + PJ_LOG(6, (event->obj_name, "Event created")); + + *event_ptr = event; + return PJ_SUCCESS; +} + +static pj_status_t pj_event_wait_for(pj_event_t *event, unsigned timeout) +{ + DWORD result; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(event, PJ_EINVAL); + + PJ_LOG(6, (event->obj_name, "Event: thread %s is waiting", + pj_thread_this()->obj_name)); + + result = WaitForSingleObject(event->hEvent, timeout); + if (result == WAIT_OBJECT_0) { + PJ_LOG(6, (event->obj_name, "Event: thread %s is released", + pj_thread_this()->obj_name)); + } else { + PJ_LOG(6, (event->obj_name, "Event: thread %s FAILED to acquire", + pj_thread_this()->obj_name)); + } + + if (result==WAIT_OBJECT_0) + return PJ_SUCCESS; + else if (result==WAIT_TIMEOUT) + return PJ_ETIMEDOUT; + else + return PJ_RETURN_OS_ERROR(GetLastError()); +} + +/* + * pj_event_wait() + */ +PJ_DEF(pj_status_t) pj_event_wait(pj_event_t *event) +{ + PJ_ASSERT_RETURN(event, PJ_EINVAL); + + return pj_event_wait_for(event, INFINITE); +} + +/* + * pj_event_trywait() + */ +PJ_DEF(pj_status_t) pj_event_trywait(pj_event_t *event) +{ + PJ_ASSERT_RETURN(event, PJ_EINVAL); + + return pj_event_wait_for(event, 0); +} + +/* + * pj_event_set() + */ +PJ_DEF(pj_status_t) pj_event_set(pj_event_t *event) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(event, PJ_EINVAL); + + PJ_LOG(6, (event->obj_name, "Setting event")); + + if (SetEvent(event->hEvent)) + return PJ_SUCCESS; + else + return PJ_RETURN_OS_ERROR(GetLastError()); +} + +/* + * pj_event_pulse() + */ +PJ_DEF(pj_status_t) pj_event_pulse(pj_event_t *event) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(event, PJ_EINVAL); + + PJ_LOG(6, (event->obj_name, "Pulsing event")); + + if (PulseEvent(event->hEvent)) + return PJ_SUCCESS; + else + return PJ_RETURN_OS_ERROR(GetLastError()); +} + +/* + * pj_event_reset() + */ +PJ_DEF(pj_status_t) pj_event_reset(pj_event_t *event) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(event, PJ_EINVAL); + + PJ_LOG(6, (event->obj_name, "Event is reset")); + + if (ResetEvent(event->hEvent)) + return PJ_SUCCESS; + else + return PJ_RETURN_OS_ERROR(GetLastError()); +} + +/* + * pj_event_destroy() + */ +PJ_DEF(pj_status_t) pj_event_destroy(pj_event_t *event) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(event, PJ_EINVAL); + + PJ_LOG(6, (event->obj_name, "Event is destroying")); + + if (CloseHandle(event->hEvent)) + return PJ_SUCCESS; + else + return PJ_RETURN_OS_ERROR(GetLastError()); +} + +#endif /* PJ_HAS_EVENT_OBJ */ + +/////////////////////////////////////////////////////////////////////////////// +#if defined(PJ_TERM_HAS_COLOR) && PJ_TERM_HAS_COLOR != 0 +/* + * Terminal color + */ + +static WORD pj_color_to_os_attr(pj_color_t color) +{ + WORD attr = 0; + + if (color & PJ_TERM_COLOR_R) + attr |= FOREGROUND_RED; + if (color & PJ_TERM_COLOR_G) + attr |= FOREGROUND_GREEN; + if (color & PJ_TERM_COLOR_B) + attr |= FOREGROUND_BLUE; + if (color & PJ_TERM_COLOR_BRIGHT) + attr |= FOREGROUND_INTENSITY; + + return attr; +} + +static pj_color_t os_attr_to_pj_color(WORD attr) +{ + int color = 0; + + if (attr & FOREGROUND_RED) + color |= PJ_TERM_COLOR_R; + if (attr & FOREGROUND_GREEN) + color |= PJ_TERM_COLOR_G; + if (attr & FOREGROUND_BLUE) + color |= PJ_TERM_COLOR_B; + if (attr & FOREGROUND_INTENSITY) + color |= PJ_TERM_COLOR_BRIGHT; + + return color; +} + + +/* + * pj_term_set_color() + */ +PJ_DEF(pj_status_t) pj_term_set_color(pj_color_t color) +{ + BOOL rc; + WORD attr = 0; + + PJ_CHECK_STACK(); + + attr = pj_color_to_os_attr(color); + rc = SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), attr); + return rc ? PJ_SUCCESS : PJ_RETURN_OS_ERROR(GetLastError()); +} + +/* + * pj_term_get_color() + * Get current terminal foreground color. + */ +PJ_DEF(pj_color_t) pj_term_get_color(void) +{ + CONSOLE_SCREEN_BUFFER_INFO info; + + PJ_CHECK_STACK(); + + GetConsoleScreenBufferInfo( GetStdHandle(STD_OUTPUT_HANDLE), &info); + return os_attr_to_pj_color(info.wAttributes); +} + +#endif /* PJ_TERM_HAS_COLOR */ + +/* + * pj_run_app() + */ +PJ_DEF(int) pj_run_app(pj_main_func_ptr main_func, int argc, char *argv[], + unsigned flags) +{ + PJ_UNUSED_ARG(flags); + return (*main_func)(argc, argv); +} diff --git a/pjlib/src/pj/os_error_linux_kernel.c b/pjlib/src/pj/os_error_linux_kernel.c new file mode 100644 index 0000000..bd2ac90 --- /dev/null +++ b/pjlib/src/pj/os_error_linux_kernel.c @@ -0,0 +1,81 @@ +/* $Id: os_error_linux_kernel.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#if defined(MODVERSIONS) +#include +#endif +#include +#include + +int kernel_errno; + +PJ_DEF(pj_status_t) pj_get_os_error(void) +{ + return errno; +} + +PJ_DEF(void) pj_set_os_error(pj_status_t code) +{ + errno = code; +} + +PJ_DEF(pj_status_t) pj_get_netos_error(void) +{ + return errno; +} + +PJ_DEF(void) pj_set_netos_error(pj_status_t code) +{ + errno = code; +} + +/* + * platform_strerror() + * + * Platform specific error message. This file is called by pj_strerror() + * in errno.c + */ +int platform_strerror( pj_os_err_type os_errcode, + char *buf, pj_size_t bufsize) +{ + char errmsg[PJ_ERR_MSG_SIZE]; + int len; + + /* Handle EINVAL as special case so that it'll pass errno test. */ + if (os_errcode==EINVAL) + strcpy(errmsg, "Invalid value"); + else + snprintf(errmsg, sizeof(errmsg), "errno=%d", os_errcode); + + len = strlen(errmsg); + + if (len >= bufsize) + len = bufsize-1; + + pj_memcpy(buf, errmsg, len); + buf[len] = '\0'; + + return len; +} + + diff --git a/pjlib/src/pj/os_error_symbian.cpp b/pjlib/src/pj/os_error_symbian.cpp new file mode 100644 index 0000000..7d0569e --- /dev/null +++ b/pjlib/src/pj/os_error_symbian.cpp @@ -0,0 +1,172 @@ +/* $Id: os_error_symbian.cpp 4613 2013-10-08 09:08:13Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include + +#include +#include + + +#if defined(PJ_HAS_ERROR_STRING) && (PJ_HAS_ERROR_STRING!=0) +static const struct { + pj_os_err_type code; + const char *msg; +} gaErrorList[] = { + /* + * Generic error -1 to -46 + */ + PJ_BUILD_ERR( KErrNotFound, "Unable to find the specified object"), + PJ_BUILD_ERR( KErrGeneral, "General (unspecified) error"), + PJ_BUILD_ERR( KErrCancel, "The operation was cancelled"), + PJ_BUILD_ERR( KErrNoMemory, "Not enough memory"), + PJ_BUILD_ERR( KErrNotSupported, "The operation requested is not supported"), + PJ_BUILD_ERR( KErrArgument, "Bad request"), + PJ_BUILD_ERR( KErrTotalLossOfPrecision, "Total loss of precision"), + PJ_BUILD_ERR( KErrBadHandle, "Bad object"), + PJ_BUILD_ERR( KErrOverflow, "Overflow"), + PJ_BUILD_ERR( KErrUnderflow, "Underflow"), + PJ_BUILD_ERR( KErrAlreadyExists,"Already exists"), + PJ_BUILD_ERR( KErrPathNotFound, "Unable to find the specified folder"), + PJ_BUILD_ERR( KErrDied, "Closed"), + PJ_BUILD_ERR( KErrInUse, "The specified object is currently in use by another program"), + PJ_BUILD_ERR( KErrServerTerminated, "Server has closed"), + PJ_BUILD_ERR( KErrServerBusy, "Server busy"), + PJ_BUILD_ERR( KErrCompletion, "Completion error"), + PJ_BUILD_ERR( KErrNotReady, "Not ready"), + PJ_BUILD_ERR( KErrUnknown, "Unknown error"), + PJ_BUILD_ERR( KErrCorrupt, "Corrupt"), + PJ_BUILD_ERR( KErrAccessDenied, "Access denied"), + PJ_BUILD_ERR( KErrLocked, "Locked"), + PJ_BUILD_ERR( KErrWrite, "Failed to write"), + PJ_BUILD_ERR( KErrDisMounted, "Wrong disk present"), + PJ_BUILD_ERR( KErrEof, "Unexpected end of file"), + PJ_BUILD_ERR( KErrDiskFull, "Disk full"), + PJ_BUILD_ERR( KErrBadDriver, "Bad device driver"), + PJ_BUILD_ERR( KErrBadName, "Bad name"), + PJ_BUILD_ERR( KErrCommsLineFail,"Comms line failed"), + PJ_BUILD_ERR( KErrCommsFrame, "Comms frame error"), + PJ_BUILD_ERR( KErrCommsOverrun, "Comms overrun error"), + PJ_BUILD_ERR( KErrCommsParity, "Comms parity error"), + PJ_BUILD_ERR( KErrTimedOut, "Timed out"), + PJ_BUILD_ERR( KErrCouldNotConnect, "Failed to connect"), + PJ_BUILD_ERR( KErrCouldNotDisconnect, "Failed to disconnect"), + PJ_BUILD_ERR( KErrDisconnected, "Disconnected"), + PJ_BUILD_ERR( KErrBadLibraryEntryPoint, "Bad library entry point"), + PJ_BUILD_ERR( KErrBadDescriptor,"Bad descriptor"), + PJ_BUILD_ERR( KErrAbort, "Interrupted"), + PJ_BUILD_ERR( KErrTooBig, "Too big"), + PJ_BUILD_ERR( KErrDivideByZero, "Divide by zero"), + PJ_BUILD_ERR( KErrBadPower, "Batteries too low"), + PJ_BUILD_ERR( KErrDirFull, "Folder full"), + PJ_BUILD_ERR( KErrHardwareNotAvailable, ""), + PJ_BUILD_ERR( KErrSessionClosed, ""), + PJ_BUILD_ERR( KErrPermissionDenied, ""), + + /* + * Socket errors (-190 - -1000) + */ + PJ_BUILD_ERR( KErrNetUnreach, "Could not connect to the network. Currently unreachable"), + PJ_BUILD_ERR( KErrHostUnreach, "Could not connect to the specified server"), + PJ_BUILD_ERR( KErrNoProtocolOpt,"The specified server refuses the selected protocol"), + PJ_BUILD_ERR( KErrUrgentData, ""), + PJ_BUILD_ERR( KErrWouldBlock, "Conflicts with KErrExtended, but cannot occur in practice"), + + {0, NULL} +}; + +#endif /* PJ_HAS_ERROR_STRING */ + + +PJ_DEF(pj_status_t) pj_get_os_error(void) +{ + return -1; +} + +PJ_DEF(void) pj_set_os_error(pj_status_t code) +{ + PJ_UNUSED_ARG(code); +} + +PJ_DEF(pj_status_t) pj_get_netos_error(void) +{ + return -1; +} + +PJ_DEF(void) pj_set_netos_error(pj_status_t code) +{ + PJ_UNUSED_ARG(code); +} + +PJ_BEGIN_DECL + + PJ_DECL(int) platform_strerror( pj_os_err_type os_errcode, + char *buf, pj_size_t bufsize); +PJ_END_DECL + +/* + * platform_strerror() + * + * Platform specific error message. This file is called by pj_strerror() + * in errno.c + */ +PJ_DEF(int) platform_strerror( pj_os_err_type os_errcode, + char *buf, pj_size_t bufsize) +{ + int len = 0; + + pj_assert(buf != NULL); + pj_assert(bufsize >= 0); + + /* + * MUST NOT check stack here. + * This function might be called from PJ_CHECK_STACK() itself! + //PJ_CHECK_STACK(); + */ + + if (!len) { +#if defined(PJ_HAS_ERROR_STRING) && (PJ_HAS_ERROR_STRING!=0) + int i; + for (i = 0; gaErrorList[i].msg; ++i) { + if (gaErrorList[i].code == os_errcode) { + len = strlen(gaErrorList[i].msg); + if ((pj_size_t)len >= bufsize) { + len = bufsize-1; + } + pj_memcpy(buf, gaErrorList[i].msg, len); + buf[len] = '\0'; + break; + } + } +#endif /* PJ_HAS_ERROR_STRING */ + + } + + if (!len) { + len = pj_ansi_snprintf( buf, bufsize-1, "Symbian native error %d", + os_errcode); + buf[len] = '\0'; + } + + return len; +} + diff --git a/pjlib/src/pj/os_error_unix.c b/pjlib/src/pj/os_error_unix.c new file mode 100644 index 0000000..95c27b5 --- /dev/null +++ b/pjlib/src/pj/os_error_unix.c @@ -0,0 +1,69 @@ +/* $Id: os_error_unix.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + +PJ_DEF(pj_status_t) pj_get_os_error(void) +{ + return PJ_STATUS_FROM_OS(errno); +} + +PJ_DEF(void) pj_set_os_error(pj_status_t code) +{ + errno = PJ_STATUS_TO_OS(code); +} + +PJ_DEF(pj_status_t) pj_get_netos_error(void) +{ + return PJ_STATUS_FROM_OS(errno); +} + +PJ_DEF(void) pj_set_netos_error(pj_status_t code) +{ + errno = PJ_STATUS_TO_OS(code); +} + +PJ_BEGIN_DECL + + PJ_DECL(int) platform_strerror(pj_os_err_type code, + char *buf, pj_size_t bufsize ); +PJ_END_DECL + +/* + * platform_strerror() + * + * Platform specific error message. This file is called by pj_strerror() + * in errno.c + */ +int platform_strerror( pj_os_err_type os_errcode, + char *buf, pj_size_t bufsize) +{ + const char *syserr = strerror(os_errcode); + pj_size_t len = syserr ? strlen(syserr) : 0; + + if (len >= bufsize) len = bufsize - 1; + if (len > 0) + pj_memcpy(buf, syserr, len); + buf[len] = '\0'; + return len; +} + + diff --git a/pjlib/src/pj/os_error_win32.c b/pjlib/src/pj/os_error_win32.c new file mode 100644 index 0000000..79df4f3 --- /dev/null +++ b/pjlib/src/pj/os_error_win32.c @@ -0,0 +1,220 @@ +/* $Id: os_error_win32.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include + + +#if defined(PJ_HAS_WINSOCK2_H) && PJ_HAS_WINSOCK2_H != 0 +# include +#elif defined(PJ_HAS_WINSOCK_H) && PJ_HAS_WINSOCK_H != 0 +# include +#endif + + +/* + * From Apache's APR: + */ +#if defined(PJ_HAS_ERROR_STRING) && (PJ_HAS_ERROR_STRING!=0) + +static const struct { + pj_os_err_type code; + const char *msg; +} gaErrorList[] = { + PJ_BUILD_ERR( WSAEINTR, "Interrupted system call"), + PJ_BUILD_ERR( WSAEBADF, "Bad file number"), + PJ_BUILD_ERR( WSAEACCES, "Permission denied"), + PJ_BUILD_ERR( WSAEFAULT, "Bad address"), + PJ_BUILD_ERR( WSAEINVAL, "Invalid argument"), + PJ_BUILD_ERR( WSAEMFILE, "Too many open sockets"), + PJ_BUILD_ERR( WSAEWOULDBLOCK, "Operation would block"), + PJ_BUILD_ERR( WSAEINPROGRESS, "Operation now in progress"), + PJ_BUILD_ERR( WSAEALREADY, "Operation already in progress"), + PJ_BUILD_ERR( WSAENOTSOCK, "Socket operation on non-socket"), + PJ_BUILD_ERR( WSAEDESTADDRREQ, "Destination address required"), + PJ_BUILD_ERR( WSAEMSGSIZE, "Message too long"), + PJ_BUILD_ERR( WSAEPROTOTYPE, "Protocol wrong type for socket"), + PJ_BUILD_ERR( WSAENOPROTOOPT, "Bad protocol option"), + PJ_BUILD_ERR( WSAEPROTONOSUPPORT, "Protocol not supported"), + PJ_BUILD_ERR( WSAESOCKTNOSUPPORT, "Socket type not supported"), + PJ_BUILD_ERR( WSAEOPNOTSUPP, "Operation not supported on socket"), + PJ_BUILD_ERR( WSAEPFNOSUPPORT, "Protocol family not supported"), + PJ_BUILD_ERR( WSAEAFNOSUPPORT, "Address family not supported"), + PJ_BUILD_ERR( WSAEADDRINUSE, "Address already in use"), + PJ_BUILD_ERR( WSAEADDRNOTAVAIL, "Can't assign requested address"), + PJ_BUILD_ERR( WSAENETDOWN, "Network is down"), + PJ_BUILD_ERR( WSAENETUNREACH, "Network is unreachable"), + PJ_BUILD_ERR( WSAENETRESET, "Net connection reset"), + PJ_BUILD_ERR( WSAECONNABORTED, "Software caused connection abort"), + PJ_BUILD_ERR( WSAECONNRESET, "Connection reset by peer"), + PJ_BUILD_ERR( WSAENOBUFS, "No buffer space available"), + PJ_BUILD_ERR( WSAEISCONN, "Socket is already connected"), + PJ_BUILD_ERR( WSAENOTCONN, "Socket is not connected"), + PJ_BUILD_ERR( WSAESHUTDOWN, "Can't send after socket shutdown"), + PJ_BUILD_ERR( WSAETOOMANYREFS, "Too many references, can't splice"), + PJ_BUILD_ERR( WSAETIMEDOUT, "Connection timed out"), + PJ_BUILD_ERR( WSAECONNREFUSED, "Connection refused"), + PJ_BUILD_ERR( WSAELOOP, "Too many levels of symbolic links"), + PJ_BUILD_ERR( WSAENAMETOOLONG, "File name too long"), + PJ_BUILD_ERR( WSAEHOSTDOWN, "Host is down"), + PJ_BUILD_ERR( WSAEHOSTUNREACH, "No route to host"), + PJ_BUILD_ERR( WSAENOTEMPTY, "Directory not empty"), + PJ_BUILD_ERR( WSAEPROCLIM, "Too many processes"), + PJ_BUILD_ERR( WSAEUSERS, "Too many users"), + PJ_BUILD_ERR( WSAEDQUOT, "Disc quota exceeded"), + PJ_BUILD_ERR( WSAESTALE, "Stale NFS file handle"), + PJ_BUILD_ERR( WSAEREMOTE, "Too many levels of remote in path"), + PJ_BUILD_ERR( WSASYSNOTREADY, "Network system is unavailable"), + PJ_BUILD_ERR( WSAVERNOTSUPPORTED, "Winsock version out of range"), + PJ_BUILD_ERR( WSANOTINITIALISED, "WSAStartup not yet called"), + PJ_BUILD_ERR( WSAEDISCON, "Graceful shutdown in progress"), +/* +#define WSAENOMORE (WSABASEERR+102) +#define WSAECANCELLED (WSABASEERR+103) +#define WSAEINVALIDPROCTABLE (WSABASEERR+104) +#define WSAEINVALIDPROVIDER (WSABASEERR+105) +#define WSAEPROVIDERFAILEDINIT (WSABASEERR+106) +#define WSASYSCALLFAILURE (WSABASEERR+107) +#define WSASERVICE_NOT_FOUND (WSABASEERR+108) +#define WSATYPE_NOT_FOUND (WSABASEERR+109) +#define WSA_E_NO_MORE (WSABASEERR+110) +#define WSA_E_CANCELLED (WSABASEERR+111) +#define WSAEREFUSED (WSABASEERR+112) + */ + PJ_BUILD_ERR( WSAHOST_NOT_FOUND, "Host not found"), +/* +#define WSATRY_AGAIN (WSABASEERR+1002) +#define WSANO_RECOVERY (WSABASEERR+1003) + */ + PJ_BUILD_ERR( WSANO_DATA, "No host data of that type was found"), + {0, NULL} +}; + +#endif /* PJ_HAS_ERROR_STRING */ + + + +PJ_DEF(pj_status_t) pj_get_os_error(void) +{ + return PJ_STATUS_FROM_OS(GetLastError()); +} + +PJ_DEF(void) pj_set_os_error(pj_status_t code) +{ + SetLastError(PJ_STATUS_TO_OS(code)); +} + +PJ_DEF(pj_status_t) pj_get_netos_error(void) +{ + return PJ_STATUS_FROM_OS(WSAGetLastError()); +} + +PJ_DEF(void) pj_set_netos_error(pj_status_t code) +{ + WSASetLastError(PJ_STATUS_TO_OS(code)); +} + +/* + * platform_strerror() + * + * Platform specific error message. This file is called by pj_strerror() + * in errno.c + */ +int platform_strerror( pj_os_err_type os_errcode, + char *buf, pj_size_t bufsize) +{ + pj_size_t len = 0; + PJ_DECL_UNICODE_TEMP_BUF(wbuf,128); + + pj_assert(buf != NULL); + pj_assert(bufsize >= 0); + + /* + * MUST NOT check stack here. + * This function might be called from PJ_CHECK_STACK() itself! + //PJ_CHECK_STACK(); + */ + + if (!len) { +#if defined(PJ_HAS_ERROR_STRING) && (PJ_HAS_ERROR_STRING!=0) + int i; + for (i = 0; gaErrorList[i].msg; ++i) { + if (gaErrorList[i].code == os_errcode) { + len = strlen(gaErrorList[i].msg); + if ((pj_size_t)len >= bufsize) { + len = bufsize-1; + } + pj_memcpy(buf, gaErrorList[i].msg, len); + buf[len] = '\0'; + break; + } + } +#endif /* PJ_HAS_ERROR_STRING */ + + } + + + if (!len) { +#if PJ_NATIVE_STRING_IS_UNICODE + len = FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM + | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + os_errcode, + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + wbuf, + sizeof(wbuf), + NULL); + if (len) { + pj_unicode_to_ansi(wbuf, len, buf, bufsize); + } +#else + len = FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM + | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + os_errcode, + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + buf, + (int)bufsize, + NULL); + buf[bufsize-1] = '\0'; +#endif + + if (len) { + /* Remove trailing newlines. */ + while (len && (buf[len-1] == '\n' || buf[len-1] == '\r')) { + buf[len-1] = '\0'; + --len; + } + } + } + + if (!len) { + len = pj_ansi_snprintf( buf, bufsize, "Win32 error code %u", + (unsigned)os_errcode); + if (len < 0 || len >= (int)bufsize) + len = bufsize-1; + buf[len] = '\0'; + } + + return (int)len; +} + diff --git a/pjlib/src/pj/os_info.c b/pjlib/src/pj/os_info.c new file mode 100644 index 0000000..eb942c8 --- /dev/null +++ b/pjlib/src/pj/os_info.c @@ -0,0 +1,328 @@ +/* $Id: os_info.c 4610 2013-10-03 10:26:14Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + +/* + * FYI these links contain useful infos about predefined macros across + * platforms: + * - http://predef.sourceforge.net/preos.html + */ + +#if defined(PJ_HAS_SYS_UTSNAME_H) && PJ_HAS_SYS_UTSNAME_H != 0 +/* For uname() */ +# include +# include +# define PJ_HAS_UNAME 1 +#endif + +#if defined(PJ_HAS_LIMITS_H) && PJ_HAS_LIMITS_H != 0 +/* Include to get to get various glibc macros. + * See http://predef.sourceforge.net/prelib.html + */ +# include +#endif + +#if defined(_MSC_VER) +/* For all Windows including mobile */ +# include +#endif + +#if defined(PJ_DARWINOS) && PJ_DARWINOS != 0 +# include "TargetConditionals.h" +#endif + +#ifndef PJ_SYS_INFO_BUFFER_SIZE +# define PJ_SYS_INFO_BUFFER_SIZE 64 +#endif + + +#if defined(PJ_DARWINOS) && PJ_DARWINOS != 0 && TARGET_OS_IPHONE +# include +# include + void pj_iphone_os_get_sys_info(pj_sys_info *si, pj_str_t *si_buffer); +#endif + +#if defined(PJ_SYMBIAN) && PJ_SYMBIAN != 0 + PJ_BEGIN_DECL + unsigned pj_symbianos_get_model_info(char *buf, unsigned buf_size); + unsigned pj_symbianos_get_platform_info(char *buf, unsigned buf_size); + void pj_symbianos_get_sdk_info(pj_str_t *name, pj_uint32_t *ver); + PJ_END_DECL +#endif + + +static char *ver_info(pj_uint32_t ver, char *buf) +{ + pj_size_t len; + + if (ver == 0) { + *buf = '\0'; + return buf; + } + + sprintf(buf, "-%u.%u", + (ver & 0xFF000000) >> 24, + (ver & 0x00FF0000) >> 16); + len = strlen(buf); + + if (ver & 0xFFFF) { + sprintf(buf+len, ".%u", (ver & 0xFF00) >> 8); + len = strlen(buf); + + if (ver & 0x00FF) { + sprintf(buf+len, ".%u", (ver & 0xFF)); + } + } + + return buf; +} + +static pj_uint32_t parse_version(char *str) +{ + char *tok; + int i, maxtok; + pj_uint32_t version = 0; + + while (*str && !pj_isdigit(*str)) + str++; + + maxtok = 4; + for (tok = strtok(str, ".-"), i=0; tok && i= len+1) { \ + si.field.ptr = si_buffer + PJ_SYS_INFO_BUFFER_SIZE - left; \ + si.field.slen = len; \ + pj_memcpy(si.field.ptr, str, len+1); \ + left -= (len+1); \ + } \ + } while (0) + + /* + * Machine and OS info. + */ +#if defined(PJ_HAS_UNAME) && PJ_HAS_UNAME + #if defined(PJ_DARWINOS) && PJ_DARWINOS != 0 && TARGET_OS_IPHONE && \ + (!defined TARGET_IPHONE_SIMULATOR || TARGET_IPHONE_SIMULATOR == 0) + { + pj_str_t buf = {si_buffer + PJ_SYS_INFO_BUFFER_SIZE - left, left}; + pj_str_t machine = {"arm-", 4}; + pj_str_t sdk_name = {"iOS-SDK", 7}; + size_t size = PJ_SYS_INFO_BUFFER_SIZE - machine.slen; + char tmp[PJ_SYS_INFO_BUFFER_SIZE]; + int name[] = {CTL_HW,HW_MACHINE}; + + pj_iphone_os_get_sys_info(&si, &buf); + left -= si.os_name.slen + 1; + + si.os_ver = parse_version(si.machine.ptr); + + pj_memcpy(tmp, machine.ptr, machine.slen); + sysctl(name, 2, tmp+machine.slen, &size, NULL, 0); + ALLOC_CP_STR(tmp, machine); + si.sdk_name = sdk_name; + + #ifdef PJ_SDK_NAME + pj_memcpy(tmp, PJ_SDK_NAME, pj_ansi_strlen(PJ_SDK_NAME) + 1); + si.sdk_ver = parse_version(tmp); + #endif + } + #else + { + struct utsname u; + + /* Successful uname() returns zero on Linux and positive value + * on OpenSolaris. + */ + if (uname(&u) == -1) + goto get_sdk_info; + + ALLOC_CP_STR(u.machine, machine); + ALLOC_CP_STR(u.sysname, os_name); + + si.os_ver = parse_version(u.release); + } + #endif +#elif defined(_MSC_VER) + { + OSVERSIONINFO ovi; + + ovi.dwOSVersionInfoSize = sizeof(ovi); + + if (GetVersionEx(&ovi) == FALSE) + goto get_sdk_info; + + si.os_ver = (ovi.dwMajorVersion << 24) | + (ovi.dwMinorVersion << 16); + #if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE + si.os_name = pj_str("wince"); + #else + si.os_name = pj_str("win32"); + #endif + } + + { + SYSTEM_INFO wsi; + + GetSystemInfo(&wsi); + switch (wsi.wProcessorArchitecture) { + #if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE + case PROCESSOR_ARCHITECTURE_ARM: + si.machine = pj_str("arm"); + break; + case PROCESSOR_ARCHITECTURE_SHX: + si.machine = pj_str("shx"); + break; + #else + case PROCESSOR_ARCHITECTURE_AMD64: + si.machine = pj_str("x86_64"); + break; + case PROCESSOR_ARCHITECTURE_IA64: + si.machine = pj_str("ia64"); + break; + case PROCESSOR_ARCHITECTURE_INTEL: + si.machine = pj_str("i386"); + break; + #endif /* PJ_WIN32_WINCE */ + } + } +#elif defined(PJ_SYMBIAN) && PJ_SYMBIAN != 0 + { + pj_symbianos_get_model_info(si_buffer, sizeof(si_buffer)); + ALLOC_CP_STR(si_buffer, machine); + + char *p = si_buffer + sizeof(si_buffer) - left; + unsigned plen; + plen = pj_symbianos_get_platform_info(p, left); + if (plen) { + /* Output format will be "Series60vX.X" */ + si.os_name = pj_str("S60"); + si.os_ver = parse_version(p+9); + } else { + si.os_name = pj_str("Unknown"); + } + + /* Avoid compile warning on Symbian. */ + goto get_sdk_info; + } +#endif + + /* + * SDK info. + */ +get_sdk_info: + +#if defined(__GLIBC__) + si.sdk_ver = (__GLIBC__ << 24) | + (__GLIBC_MINOR__ << 16); + si.sdk_name = pj_str("glibc"); +#elif defined(__GNU_LIBRARY__) + si.sdk_ver = (__GNU_LIBRARY__ << 24) | + (__GNU_LIBRARY_MINOR__ << 16); + si.sdk_name = pj_str("libc"); +#elif defined(__UCLIBC__) + si.sdk_ver = (__UCLIBC_MAJOR__ << 24) | + (__UCLIBC_MINOR__ << 16); + si.sdk_name = pj_str("uclibc"); +#elif defined(_WIN32_WCE) && _WIN32_WCE + /* Old window mobile declares _WIN32_WCE as decimal (e.g. 300, 420, etc.), + * but then it was changed to use hex, e.g. 0x420, etc. See + * http://social.msdn.microsoft.com/forums/en-US/vssmartdevicesnative/thread/8a97c59f-5a1c-4bc6-99e6-427f065ff439/ + */ + #if _WIN32_WCE <= 500 + si.sdk_ver = ( (_WIN32_WCE / 100) << 24) | + ( ((_WIN32_WCE % 100) / 10) << 16) | + ( (_WIN32_WCE % 10) << 8); + #else + si.sdk_ver = ( ((_WIN32_WCE & 0xFF00) >> 8) << 24) | + ( ((_WIN32_WCE & 0x00F0) >> 4) << 16) | + ( ((_WIN32_WCE & 0x000F) >> 0) << 8); + #endif + si.sdk_name = pj_str("cesdk"); +#elif defined(_MSC_VER) + /* No SDK info is easily obtainable for Visual C, so lets just use + * _MSC_VER. The _MSC_VER macro reports the major and minor versions + * of the compiler. For example, 1310 for Microsoft Visual C++ .NET 2003. + * 1310 represents version 13 and a 1.0 point release. + * The Visual C++ 2005 compiler version is 1400. + */ + si.sdk_ver = ((_MSC_VER / 100) << 24) | + (((_MSC_VER % 100) / 10) << 16) | + ((_MSC_VER % 10) << 8); + si.sdk_name = pj_str("msvc"); +#elif defined(PJ_SYMBIAN) && PJ_SYMBIAN != 0 + pj_symbianos_get_sdk_info(&si.sdk_name, &si.sdk_ver); +#endif + + /* + * Build the info string. + */ + { + char tmp[PJ_SYS_INFO_BUFFER_SIZE]; + char os_ver[20], sdk_ver[20]; + int cnt; + + cnt = pj_ansi_snprintf(tmp, sizeof(tmp), + "%s%s%s%s%s%s%s", + si.os_name.ptr, + ver_info(si.os_ver, os_ver), + (si.machine.slen ? "/" : ""), + si.machine.ptr, + (si.sdk_name.slen ? "/" : ""), + si.sdk_name.ptr, + ver_info(si.sdk_ver, sdk_ver)); + if (cnt > 0 && cnt < (int)sizeof(tmp)) { + ALLOC_CP_STR(tmp, info); + } + } + + si_initialized = PJ_TRUE; + return &si; +} diff --git a/pjlib/src/pj/os_info_iphone.m b/pjlib/src/pj/os_info_iphone.m new file mode 100644 index 0000000..b7315c1 --- /dev/null +++ b/pjlib/src/pj/os_info_iphone.m @@ -0,0 +1,53 @@ +/* $Id: os_info_iphone.m 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "TargetConditionals.h" + +#if !defined TARGET_IPHONE_SIMULATOR || TARGET_IPHONE_SIMULATOR == 0 + +#include +#include + +#include + +void pj_iphone_os_get_sys_info(pj_sys_info *si, pj_str_t *si_buffer) +{ + unsigned buf_len = si_buffer->slen, left = si_buffer->slen, len; + UIDevice *device = [UIDevice currentDevice]; + + if ([device respondsToSelector:@selector(isMultitaskingSupported)]) + si->flags |= PJ_SYS_HAS_IOS_BG; + +#define ALLOC_CP_STR(str,field) \ + do { \ + len = [str length]; \ + if (len && left >= len+1) { \ + si->field.ptr = si_buffer->ptr + buf_len - left; \ + si->field.slen = len; \ + [str getCString:si->field.ptr maxLength:len+1 \ + encoding:NSASCIIStringEncoding]; \ + left -= (len+1); \ + } \ + } while (0) + + ALLOC_CP_STR([device systemName], os_name); + ALLOC_CP_STR([device systemVersion], machine); +} + +#endif diff --git a/pjlib/src/pj/os_info_symbian.cpp b/pjlib/src/pj/os_info_symbian.cpp new file mode 100644 index 0000000..9389f04 --- /dev/null +++ b/pjlib/src/pj/os_info_symbian.cpp @@ -0,0 +1,190 @@ +/* $Id: os_info_symbian.cpp 3437 2011-03-08 06:30:34Z nanang $ */ +/* + * Copyright (C) 2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#if !defined(PJ_SYMBIAN) || PJ_SYMBIAN == 0 +# error This file is only for Symbian platform +#endif + +#include +#include + +#include /* link against efsrv.lib */ +#include /* link against hal.lib */ +#include /* link against charconv.lib */ + + +PJ_BEGIN_DECL +unsigned pj_symbianos_get_model_info(char *buf, unsigned buf_size); +unsigned pj_symbianos_get_platform_info(char *buf, unsigned buf_size); +void pj_symbianos_get_sdk_info(pj_str_t *name, pj_uint32_t *ver); +PJ_END_DECL + + +/* Get Symbian phone model info, returning length of model info */ +unsigned pj_symbianos_get_model_info(char *buf, unsigned buf_size) +{ + pj_str_t model_name; + + /* Get machine UID */ + TInt hal_val; + HAL::Get(HAL::EMachineUid, hal_val); + pj_ansi_snprintf(buf, buf_size, "0x%08X", hal_val); + pj_strset2(&model_name, buf); + + /* Get model name */ + const pj_str_t st_copyright = {"(C)", 3}; + const pj_str_t st_nokia = {"Nokia", 5}; + char tmp_buf[64]; + pj_str_t tmp_str; + + _LIT(KModelFilename,"Z:\\resource\\versions\\model.txt"); + RFile file; + RFs fs; + TInt err; + + fs.Connect(1); + err = file.Open(fs, KModelFilename, EFileRead); + if (err == KErrNone) { + TFileText text; + text.Set(file); + TBuf16<64> ModelName16; + err = text.Read(ModelName16); + if (err == KErrNone) { + TPtr8 ptr8((TUint8*)tmp_buf, sizeof(tmp_buf)); + ptr8.Copy(ModelName16); + pj_strset(&tmp_str, tmp_buf, ptr8.Length()); + pj_strtrim(&tmp_str); + } + file.Close(); + } + fs.Close(); + if (err != KErrNone) + goto on_return; + + /* The retrieved model name is usually in long format, e.g: + * "© Nokia N95 (01.01)", "(C) Nokia E52". As we need only + * the short version, let's clean it up. + */ + + /* Remove preceding non-ASCII chars, e.g: "©" */ + char *p = tmp_str.ptr; + while (!pj_isascii(*p)) { p++; } + pj_strset(&tmp_str, p, tmp_str.slen - (p - tmp_str.ptr)); + + /* Remove "(C)" */ + p = pj_stristr(&tmp_str, &st_copyright); + if (p) { + p += st_copyright.slen; + pj_strset(&tmp_str, p, tmp_str.slen - (p - tmp_str.ptr)); + } + + /* Remove "Nokia" */ + p = pj_stristr(&tmp_str, &st_nokia); + if (p) { + p += st_nokia.slen; + pj_strset(&tmp_str, p, tmp_str.slen - (p - tmp_str.ptr)); + } + + /* Remove language version, e.g: "(01.01)" */ + p = pj_strchr(&tmp_str, '('); + if (p) { + tmp_str.slen = p - tmp_str.ptr; + } + + pj_strtrim(&tmp_str); + + if (tmp_str.slen == 0) + goto on_return; + + if ((unsigned)tmp_str.slen > buf_size - model_name.slen - 3) + tmp_str.slen = buf_size - model_name.slen - 3; + + pj_strcat2(&model_name, "("); + pj_strcat(&model_name, &tmp_str); + pj_strcat2(&model_name, ")"); + + /* Zero terminate */ + buf[model_name.slen] = '\0'; + +on_return: + return model_name.slen; +} + + +/* Get platform info, returned format will be "Series60vX.X" */ +unsigned pj_symbianos_get_platform_info(char *buf, unsigned buf_size) +{ + /* OS info */ + _LIT(KS60ProductIDFile, "Series60v*.sis"); + _LIT(KROMInstallDir, "z:\\system\\install\\"); + + RFs fs; + TFindFile ff(fs); + CDir* result; + pj_str_t plat_info = {NULL, 0}; + TInt err; + + fs.Connect(1); + err = ff.FindWildByDir(KS60ProductIDFile, KROMInstallDir, result); + if (err == KErrNone) { + err = result->Sort(ESortByName|EDescending); + if (err == KErrNone) { + TPtr8 tmp_ptr8((TUint8*)buf, buf_size); + const pj_str_t tmp_ext = {".sis", 4}; + char *p; + + tmp_ptr8.Copy((*result)[0].iName); + pj_strset(&plat_info, buf, (pj_size_t)tmp_ptr8.Length()); + p = pj_stristr(&plat_info, &tmp_ext); + if (p) + plat_info.slen -= (p - plat_info.ptr); + } + delete result; + } + fs.Close(); + buf[plat_info.slen] = '\0'; + + return plat_info.slen; +} + + +/* Get SDK info */ +void pj_symbianos_get_sdk_info(pj_str_t *name, pj_uint32_t *ver) +{ + const pj_str_t S60 = {"S60", 3}; + #if defined(__SERIES60_30__) + *name = S60; + *ver = (3 << 24); + #elif defined(__SERIES60_31__) + *name = S60; + *ver = (3 << 24) | (1 << 16); + #elif defined(__S60_32__) + *name = S60; + *ver = (3 << 24) | (2 << 16); + #elif defined(__S60_50__) + *name = S60; + *ver = (5 << 24); + #elif defined(__NOKIA_N97__) + *name = pj_str("N97"); + *ver = (1 << 24); + #else + *name = pj_str("Unknown"); + *ver = 0; + #endif +} + diff --git a/pjlib/src/pj/os_rwmutex.c b/pjlib/src/pj/os_rwmutex.c new file mode 100644 index 0000000..d392353 --- /dev/null +++ b/pjlib/src/pj/os_rwmutex.c @@ -0,0 +1,163 @@ +/* $Id: os_rwmutex.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * Note: + * + * DO NOT BUILD THIS FILE DIRECTLY. THIS FILE WILL BE INCLUDED BY os_core_*.c + * WHEN MACRO PJ_EMULATE_RWMUTEX IS SET. + */ + +/* + * os_rwmutex.c: + * + * Implementation of Read-Write mutex for platforms that lack it (e.g. + * Win32, RTEMS). + */ + + +struct pj_rwmutex_t +{ + pj_mutex_t *read_lock; + /* write_lock must use semaphore, because write_lock may be released + * by thread other than the thread that acquire the write_lock in the + * first place. + */ + pj_sem_t *write_lock; + pj_int32_t reader_count; +}; + +/* + * Create reader/writer mutex. + * + */ +PJ_DEF(pj_status_t) pj_rwmutex_create(pj_pool_t *pool, const char *name, + pj_rwmutex_t **p_mutex) +{ + pj_status_t status; + pj_rwmutex_t *rwmutex; + + PJ_ASSERT_RETURN(pool && p_mutex, PJ_EINVAL); + + *p_mutex = NULL; + rwmutex = PJ_POOL_ALLOC_T(pool, pj_rwmutex_t); + + status = pj_mutex_create_simple(pool, name, &rwmutex ->read_lock); + if (status != PJ_SUCCESS) + return status; + + status = pj_sem_create(pool, name, 1, 1, &rwmutex->write_lock); + if (status != PJ_SUCCESS) { + pj_mutex_destroy(rwmutex->read_lock); + return status; + } + + rwmutex->reader_count = 0; + *p_mutex = rwmutex; + return PJ_SUCCESS; +} + +/* + * Lock the mutex for reading. + * + */ +PJ_DEF(pj_status_t) pj_rwmutex_lock_read(pj_rwmutex_t *mutex) +{ + pj_status_t status; + + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + + status = pj_mutex_lock(mutex->read_lock); + if (status != PJ_SUCCESS) { + pj_assert(!"This pretty much is unexpected"); + return status; + } + + mutex->reader_count++; + + pj_assert(mutex->reader_count < 0x7FFFFFF0L); + + if (mutex->reader_count == 1) + pj_sem_wait(mutex->write_lock); + + status = pj_mutex_unlock(mutex->read_lock); + return status; +} + +/* + * Lock the mutex for writing. + * + */ +PJ_DEF(pj_status_t) pj_rwmutex_lock_write(pj_rwmutex_t *mutex) +{ + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + return pj_sem_wait(mutex->write_lock); +} + +/* + * Release read lock. + * + */ +PJ_DEF(pj_status_t) pj_rwmutex_unlock_read(pj_rwmutex_t *mutex) +{ + pj_status_t status; + + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + + status = pj_mutex_lock(mutex->read_lock); + if (status != PJ_SUCCESS) { + pj_assert(!"This pretty much is unexpected"); + return status; + } + + pj_assert(mutex->reader_count >= 1); + + --mutex->reader_count; + if (mutex->reader_count == 0) + pj_sem_post(mutex->write_lock); + + status = pj_mutex_unlock(mutex->read_lock); + return status; +} + +/* + * Release write lock. + * + */ +PJ_DEF(pj_status_t) pj_rwmutex_unlock_write(pj_rwmutex_t *mutex) +{ + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + pj_assert(mutex->reader_count <= 1); + return pj_sem_post(mutex->write_lock); +} + + +/* + * Destroy reader/writer mutex. + * + */ +PJ_DEF(pj_status_t) pj_rwmutex_destroy(pj_rwmutex_t *mutex) +{ + PJ_ASSERT_RETURN(mutex, PJ_EINVAL); + pj_mutex_destroy(mutex->read_lock); + pj_sem_destroy(mutex->write_lock); + return PJ_SUCCESS; +} + diff --git a/pjlib/src/pj/os_symbian.h b/pjlib/src/pj/os_symbian.h new file mode 100644 index 0000000..9b3511b --- /dev/null +++ b/pjlib/src/pj/os_symbian.h @@ -0,0 +1,422 @@ +/* $Id: os_symbian.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __OS_SYMBIAN_H__ +#define __OS_SYMBIAN_H__ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +// Forward declarations +class CPjSocketReader; + +#ifndef PJ_SYMBIAN_TIMER_PRIORITY +# define PJ_SYMBIAN_TIMER_PRIORITY EPriorityNormal +#endif + +// +// PJLIB Symbian's Socket +// +class CPjSocket +{ +public: + enum + { + MAX_LEN = 1500, + }; + + // Construct CPjSocket + CPjSocket(int af, int sock_type, RSocket &sock) + : af_(af), sock_(sock), sock_type_(sock_type), connected_(false), + sockReader_(NULL) + { + } + + // Destroy CPjSocket + ~CPjSocket(); + + // Get address family + int GetAf() const + { + return af_; + } + + // Get the internal RSocket + RSocket& Socket() + { + return sock_; + } + + // Get socket connected flag. + bool IsConnected() const + { + return connected_; + } + + // Set socket connected flag. + void SetConnected(bool connected) + { + connected_ = connected; + } + + // Get socket type + int GetSockType() const + { + return sock_type_; + } + + // Returns true if socket is a datagram + bool IsDatagram() const + { + return sock_type_ == KSockDatagram; + } + + // Get socket reader, if any. + // May return NULL. + CPjSocketReader *Reader() + { + return sockReader_; + } + + // Create socket reader. + CPjSocketReader *CreateReader(unsigned max_len=CPjSocket::MAX_LEN); + + // Delete socket reader when it's not wanted. + void DestroyReader(); + +private: + int af_; + RSocket sock_; // Must not be reference, or otherwise + // it may point to local variable! + unsigned sock_type_; + + bool connected_; + CPjSocketReader *sockReader_; +}; + + +// +// Socket reader, used by select() and ioqueue abstraction +// +class CPjSocketReader : public CActive +{ +public: + // Construct. + static CPjSocketReader *NewL(CPjSocket &sock, unsigned max_len=CPjSocket::MAX_LEN); + + // Destroy; + ~CPjSocketReader(); + + // Start asynchronous read from the socket. + void StartRecv(void (*cb)(void *key)=NULL, + void *key=NULL, + TDes8 *aDesc = NULL, + TUint flags = 0); + + // Start asynchronous read from the socket. + void StartRecvFrom(void (*cb)(void *key)=NULL, + void *key=NULL, + TDes8 *aDesc = NULL, + TUint flags = 0, + TSockAddr *fromAddr = NULL); + + // Cancel asynchronous read. + void DoCancel(); + + // Implementation: called when read has completed. + void RunL(); + + // Check if there's pending data. + bool HasData() const + { + return buffer_.Length() != 0; + } + + // Append data to aDesc, up to aDesc's maximum size. + // If socket is datagram based, buffer_ will be clared. + void ReadData(TDes8 &aDesc, TInetAddr *addr=NULL); + +private: + CPjSocket &sock_; + bool isDatagram_; + TPtr8 buffer_; + TInetAddr recvAddr_; + + void (*readCb_)(void *key); + void *key_; + + // + // Constructor + // + CPjSocketReader(CPjSocket &sock); + void ConstructL(unsigned max_len); +}; + + + +// +// Time-out Timer Active Object +// +class CPjTimeoutTimer : public CActive +{ +public: + static CPjTimeoutTimer *NewL(); + ~CPjTimeoutTimer(); + + void StartTimer(TUint miliSeconds); + bool HasTimedOut() const; + +protected: + virtual void RunL(); + virtual void DoCancel(); + virtual TInt RunError(TInt aError); + +private: + RTimer timer_; + pj_bool_t hasTimedOut_; + + CPjTimeoutTimer(); + void ConstructL(); +}; + + + +// +// Symbian OS helper for PJLIB +// +class PjSymbianOS +{ +public: + // + // Get the singleton instance of PjSymbianOS + // + static PjSymbianOS *Instance(); + + // + // Set parameters + // + void SetParameters(pj_symbianos_params *params); + + // + // Initialize. + // + TInt Initialize(); + + // + // Shutdown. + // + void Shutdown(); + + + // + // Socket helper. + // + + // Get RSocketServ instance to be used by all sockets. + RSocketServ &SocketServ() + { + return appSocketServ_ ? *appSocketServ_ : socketServ_; + } + + // Get RConnection instance, if any. + RConnection *Connection() + { + return appConnection_; + } + + // Convert TInetAddr to pj_sockaddr_in + static inline pj_status_t Addr2pj(const TInetAddr & sym_addr, + pj_sockaddr &pj_addr, + int *addr_len, + pj_bool_t convert_ipv4_mapped_addr = PJ_FALSE) + { + TUint fam = sym_addr.Family(); + pj_bzero(&pj_addr, *addr_len); + if (fam == PJ_AF_INET || + (convert_ipv4_mapped_addr && + fam == PJ_AF_INET6 && + sym_addr.IsV4Mapped())) + { + pj_addr.addr.sa_family = PJ_AF_INET; + PJ_ASSERT_RETURN(*addr_len>=(int)sizeof(pj_sockaddr_in), PJ_ETOOSMALL); + pj_addr.ipv4.sin_addr.s_addr = pj_htonl(sym_addr.Address()); + pj_addr.ipv4.sin_port = pj_htons((pj_uint16_t) sym_addr.Port()); + *addr_len = sizeof(pj_sockaddr_in); + } else if (fam == PJ_AF_INET6) { + PJ_ASSERT_RETURN(*addr_len>=(int)sizeof(pj_sockaddr_in6), PJ_ETOOSMALL); + const TIp6Addr & ip6 = sym_addr.Ip6Address(); + pj_addr.addr.sa_family = PJ_AF_INET6; + pj_memcpy(&pj_addr.ipv6.sin6_addr, ip6.u.iAddr8, 16); + pj_addr.ipv6.sin6_port = pj_htons((pj_uint16_t) sym_addr.Port()); + pj_addr.ipv6.sin6_scope_id = pj_htonl(sym_addr.Scope()); + pj_addr.ipv6.sin6_flowinfo = pj_htonl(sym_addr.FlowLabel()); + *addr_len = sizeof(pj_sockaddr_in6); + } else { + pj_assert(!"Unsupported address family"); + return PJ_EAFNOTSUP; + } + + return PJ_SUCCESS; + } + + + // Convert pj_sockaddr_in to TInetAddr + static inline pj_status_t pj2Addr(const pj_sockaddr &pj_addr, + int addrlen, + TInetAddr & sym_addr) + { + if (pj_addr.addr.sa_family == PJ_AF_INET) { + PJ_ASSERT_RETURN(addrlen >= (int)sizeof(pj_sockaddr_in), PJ_EINVAL); + sym_addr.Init(KAfInet); + sym_addr.SetAddress((TUint32)pj_ntohl(pj_addr.ipv4.sin_addr.s_addr)); + sym_addr.SetPort(pj_ntohs(pj_addr.ipv4.sin_port)); + } else if (pj_addr.addr.sa_family == PJ_AF_INET6) { + TIp6Addr ip6; + + PJ_ASSERT_RETURN(addrlen>=(int)sizeof(pj_sockaddr_in6), PJ_EINVAL); + pj_memcpy(ip6.u.iAddr8, &pj_addr.ipv6.sin6_addr, 16); + sym_addr.Init(KAfInet6); + sym_addr.SetAddress(ip6); + sym_addr.SetScope(pj_ntohl(pj_addr.ipv6.sin6_scope_id)); + sym_addr.SetFlowLabel(pj_ntohl(pj_addr.ipv6.sin6_flowinfo)); + } else { + pj_assert(!"Unsupported address family"); + } + return PJ_SUCCESS; + } + + + // + // Resolver helper + // + + // Get RHostResolver instance + RHostResolver & GetResolver(int af) + { + if (af==PJ_AF_INET6) { + return appHostResolver6_ ? *appHostResolver6_ : hostResolver6_; + } else { + return appHostResolver_ ? *appHostResolver_ : hostResolver_; + } + } + + // + // Return true if the access point connection is up + // + bool IsConnectionUp() const + { + return isConnectionUp_; + } + + // + // Set access point connection status + // + void SetConnectionStatus(bool up) + { + isConnectionUp_ = up; + } + + // + // Unicode Converter + // + + // Convert to Unicode + TInt ConvertToUnicode(TDes16 &aUnicode, const TDesC8 &aForeign); + + // Convert from Unicode + TInt ConvertFromUnicode(TDes8 &aForeign, const TDesC16 &aUnicode); + + // + // Get console + // + + // Get console + CConsoleBase *Console() + { + return console_; + } + + // + // Get select() timeout timer. + // + CPjTimeoutTimer *SelectTimeoutTimer() + { + return selectTimeoutTimer_; + } + + // + // Wait for any active objects to run. + // + void WaitForActiveObjects(TInt aPriority = CActive::EPriorityStandard) + { + TInt aError; + CActiveScheduler::Current()->WaitForAnyRequest(); + CActiveScheduler::RunIfReady(aError, aPriority); + } + +private: + bool isConnectionUp_; + + bool isSocketServInitialized_; + RSocketServ socketServ_; + + bool isResolverInitialized_; + RHostResolver hostResolver_; + RHostResolver hostResolver6_; + + CConsoleBase* console_; + + CPjTimeoutTimer *selectTimeoutTimer_; + + // App parameters + RSocketServ *appSocketServ_; + RConnection *appConnection_; + RHostResolver *appHostResolver_; + RHostResolver *appHostResolver6_; + +private: + PjSymbianOS(); +}; + +// This macro is used to check the access point connection status and return +// failure if the AP connection is down or unusable. See the documentation +// of pj_symbianos_set_connection_status() for more info +#define PJ_SYMBIAN_CHECK_CONNECTION() \ + PJ_SYMBIAN_CHECK_CONNECTION2(PJ_ECANCELLED) + +#define PJ_SYMBIAN_CHECK_CONNECTION2(retval) \ + do { \ + if (!PjSymbianOS::Instance()->IsConnectionUp()) \ + return retval; \ + } while (0); + +#endif /* __OS_SYMBIAN_H__ */ + diff --git a/pjlib/src/pj/os_time_bsd.c b/pjlib/src/pj/os_time_bsd.c new file mode 100644 index 0000000..5240c9e --- /dev/null +++ b/pjlib/src/pj/os_time_bsd.c @@ -0,0 +1,36 @@ +/* $Id: os_time_bsd.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include + +/////////////////////////////////////////////////////////////////////////////// + +PJ_DEF(pj_status_t) pj_gettimeofday(pj_time_val *tv) +{ + struct timeb tb; + + PJ_CHECK_STACK(); + + ftime(&tb); + tv->sec = tb.time; + tv->msec = tb.millitm; + return PJ_SUCCESS; +} + diff --git a/pjlib/src/pj/os_time_common.c b/pjlib/src/pj/os_time_common.c new file mode 100644 index 0000000..ffe2cae --- /dev/null +++ b/pjlib/src/pj/os_time_common.c @@ -0,0 +1,91 @@ +/* $Id: os_time_common.c 4784 2014-03-10 08:58:49Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + + +/////////////////////////////////////////////////////////////////////////////// + +#if !defined(PJ_WIN32) || PJ_WIN32==0 + +PJ_DEF(pj_status_t) pj_time_decode(const pj_time_val *tv, pj_parsed_time *pt) +{ + struct tm *local_time; + + PJ_CHECK_STACK(); + + local_time = localtime((time_t*)&tv->sec); + + pt->year = local_time->tm_year+1900; + pt->mon = local_time->tm_mon; + pt->day = local_time->tm_mday; + pt->hour = local_time->tm_hour; + pt->min = local_time->tm_min; + pt->sec = local_time->tm_sec; + pt->wday = local_time->tm_wday; + pt->msec = tv->msec; + + return PJ_SUCCESS; +} + +/** + * Encode parsed time to time value. + */ +PJ_DEF(pj_status_t) pj_time_encode(const pj_parsed_time *pt, pj_time_val *tv) +{ + struct tm local_time; + + local_time.tm_year = pt->year-1900; + local_time.tm_mon = pt->mon; + local_time.tm_mday = pt->day; + local_time.tm_hour = pt->hour; + local_time.tm_min = pt->min; + local_time.tm_sec = pt->sec; + local_time.tm_isdst = 0; + + tv->sec = mktime(&local_time); + tv->msec = pt->msec; + + return PJ_SUCCESS; +} + +#endif /* !PJ_WIN32 */ + + +/** + * Convert local time to GMT. + */ +PJ_DEF(pj_status_t) pj_time_local_to_gmt(pj_time_val *tv) +{ + PJ_UNUSED_ARG(tv); + return PJ_EBUG; +} + +/** + * Convert GMT to local time. + */ +PJ_DEF(pj_status_t) pj_time_gmt_to_local(pj_time_val *tv) +{ + PJ_UNUSED_ARG(tv); + return PJ_EBUG; +} + + diff --git a/pjlib/src/pj/os_time_linux_kernel.c b/pjlib/src/pj/os_time_linux_kernel.c new file mode 100644 index 0000000..4c772a0 --- /dev/null +++ b/pjlib/src/pj/os_time_linux_kernel.c @@ -0,0 +1,66 @@ +/* $Id: os_time_linux_kernel.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include + +/////////////////////////////////////////////////////////////////////////////// + +PJ_DEF(pj_status_t) pj_gettimeofday(pj_time_val *tv) +{ + struct timeval tval; + + do_gettimeofday(&tval); + tv->sec = tval.tv_sec; + tv->msec = tval.tv_usec / 1000; + + return 0; +} + +PJ_DEF(pj_status_t) pj_time_decode(const pj_time_val *tv, pj_parsed_time *pt) +{ + pt->year = 2005; + pt->mon = 8; + pt->day = 20; + pt->hour = 16; + pt->min = 30; + pt->sec = 30; + pt->wday = 3; + pt->yday = 200; + pt->msec = 777; + + return -1; +} + +/** + * Encode parsed time to time value. + */ +PJ_DEF(pj_status_t) pj_time_encode(const pj_parsed_time *pt, pj_time_val *tv); + +/** + * Convert local time to GMT. + */ +PJ_DEF(pj_status_t) pj_time_local_to_gmt(pj_time_val *tv); + +/** + * Convert GMT to local time. + */ +PJ_DEF(pj_status_t) pj_time_gmt_to_local(pj_time_val *tv); + + diff --git a/pjlib/src/pj/os_time_unix.c b/pjlib/src/pj/os_time_unix.c new file mode 100644 index 0000000..4f3139b --- /dev/null +++ b/pjlib/src/pj/os_time_unix.c @@ -0,0 +1,47 @@ +/* $Id: os_time_unix.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + +#if defined(PJ_HAS_UNISTD_H) && PJ_HAS_UNISTD_H!=0 +# include +#endif + +#include + +/////////////////////////////////////////////////////////////////////////////// + +PJ_DEF(pj_status_t) pj_gettimeofday(pj_time_val *p_tv) +{ + struct timeval the_time; + int rc; + + PJ_CHECK_STACK(); + + rc = gettimeofday(&the_time, NULL); + if (rc != 0) + return PJ_RETURN_OS_ERROR(pj_get_native_os_error()); + + p_tv->sec = the_time.tv_sec; + p_tv->msec = the_time.tv_usec / 1000; + return PJ_SUCCESS; +} + diff --git a/pjlib/src/pj/os_time_win32.c b/pjlib/src/pj/os_time_win32.c new file mode 100644 index 0000000..2143e2e --- /dev/null +++ b/pjlib/src/pj/os_time_win32.c @@ -0,0 +1,303 @@ +/* $Id: os_time_win32.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////////// + +#define SECS_TO_FT_MULT 10000000 + +static LARGE_INTEGER base_time; + +#if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE +# define WINCE_TIME +#endif + +#ifdef WINCE_TIME +/* Note: + * In Windows CE/Windows Mobile platforms, the availability of milliseconds + * time resolution in SYSTEMTIME.wMilliseconds depends on the OEM, and most + * likely it won't be available. When it's not available, the + * SYSTEMTIME.wMilliseconds will contain a constant arbitrary value. + * + * Because of that, we need to emulate the milliseconds time resolution + * using QueryPerformanceCounter() (via pj_get_timestamp() API). However + * there is limitation on using this, i.e. the time returned by + * pj_gettimeofday() may be off by up to plus/minus 999 msec (the second + * part will be correct, however the msec part may be off), because we're + * not synchronizing the msec field with the change of value of the "second" + * field of the system time. + * + * Also there is other caveat which need to be handled (and they are + * handled by this implementation): + * - user may change system time, so pj_gettimeofday() needs to periodically + * checks if system time has changed. The period on which system time is + * checked is controlled by PJ_WINCE_TIME_CHECK_INTERVAL macro. + */ +static LARGE_INTEGER g_start_time; /* Time gettimeofday() is first called */ +static pj_timestamp g_start_tick; /* TS gettimeofday() is first called */ +static pj_timestamp g_last_update; /* Last time check_system_time() is + called, to periodically synchronize + with up-to-date system time (in case + user changes system time). */ +static pj_uint64_t g_update_period; /* Period (in TS) check_system_time() + should be called. */ + +/* Period on which check_system_time() is called, in seconds */ +#ifndef PJ_WINCE_TIME_CHECK_INTERVAL +# define PJ_WINCE_TIME_CHECK_INTERVAL (10) +#endif + +#endif + +#ifdef WINCE_TIME +static pj_status_t init_start_time(void) +{ + SYSTEMTIME st; + FILETIME ft; + pj_timestamp freq; + pj_status_t status; + + GetLocalTime(&st); + SystemTimeToFileTime(&st, &ft); + + g_start_time.LowPart = ft.dwLowDateTime; + g_start_time.HighPart = ft.dwHighDateTime; + g_start_time.QuadPart /= SECS_TO_FT_MULT; + g_start_time.QuadPart -= base_time.QuadPart; + + status = pj_get_timestamp(&g_start_tick); + if (status != PJ_SUCCESS) + return status; + + g_last_update.u64 = g_start_tick.u64; + + status = pj_get_timestamp_freq(&freq); + if (status != PJ_SUCCESS) + return status; + + g_update_period = PJ_WINCE_TIME_CHECK_INTERVAL * freq.u64; + + PJ_LOG(4,("os_time_win32.c", "WinCE time (re)started")); + + return PJ_SUCCESS; +} + +static pj_status_t check_system_time(pj_uint64_t ts_elapsed) +{ + enum { MIS = 5 }; + SYSTEMTIME st; + FILETIME ft; + LARGE_INTEGER cur, calc; + DWORD diff; + pj_timestamp freq; + pj_status_t status; + + /* Get system's current time */ + GetLocalTime(&st); + SystemTimeToFileTime(&st, &ft); + + cur.LowPart = ft.dwLowDateTime; + cur.HighPart = ft.dwHighDateTime; + cur.QuadPart /= SECS_TO_FT_MULT; + cur.QuadPart -= base_time.QuadPart; + + /* Get our calculated system time */ + status = pj_get_timestamp_freq(&freq); + if (status != PJ_SUCCESS) + return status; + + calc.QuadPart = g_start_time.QuadPart + ts_elapsed / freq.u64; + + /* See the difference between calculated and actual system time */ + if (calc.QuadPart >= cur.QuadPart) { + diff = (DWORD)(calc.QuadPart - cur.QuadPart); + } else { + diff = (DWORD)(cur.QuadPart - calc.QuadPart); + } + + if (diff > MIS) { + /* System time has changed */ + PJ_LOG(3,("os_time_win32.c", "WinCE system time changed detected " + "(diff=%u)", diff)); + status = init_start_time(); + } else { + status = PJ_SUCCESS; + } + + return status; +} + +#endif + +// Find 1st Jan 1970 as a FILETIME +static pj_status_t get_base_time(void) +{ + SYSTEMTIME st; + FILETIME ft; + pj_status_t status = PJ_SUCCESS; + + memset(&st,0,sizeof(st)); + st.wYear=1970; + st.wMonth=1; + st.wDay=1; + SystemTimeToFileTime(&st, &ft); + + base_time.LowPart = ft.dwLowDateTime; + base_time.HighPart = ft.dwHighDateTime; + base_time.QuadPart /= SECS_TO_FT_MULT; + +#ifdef WINCE_TIME + pj_enter_critical_section(); + status = init_start_time(); + pj_leave_critical_section(); +#endif + + return status; +} + +PJ_DEF(pj_status_t) pj_gettimeofday(pj_time_val *tv) +{ +#ifdef WINCE_TIME + pj_timestamp tick; + pj_uint64_t msec_elapsed; +#else + SYSTEMTIME st; + FILETIME ft; + LARGE_INTEGER li; +#endif + pj_status_t status; + + if (base_time.QuadPart == 0) { + status = get_base_time(); + if (status != PJ_SUCCESS) + return status; + } + +#ifdef WINCE_TIME + do { + status = pj_get_timestamp(&tick); + if (status != PJ_SUCCESS) + return status; + + if (tick.u64 - g_last_update.u64 >= g_update_period) { + pj_enter_critical_section(); + if (tick.u64 - g_last_update.u64 >= g_update_period) { + g_last_update.u64 = tick.u64; + check_system_time(tick.u64 - g_start_tick.u64); + } + pj_leave_critical_section(); + } else { + break; + } + } while (1); + + msec_elapsed = pj_elapsed_msec64(&g_start_tick, &tick); + + tv->sec = (long)(g_start_time.QuadPart + msec_elapsed/1000); + tv->msec = (long)(msec_elapsed % 1000); +#else + /* Standard Win32 GetLocalTime */ + GetLocalTime(&st); + SystemTimeToFileTime(&st, &ft); + + li.LowPart = ft.dwLowDateTime; + li.HighPart = ft.dwHighDateTime; + li.QuadPart /= SECS_TO_FT_MULT; + li.QuadPart -= base_time.QuadPart; + + tv->sec = li.LowPart; + tv->msec = st.wMilliseconds; +#endif /* WINCE_TIME */ + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_time_decode(const pj_time_val *tv, pj_parsed_time *pt) +{ + LARGE_INTEGER li; + FILETIME ft; + SYSTEMTIME st; + + li.QuadPart = tv->sec; + li.QuadPart += base_time.QuadPart; + li.QuadPart *= SECS_TO_FT_MULT; + + ft.dwLowDateTime = li.LowPart; + ft.dwHighDateTime = li.HighPart; + FileTimeToSystemTime(&ft, &st); + + pt->year = st.wYear; + pt->mon = st.wMonth-1; + pt->day = st.wDay; + pt->wday = st.wDayOfWeek; + + pt->hour = st.wHour; + pt->min = st.wMinute; + pt->sec = st.wSecond; + pt->msec = tv->msec; + + return PJ_SUCCESS; +} + +/** + * Encode parsed time to time value. + */ +PJ_DEF(pj_status_t) pj_time_encode(const pj_parsed_time *pt, pj_time_val *tv) +{ + SYSTEMTIME st; + FILETIME ft; + LARGE_INTEGER li; + + pj_bzero(&st, sizeof(st)); + st.wYear = (pj_uint16_t) pt->year; + st.wMonth = (pj_uint16_t) (pt->mon + 1); + st.wDay = (pj_uint16_t) pt->day; + st.wHour = (pj_uint16_t) pt->hour; + st.wMinute = (pj_uint16_t) pt->min; + st.wSecond = (pj_uint16_t) pt->sec; + st.wMilliseconds = (pj_uint16_t) pt->msec; + + SystemTimeToFileTime(&st, &ft); + + li.LowPart = ft.dwLowDateTime; + li.HighPart = ft.dwHighDateTime; + li.QuadPart /= SECS_TO_FT_MULT; + li.QuadPart -= base_time.QuadPart; + + tv->sec = li.LowPart; + tv->msec = st.wMilliseconds; + + return PJ_SUCCESS; +} + +/** + * Convert local time to GMT. + */ +PJ_DEF(pj_status_t) pj_time_local_to_gmt(pj_time_val *tv); + +/** + * Convert GMT to local time. + */ +PJ_DEF(pj_status_t) pj_time_gmt_to_local(pj_time_val *tv); + + diff --git a/pjlib/src/pj/os_timestamp_common.c b/pjlib/src/pj/os_timestamp_common.c new file mode 100644 index 0000000..af5e493 --- /dev/null +++ b/pjlib/src/pj/os_timestamp_common.c @@ -0,0 +1,206 @@ +/* $Id: os_timestamp_common.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include + +#if defined(PJ_HAS_HIGH_RES_TIMER) && PJ_HAS_HIGH_RES_TIMER != 0 + +#define U32MAX (0xFFFFFFFFUL) +#define NANOSEC (1000000000UL) +#define USEC (1000000UL) +#define MSEC (1000) + +#define u64tohighprec(u64) ((pj_highprec_t)((pj_int64_t)(u64))) + +static pj_highprec_t get_elapsed( const pj_timestamp *start, + const pj_timestamp *stop ) +{ +#if defined(PJ_HAS_INT64) && PJ_HAS_INT64!=0 + return u64tohighprec(stop->u64 - start->u64); +#else + pj_highprec_t elapsed_hi, elapsed_lo; + + elapsed_hi = stop->u32.hi - start->u32.hi; + elapsed_lo = stop->u32.lo - start->u32.lo; + + /* elapsed_hi = elapsed_hi * U32MAX */ + pj_highprec_mul(elapsed_hi, U32MAX); + + return elapsed_hi + elapsed_lo; +#endif +} + +static pj_highprec_t elapsed_msec( const pj_timestamp *start, + const pj_timestamp *stop ) +{ + pj_timestamp ts_freq; + pj_highprec_t freq, elapsed; + + if (pj_get_timestamp_freq(&ts_freq) != PJ_SUCCESS) + return 0; + + /* Convert frequency timestamp */ +#if defined(PJ_HAS_INT64) && PJ_HAS_INT64!=0 + freq = u64tohighprec(ts_freq.u64); +#else + freq = ts_freq.u32.hi; + pj_highprec_mul(freq, U32MAX); + freq += ts_freq.u32.lo; +#endif + + /* Avoid division by zero. */ + if (freq == 0) freq = 1; + + /* Get elapsed time in cycles. */ + elapsed = get_elapsed(start, stop); + + /* usec = elapsed * MSEC / freq */ + pj_highprec_mul(elapsed, MSEC); + pj_highprec_div(elapsed, freq); + + return elapsed; +} + +static pj_highprec_t elapsed_usec( const pj_timestamp *start, + const pj_timestamp *stop ) +{ + pj_timestamp ts_freq; + pj_highprec_t freq, elapsed; + + if (pj_get_timestamp_freq(&ts_freq) != PJ_SUCCESS) + return 0; + + /* Convert frequency timestamp */ +#if defined(PJ_HAS_INT64) && PJ_HAS_INT64!=0 + freq = u64tohighprec(ts_freq.u64); +#else + freq = ts_freq.u32.hi; + pj_highprec_mul(freq, U32MAX); + freq += ts_freq.u32.lo; +#endif + + /* Avoid division by zero. */ + if (freq == 0) freq = 1; + + /* Get elapsed time in cycles. */ + elapsed = get_elapsed(start, stop); + + /* usec = elapsed * USEC / freq */ + pj_highprec_mul(elapsed, USEC); + pj_highprec_div(elapsed, freq); + + return elapsed; +} + +PJ_DEF(pj_uint32_t) pj_elapsed_nanosec( const pj_timestamp *start, + const pj_timestamp *stop ) +{ + pj_timestamp ts_freq; + pj_highprec_t freq, elapsed; + + if (pj_get_timestamp_freq(&ts_freq) != PJ_SUCCESS) + return 0; + + /* Convert frequency timestamp */ +#if defined(PJ_HAS_INT64) && PJ_HAS_INT64!=0 + freq = u64tohighprec(ts_freq.u64); +#else + freq = ts_freq.u32.hi; + pj_highprec_mul(freq, U32MAX); + freq += ts_freq.u32.lo; +#endif + + /* Avoid division by zero. */ + if (freq == 0) freq = 1; + + /* Get elapsed time in cycles. */ + elapsed = get_elapsed(start, stop); + + /* usec = elapsed * USEC / freq */ + pj_highprec_mul(elapsed, NANOSEC); + pj_highprec_div(elapsed, freq); + + return (pj_uint32_t)elapsed; +} + +PJ_DEF(pj_uint32_t) pj_elapsed_usec( const pj_timestamp *start, + const pj_timestamp *stop ) +{ + return (pj_uint32_t)elapsed_usec(start, stop); +} + +PJ_DEF(pj_uint32_t) pj_elapsed_msec( const pj_timestamp *start, + const pj_timestamp *stop ) +{ + return (pj_uint32_t)elapsed_msec(start, stop); +} + +PJ_DEF(pj_uint64_t) pj_elapsed_msec64(const pj_timestamp *start, + const pj_timestamp *stop ) +{ + return (pj_uint64_t)elapsed_msec(start, stop); +} + +PJ_DEF(pj_time_val) pj_elapsed_time( const pj_timestamp *start, + const pj_timestamp *stop ) +{ + pj_highprec_t elapsed = elapsed_msec(start, stop); + pj_time_val tv_elapsed; + + if (PJ_HIGHPREC_VALUE_IS_ZERO(elapsed)) { + tv_elapsed.sec = tv_elapsed.msec = 0; + return tv_elapsed; + } else { + pj_highprec_t sec, msec; + + sec = elapsed; + pj_highprec_div(sec, MSEC); + tv_elapsed.sec = (long)sec; + + msec = elapsed; + pj_highprec_mod(msec, MSEC); + tv_elapsed.msec = (long)msec; + + return tv_elapsed; + } +} + +PJ_DEF(pj_uint32_t) pj_elapsed_cycle( const pj_timestamp *start, + const pj_timestamp *stop ) +{ + return stop->u32.lo - start->u32.lo; +} + +PJ_DEF(pj_status_t) pj_gettickcount(pj_time_val *tv) +{ + pj_timestamp ts, start; + pj_status_t status; + + if ((status = pj_get_timestamp(&ts)) != PJ_SUCCESS) + return status; + + pj_set_timestamp32(&start, 0, 0); + *tv = pj_elapsed_time(&start, &ts); + + return PJ_SUCCESS; +} + +#endif /* PJ_HAS_HIGH_RES_TIMER */ + diff --git a/pjlib/src/pj/os_timestamp_linux_kernel.c b/pjlib/src/pj/os_timestamp_linux_kernel.c new file mode 100644 index 0000000..14609ea --- /dev/null +++ b/pjlib/src/pj/os_timestamp_linux_kernel.c @@ -0,0 +1,79 @@ +/* $Id: os_timestamp_linux_kernel.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include + +#if 0 +PJ_DEF(pj_status_t) pj_get_timestamp(pj_timestamp *ts) +{ + ts->u32.hi = 0; + ts->u32.lo = jiffies; + return 0; +} + +PJ_DEF(pj_status_t) pj_get_timestamp_freq(pj_timestamp *freq) +{ + freq->u32.hi = 0; + freq->u32.lo = HZ; + return 0; +} +#elif 0 +PJ_DEF(pj_status_t) pj_get_timestamp(pj_timestamp *ts) +{ + struct timespec tv; + + tv = CURRENT_TIME; + + ts->u64 = tv.tv_sec; + ts->u64 *= NSEC_PER_SEC; + ts->u64 += tv.tv_nsec; + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_get_timestamp_freq(pj_timestamp *freq) +{ + freq->u32.hi = 0; + freq->u32.lo = NSEC_PER_SEC; + return 0; +} +#else +PJ_DEF(pj_status_t) pj_get_timestamp(pj_timestamp *ts) +{ + struct timeval tv; + + do_gettimeofday(&tv); + + ts->u64 = tv.tv_sec; + ts->u64 *= USEC_PER_SEC; + ts->u64 += tv.tv_usec; + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_get_timestamp_freq(pj_timestamp *freq) +{ + freq->u32.hi = 0; + freq->u32.lo = USEC_PER_SEC; + return 0; +} + +#endif + diff --git a/pjlib/src/pj/os_timestamp_posix.c b/pjlib/src/pj/os_timestamp_posix.c new file mode 100644 index 0000000..af291d2 --- /dev/null +++ b/pjlib/src/pj/os_timestamp_posix.c @@ -0,0 +1,222 @@ +/* $Id: os_timestamp_posix.c 4890 2014-08-19 00:54:34Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include + +#if defined(PJ_HAS_UNISTD_H) && PJ_HAS_UNISTD_H != 0 +# include + +# if defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0 && \ + defined(_POSIX_MONOTONIC_CLOCK) +# define USE_POSIX_TIMERS 1 +# endif + +#endif + +#if defined(PJ_HAS_PENTIUM) && PJ_HAS_PENTIUM!=0 && \ + defined(PJ_TIMESTAMP_USE_RDTSC) && PJ_TIMESTAMP_USE_RDTSC!=0 && \ + defined(PJ_M_I386) && PJ_M_I386!=0 && \ + defined(PJ_LINUX) && PJ_LINUX!=0 +static int machine_speed_mhz; +static pj_timestamp machine_speed; + +static __inline__ unsigned long long int rdtsc() +{ + unsigned long long int x; + __asm__ volatile (".byte 0x0f, 0x31" : "=A" (x)); + return x; +} + +/* Determine machine's CPU MHz to get the counter's frequency. + */ +static int get_machine_speed_mhz() +{ + FILE *strm; + char buf[512]; + int len; + char *pos, *end; + + PJ_CHECK_STACK(); + + /* Open /proc/cpuinfo and read the file */ + strm = fopen("/proc/cpuinfo", "r"); + if (!strm) + return -1; + len = fread(buf, 1, sizeof(buf), strm); + fclose(strm); + if (len < 1) { + return -1; + } + buf[len] = '\0'; + + /* Locate the MHz digit. */ + pos = strstr(buf, "cpu MHz"); + if (!pos) + return -1; + pos = strchr(pos, ':'); + if (!pos) + return -1; + end = (pos += 2); + while (isdigit(*end)) ++end; + *end = '\0'; + + /* Return the Mhz part, and give it a +1. */ + return atoi(pos)+1; +} + +PJ_DEF(pj_status_t) pj_get_timestamp(pj_timestamp *ts) +{ + if (machine_speed_mhz == 0) { + machine_speed_mhz = get_machine_speed_mhz(); + if (machine_speed_mhz > 0) { + machine_speed.u64 = machine_speed_mhz * 1000000.0; + } + } + + if (machine_speed_mhz == -1) { + ts->u64 = 0; + return -1; + } + ts->u64 = rdtsc(); + return 0; +} + +PJ_DEF(pj_status_t) pj_get_timestamp_freq(pj_timestamp *freq) +{ + if (machine_speed_mhz == 0) { + machine_speed_mhz = get_machine_speed_mhz(); + if (machine_speed_mhz > 0) { + machine_speed.u64 = machine_speed_mhz * 1000000.0; + } + } + + if (machine_speed_mhz == -1) { + freq->u64 = 1; /* return 1 to prevent division by zero in apps. */ + return -1; + } + + freq->u64 = machine_speed.u64; + return 0; +} + +#elif defined(PJ_DARWINOS) && PJ_DARWINOS != 0 +#include +#include +#include + +#ifndef NSEC_PER_SEC +# define NSEC_PER_SEC 1000000000 +#endif + +PJ_DEF(pj_status_t) pj_get_timestamp(pj_timestamp *ts) +{ + mach_timespec_t tp; + int ret; + clock_serv_t serv; + + ret = host_get_clock_service(mach_host_self(), SYSTEM_CLOCK, &serv); + if (ret != KERN_SUCCESS) { + return PJ_RETURN_OS_ERROR(EINVAL); + } + + ret = clock_get_time(serv, &tp); + if (ret != KERN_SUCCESS) { + return PJ_RETURN_OS_ERROR(EINVAL); + } + + ts->u64 = tp.tv_sec; + ts->u64 *= NSEC_PER_SEC; + ts->u64 += tp.tv_nsec; + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_get_timestamp_freq(pj_timestamp *freq) +{ + freq->u32.hi = 0; + freq->u32.lo = NSEC_PER_SEC; + + return PJ_SUCCESS; +} + +#elif defined(USE_POSIX_TIMERS) && USE_POSIX_TIMERS != 0 +#include +#include +#include + +#define NSEC_PER_SEC 1000000000 + +PJ_DEF(pj_status_t) pj_get_timestamp(pj_timestamp *ts) +{ + struct timespec tp; + + if (clock_gettime(CLOCK_MONOTONIC, &tp) != 0) { + return PJ_RETURN_OS_ERROR(pj_get_native_os_error()); + } + + ts->u64 = tp.tv_sec; + ts->u64 *= NSEC_PER_SEC; + ts->u64 += tp.tv_nsec; + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_get_timestamp_freq(pj_timestamp *freq) +{ + freq->u32.hi = 0; + freq->u32.lo = NSEC_PER_SEC; + + return PJ_SUCCESS; +} + +#else +#include +#include + +#define USEC_PER_SEC 1000000 + +PJ_DEF(pj_status_t) pj_get_timestamp(pj_timestamp *ts) +{ + struct timeval tv; + + if (gettimeofday(&tv, NULL) != 0) { + return PJ_RETURN_OS_ERROR(pj_get_native_os_error()); + } + + ts->u64 = tv.tv_sec; + ts->u64 *= USEC_PER_SEC; + ts->u64 += tv.tv_usec; + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_get_timestamp_freq(pj_timestamp *freq) +{ + freq->u32.hi = 0; + freq->u32.lo = USEC_PER_SEC; + + return PJ_SUCCESS; +} + +#endif diff --git a/pjlib/src/pj/os_timestamp_win32.c b/pjlib/src/pj/os_timestamp_win32.c new file mode 100644 index 0000000..7042ab1 --- /dev/null +++ b/pjlib/src/pj/os_timestamp_win32.c @@ -0,0 +1,295 @@ +/* $Id: os_timestamp_win32.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include + +#define THIS_FILE "os_timestamp_win32.c" + + +#if 1 +# define TRACE_(x) PJ_LOG(3,x) +#else +# define TRACE_(x) ; +#endif + + +///////////////////////////////////////////////////////////////////////////// + +#if defined(PJ_TIMESTAMP_USE_RDTSC) && PJ_TIMESTAMP_USE_RDTSC!=0 && \ + defined(PJ_M_I386) && PJ_M_I386 != 0 && \ + defined(PJ_HAS_PENTIUM) && PJ_HAS_PENTIUM!=0 && \ + defined(_MSC_VER) + +/* + * Use rdtsc to get the OS timestamp. + */ +static LONG CpuMhz; +static pj_int64_t CpuHz; + +static pj_status_t GetCpuHz(void) +{ + HKEY key; + LONG rc; + DWORD size; + +#if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 + rc = RegOpenKeyEx(HKEY_LOCAL_MACHINE, + L"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0", + 0, 0, &key); +#else + rc = RegOpenKey( HKEY_LOCAL_MACHINE, + "HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0", + &key); +#endif + + if (rc != ERROR_SUCCESS) + return PJ_RETURN_OS_ERROR(rc); + + size = sizeof(CpuMhz); + rc = RegQueryValueEx(key, "~MHz", NULL, NULL, (BYTE*)&CpuMhz, &size); + RegCloseKey(key); + + if (rc != ERROR_SUCCESS) { + return PJ_RETURN_OS_ERROR(rc); + } + + CpuHz = CpuMhz; + CpuHz = CpuHz * 1000000; + + return PJ_SUCCESS; +} + +/* __int64 is nicely returned in EDX:EAX */ +__declspec(naked) __int64 rdtsc() +{ + __asm + { + RDTSC + RET + } +} + +PJ_DEF(pj_status_t) pj_get_timestamp(pj_timestamp *ts) +{ + ts->u64 = rdtsc(); + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_get_timestamp_freq(pj_timestamp *freq) +{ + pj_status_t status; + + if (CpuHz == 0) { + status = GetCpuHz(); + if (status != PJ_SUCCESS) + return status; + } + + freq->u64 = CpuHz; + return PJ_SUCCESS; +} + +///////////////////////////////////////////////////////////////////////////// + +#elif defined(PJ_TIMESTAMP_WIN32_USE_SAFE_QPC) && \ + PJ_TIMESTAMP_WIN32_USE_SAFE_QPC!=0 + +/* Use safe QueryPerformanceCounter. + * This implementation has some protection against bug in KB Q274323: + * Performance counter value may unexpectedly leap forward + * http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q274323 + * + * THIS SHOULD NOT BE USED YET AS IT DOESN'T HANDLE SYSTEM TIME + * CHANGE. + */ + +static pj_timestamp g_ts_freq; +static pj_timestamp g_ts_base; +static pj_int64_t g_time_base; + +PJ_DEF(pj_status_t) pj_get_timestamp(pj_timestamp *ts) +{ + enum { MAX_RETRY = 10 }; + unsigned i; + + + /* pj_get_timestamp_freq() must have been called before. + * This is done when application called pj_init(). + */ + pj_assert(g_ts_freq.u64 != 0); + + /* Retry QueryPerformanceCounter() until we're sure that the + * value returned makes sense. + */ + i = 0; + do { + LARGE_INTEGER val; + pj_int64_t counter64, time64, diff; + pj_time_val time_now; + + /* Retrieve the counter */ + if (!QueryPerformanceCounter(&val)) + return PJ_RETURN_OS_ERROR(GetLastError()); + + /* Regardless of the goodness of the value, we should put + * the counter here, because normally application wouldn't + * check the error result of this function. + */ + ts->u64 = val.QuadPart; + + /* Retrieve time */ + pj_gettimeofday(&time_now); + + /* Get the counter elapsed time in miliseconds */ + counter64 = (val.QuadPart - g_ts_base.u64) * 1000 / g_ts_freq.u64; + + /* Get the time elapsed in miliseconds. + * We don't want to use PJ_TIME_VAL_MSEC() since it's using + * 32bit calculation, which limits the maximum elapsed time + * to around 49 days only. + */ + time64 = time_now.sec; + time64 = time64 * 1000 + time_now.msec; + //time64 = GetTickCount(); + + /* It's good if the difference between two clocks are within + * some compile time constant (default: 20ms, which to allow + * context switch happen between QueryPerformanceCounter and + * pj_gettimeofday()). + */ + diff = (time64 - g_time_base) - counter64; + if (diff >= -20 && diff <= 20) { + /* It's good */ + return PJ_SUCCESS; + } + + ++i; + + } while (i < MAX_RETRY); + + TRACE_((THIS_FILE, "QueryPerformanceCounter returned bad value")); + return PJ_ETIMEDOUT; +} + +static pj_status_t init_performance_counter(void) +{ + LARGE_INTEGER val; + pj_time_val time_base; + pj_status_t status; + + /* Get the frequency */ + if (!QueryPerformanceFrequency(&val)) + return PJ_RETURN_OS_ERROR(GetLastError()); + + g_ts_freq.u64 = val.QuadPart; + + /* Get the base timestamp */ + if (!QueryPerformanceCounter(&val)) + return PJ_RETURN_OS_ERROR(GetLastError()); + + g_ts_base.u64 = val.QuadPart; + + + /* Get the base time */ + status = pj_gettimeofday(&time_base); + if (status != PJ_SUCCESS) + return status; + + /* Convert time base to 64bit value in msec */ + g_time_base = time_base.sec; + g_time_base = g_time_base * 1000 + time_base.msec; + //g_time_base = GetTickCount(); + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_get_timestamp_freq(pj_timestamp *freq) +{ + if (g_ts_freq.u64 == 0) { + enum { MAX_REPEAT = 10 }; + unsigned i; + pj_status_t status; + + /* Make unellegant compiler happy */ + status = 0; + + /* Repeat initializing performance counter until we're sure + * the base timing is correct. It is possible that the system + * returns bad counter during this initialization! + */ + for (i=0; iu64 = g_ts_freq.u64; + return PJ_SUCCESS; +} + +///////////////////////////////////////////////////////////////////////////// + +#else + +/* + * Use QueryPerformanceCounter and QueryPerformanceFrequency. + * This should be the default implementation to be used on Windows. + */ +PJ_DEF(pj_status_t) pj_get_timestamp(pj_timestamp *ts) +{ + LARGE_INTEGER val; + + if (!QueryPerformanceCounter(&val)) + return PJ_RETURN_OS_ERROR(GetLastError()); + + ts->u64 = val.QuadPart; + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_get_timestamp_freq(pj_timestamp *freq) +{ + LARGE_INTEGER val; + + if (!QueryPerformanceFrequency(&val)) + return PJ_RETURN_OS_ERROR(GetLastError()); + + freq->u64 = val.QuadPart; + return PJ_SUCCESS; +} + + +#endif /* PJ_TIMESTAMP_USE_RDTSC */ + diff --git a/pjlib/src/pj/pool.c b/pjlib/src/pj/pool.c new file mode 100644 index 0000000..fcdb862 --- /dev/null +++ b/pjlib/src/pj/pool.c @@ -0,0 +1,301 @@ +/* $Id: pool.c 4890 2014-08-19 00:54:34Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include + +#if !PJ_HAS_POOL_ALT_API + + +/* Include inline definitions when inlining is disabled. */ +#if !PJ_FUNCTIONS_ARE_INLINED +# include +#endif + +#define LOG(expr) PJ_LOG(6,expr) +#define ALIGN_PTR(PTR,ALIGNMENT) (PTR + (-(pj_ssize_t)(PTR) & (ALIGNMENT-1))) + +PJ_DEF_DATA(int) PJ_NO_MEMORY_EXCEPTION; + +PJ_DEF(int) pj_NO_MEMORY_EXCEPTION() +{ + return PJ_NO_MEMORY_EXCEPTION; +} + +/* + * Create new block. + * Create a new big chunk of memory block, from which user allocation will be + * taken from. + */ +static pj_pool_block *pj_pool_create_block( pj_pool_t *pool, pj_size_t size) +{ + pj_pool_block *block; + + PJ_CHECK_STACK(); + pj_assert(size >= sizeof(pj_pool_block)); + + LOG((pool->obj_name, "create_block(sz=%u), cur.cap=%u, cur.used=%u", + size, pool->capacity, pj_pool_get_used_size(pool))); + + /* Request memory from allocator. */ + block = (pj_pool_block*) + (*pool->factory->policy.block_alloc)(pool->factory, size); + if (block == NULL) { + (*pool->callback)(pool, size); + return NULL; + } + + /* Add capacity. */ + pool->capacity += size; + + /* Set start and end of buffer. */ + block->buf = ((unsigned char*)block) + sizeof(pj_pool_block); + block->end = ((unsigned char*)block) + size; + + /* Set the start pointer, aligning it as needed */ + block->cur = ALIGN_PTR(block->buf, PJ_POOL_ALIGNMENT); + + /* Insert in the front of the list. */ + pj_list_insert_after(&pool->block_list, block); + + LOG((pool->obj_name," block created, buffer=%p-%p",block->buf, block->end)); + + return block; +} + +/* + * Allocate memory chunk for user from available blocks. + * This will iterate through block list to find space to allocate the chunk. + * If no space is available in all the blocks, a new block might be created + * (depending on whether the pool is allowed to resize). + */ +PJ_DEF(void*) pj_pool_allocate_find(pj_pool_t *pool, pj_size_t size) +{ + pj_pool_block *block = pool->block_list.next; + void *p; + pj_size_t block_size; + + PJ_CHECK_STACK(); + + while (block != &pool->block_list) { + p = pj_pool_alloc_from_block(block, size); + if (p != NULL) + return p; + block = block->next; + } + /* No available space in all blocks. */ + + /* If pool is configured NOT to expand, return error. */ + if (pool->increment_size == 0) { + LOG((pool->obj_name, "Can't expand pool to allocate %u bytes " + "(used=%u, cap=%u)", + size, pj_pool_get_used_size(pool), pool->capacity)); + (*pool->callback)(pool, size); + return NULL; + } + + /* If pool is configured to expand, but the increment size + * is less than the required size, expand the pool by multiple + * increment size. Also count the size wasted due to aligning + * the block. + */ + if (pool->increment_size < + size + sizeof(pj_pool_block) + PJ_POOL_ALIGNMENT) + { + pj_size_t count; + count = (size + pool->increment_size + sizeof(pj_pool_block) + + PJ_POOL_ALIGNMENT) / + pool->increment_size; + block_size = count * pool->increment_size; + + } else { + block_size = pool->increment_size; + } + + LOG((pool->obj_name, + "%u bytes requested, resizing pool by %u bytes (used=%u, cap=%u)", + size, block_size, pj_pool_get_used_size(pool), pool->capacity)); + + block = pj_pool_create_block(pool, block_size); + if (!block) + return NULL; + + p = pj_pool_alloc_from_block(block, size); + pj_assert(p != NULL); +#if PJ_DEBUG + if (p == NULL) { + PJ_UNUSED_ARG(p); + } +#endif + return p; +} + +/* + * Internal function to initialize pool. + */ +PJ_DEF(void) pj_pool_init_int( pj_pool_t *pool, + const char *name, + pj_size_t increment_size, + pj_pool_callback *callback) +{ + PJ_CHECK_STACK(); + + pool->increment_size = increment_size; + pool->callback = callback; + + if (name) { + if (strchr(name, '%') != NULL) { + pj_ansi_snprintf(pool->obj_name, sizeof(pool->obj_name), + name, pool); + } else { + pj_ansi_strncpy(pool->obj_name, name, PJ_MAX_OBJ_NAME); + pool->obj_name[PJ_MAX_OBJ_NAME-1] = '\0'; + } + } else { + pool->obj_name[0] = '\0'; + } +} + +/* + * Create new memory pool. + */ +PJ_DEF(pj_pool_t*) pj_pool_create_int( pj_pool_factory *f, const char *name, + pj_size_t initial_size, + pj_size_t increment_size, + pj_pool_callback *callback) +{ + pj_pool_t *pool; + pj_pool_block *block; + pj_uint8_t *buffer; + + PJ_CHECK_STACK(); + + /* Size must be at least sizeof(pj_pool)+sizeof(pj_pool_block) */ + PJ_ASSERT_RETURN(initial_size >= sizeof(pj_pool_t)+sizeof(pj_pool_block), + NULL); + + /* If callback is NULL, set calback from the policy */ + if (callback == NULL) + callback = f->policy.callback; + + /* Allocate initial block */ + buffer = (pj_uint8_t*) (*f->policy.block_alloc)(f, initial_size); + if (!buffer) + return NULL; + + /* Set pool administrative data. */ + pool = (pj_pool_t*)buffer; + pj_bzero(pool, sizeof(*pool)); + + pj_list_init(&pool->block_list); + pool->factory = f; + + /* Create the first block from the memory. */ + block = (pj_pool_block*) (buffer + sizeof(*pool)); + block->buf = ((unsigned char*)block) + sizeof(pj_pool_block); + block->end = buffer + initial_size; + + /* Set the start pointer, aligning it as needed */ + block->cur = ALIGN_PTR(block->buf, PJ_POOL_ALIGNMENT); + + pj_list_insert_after(&pool->block_list, block); + + pj_pool_init_int(pool, name, increment_size, callback); + + /* Pool initial capacity and used size */ + pool->capacity = initial_size; + + LOG((pool->obj_name, "pool created, size=%u", pool->capacity)); + return pool; +} + +/* + * Reset the pool to the state when it was created. + * All blocks will be deallocated except the first block. All memory areas + * are marked as free. + */ +static void reset_pool(pj_pool_t *pool) +{ + pj_pool_block *block; + + PJ_CHECK_STACK(); + + block = pool->block_list.prev; + if (block == &pool->block_list) + return; + + /* Skip the first block because it is occupying the same memory + as the pool itself. + */ + block = block->prev; + + while (block != &pool->block_list) { + pj_pool_block *prev = block->prev; + pj_list_erase(block); + (*pool->factory->policy.block_free)(pool->factory, block, + block->end - (unsigned char*)block); + block = prev; + } + + block = pool->block_list.next; + + /* Set the start pointer, aligning it as needed */ + block->cur = ALIGN_PTR(block->buf, PJ_POOL_ALIGNMENT); + + pool->capacity = block->end - (unsigned char*)pool; +} + +/* + * The public function to reset pool. + */ +PJ_DEF(void) pj_pool_reset(pj_pool_t *pool) +{ + LOG((pool->obj_name, "reset(): cap=%d, used=%d(%d%%)", + pool->capacity, pj_pool_get_used_size(pool), + pj_pool_get_used_size(pool)*100/pool->capacity)); + + reset_pool(pool); +} + +/* + * Destroy the pool. + */ +PJ_DEF(void) pj_pool_destroy_int(pj_pool_t *pool) +{ + pj_size_t initial_size; + + LOG((pool->obj_name, "destroy(): cap=%d, used=%d(%d%%), block0=%p-%p", + pool->capacity, pj_pool_get_used_size(pool), + pj_pool_get_used_size(pool)*100/pool->capacity, + ((pj_pool_block*)pool->block_list.next)->buf, + ((pj_pool_block*)pool->block_list.next)->end)); + + reset_pool(pool); + initial_size = ((pj_pool_block*)pool->block_list.next)->end - + (unsigned char*)pool; + if (pool->factory->policy.block_free) + (*pool->factory->policy.block_free)(pool->factory, pool, initial_size); +} + + +#endif /* PJ_HAS_POOL_ALT_API */ + diff --git a/pjlib/src/pj/pool_buf.c b/pjlib/src/pj/pool_buf.c new file mode 100644 index 0000000..d9b98e7 --- /dev/null +++ b/pjlib/src/pj/pool_buf.c @@ -0,0 +1,115 @@ +/* $Id: pool_buf.c 4713 2014-01-23 08:13:11Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + +static struct pj_pool_factory stack_based_factory; + +struct creation_param +{ + void *stack_buf; + pj_size_t size; +}; + +static int is_initialized; +static long tls = -1; +static void* stack_alloc(pj_pool_factory *factory, pj_size_t size); + +static void pool_buf_cleanup(void) +{ + if (tls != -1) { + pj_thread_local_free(tls); + tls = -1; + } + if (is_initialized) + is_initialized = 0; +} + +static pj_status_t pool_buf_initialize(void) +{ + pj_atexit(&pool_buf_cleanup); + + stack_based_factory.policy.block_alloc = &stack_alloc; + return pj_thread_local_alloc(&tls); +} + +static void* stack_alloc(pj_pool_factory *factory, pj_size_t size) +{ + struct creation_param *param; + void *buf; + + PJ_UNUSED_ARG(factory); + + param = (struct creation_param*) pj_thread_local_get(tls); + if (param == NULL) { + /* Don't assert(), this is normal no-memory situation */ + return NULL; + } + + pj_thread_local_set(tls, NULL); + + PJ_ASSERT_RETURN(size <= param->size, NULL); + + buf = param->stack_buf; + + /* Prevent the buffer from being reused */ + param->stack_buf = NULL; + + return buf; +} + + +PJ_DEF(pj_pool_t*) pj_pool_create_on_buf(const char *name, + void *buf, + pj_size_t size) +{ +#if PJ_HAS_POOL_ALT_API == 0 + struct creation_param param; + pj_size_t align_diff; + + PJ_ASSERT_RETURN(buf && size, NULL); + + if (!is_initialized) { + if (pool_buf_initialize() != PJ_SUCCESS) + return NULL; + is_initialized = 1; + } + + /* Check and align buffer */ + align_diff = (pj_size_t)buf; + if (align_diff & (PJ_POOL_ALIGNMENT-1)) { + align_diff &= (PJ_POOL_ALIGNMENT-1); + buf = (void*) (((char*)buf) + align_diff); + size -= align_diff; + } + + param.stack_buf = buf; + param.size = size; + pj_thread_local_set(tls, ¶m); + + return pj_pool_create_int(&stack_based_factory, name, size, 0, + pj_pool_factory_default_policy.callback); +#else + PJ_UNUSED_ARG(buf); + return pj_pool_create(NULL, name, size, size, NULL); +#endif +} + diff --git a/pjlib/src/pj/pool_caching.c b/pjlib/src/pj/pool_caching.c new file mode 100644 index 0000000..14780e1 --- /dev/null +++ b/pjlib/src/pj/pool_caching.c @@ -0,0 +1,338 @@ +/* $Id: pool_caching.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include + +#if !PJ_HAS_POOL_ALT_API + +static pj_pool_t* cpool_create_pool(pj_pool_factory *pf, + const char *name, + pj_size_t initial_size, + pj_size_t increment_sz, + pj_pool_callback *callback); +static void cpool_release_pool(pj_pool_factory *pf, pj_pool_t *pool); +static void cpool_dump_status(pj_pool_factory *factory, pj_bool_t detail ); +static pj_bool_t cpool_on_block_alloc(pj_pool_factory *f, pj_size_t sz); +static void cpool_on_block_free(pj_pool_factory *f, pj_size_t sz); + + +static pj_size_t pool_sizes[PJ_CACHING_POOL_ARRAY_SIZE] = +{ + 256, 512, 1024, 2048, 4096, 8192, 12288, 16384, + 20480, 24576, 28672, 32768, 40960, 49152, 57344, 65536 +}; + +/* Index where the search for size should begin. + * Start with pool_sizes[5], which is 8192. + */ +#define START_SIZE 5 + + +PJ_DEF(void) pj_caching_pool_init( pj_caching_pool *cp, + const pj_pool_factory_policy *policy, + pj_size_t max_capacity) +{ + int i; + pj_pool_t *pool; + + PJ_CHECK_STACK(); + + pj_bzero(cp, sizeof(*cp)); + + cp->max_capacity = max_capacity; + pj_list_init(&cp->used_list); + for (i=0; ifree_list[i]); + + if (policy == NULL) { + policy = &pj_pool_factory_default_policy; + } + + pj_memcpy(&cp->factory.policy, policy, sizeof(pj_pool_factory_policy)); + cp->factory.create_pool = &cpool_create_pool; + cp->factory.release_pool = &cpool_release_pool; + cp->factory.dump_status = &cpool_dump_status; + cp->factory.on_block_alloc = &cpool_on_block_alloc; + cp->factory.on_block_free = &cpool_on_block_free; + + pool = pj_pool_create_on_buf("cachingpool", cp->pool_buf, sizeof(cp->pool_buf)); + pj_lock_create_simple_mutex(pool, "cachingpool", &cp->lock); +} + +PJ_DEF(void) pj_caching_pool_destroy( pj_caching_pool *cp ) +{ + int i; + pj_pool_t *pool; + + PJ_CHECK_STACK(); + + /* Delete all pool in free list */ + for (i=0; i < PJ_CACHING_POOL_ARRAY_SIZE; ++i) { + pj_pool_t *pool = (pj_pool_t*) cp->free_list[i].next; + pj_pool_t *next; + for (; pool != (void*)&cp->free_list[i]; pool = next) { + next = pool->next; + pj_list_erase(pool); + pj_pool_destroy_int(pool); + } + } + + /* Delete all pools in used list */ + pool = (pj_pool_t*) cp->used_list.next; + while (pool != (pj_pool_t*) &cp->used_list) { + pj_pool_t *next = pool->next; + pj_list_erase(pool); + PJ_LOG(4,(pool->obj_name, + "Pool is not released by application, releasing now")); + pj_pool_destroy_int(pool); + pool = next; + } + + if (cp->lock) { + pj_lock_destroy(cp->lock); + pj_lock_create_null_mutex(NULL, "cachingpool", &cp->lock); + } +} + +static pj_pool_t* cpool_create_pool(pj_pool_factory *pf, + const char *name, + pj_size_t initial_size, + pj_size_t increment_sz, + pj_pool_callback *callback) +{ + pj_caching_pool *cp = (pj_caching_pool*)pf; + pj_pool_t *pool; + int idx; + + PJ_CHECK_STACK(); + + pj_lock_acquire(cp->lock); + + /* Use pool factory's policy when callback is NULL */ + if (callback == NULL) { + callback = pf->policy.callback; + } + + /* Search the suitable size for the pool. + * We'll just do linear search to the size array, as the array size itself + * is only a few elements. Binary search I suspect will be less efficient + * for this purpose. + */ + if (initial_size <= pool_sizes[START_SIZE]) { + for (idx=START_SIZE-1; + idx >= 0 && pool_sizes[idx] >= initial_size; + --idx) + ; + ++idx; + } else { + for (idx=START_SIZE+1; + idx < PJ_CACHING_POOL_ARRAY_SIZE && + pool_sizes[idx] < initial_size; + ++idx) + ; + } + + /* Check whether there's a pool in the list. */ + if (idx==PJ_CACHING_POOL_ARRAY_SIZE || pj_list_empty(&cp->free_list[idx])) { + /* No pool is available. */ + /* Set minimum size. */ + if (idx < PJ_CACHING_POOL_ARRAY_SIZE) + initial_size = pool_sizes[idx]; + + /* Create new pool */ + pool = pj_pool_create_int(&cp->factory, name, initial_size, + increment_sz, callback); + if (!pool) { + pj_lock_release(cp->lock); + return NULL; + } + + } else { + /* Get one pool from the list. */ + pool = (pj_pool_t*) cp->free_list[idx].next; + pj_list_erase(pool); + + /* Initialize the pool. */ + pj_pool_init_int(pool, name, increment_sz, callback); + + /* Update pool manager's free capacity. */ + if (cp->capacity > pj_pool_get_capacity(pool)) { + cp->capacity -= pj_pool_get_capacity(pool); + } else { + cp->capacity = 0; + } + + PJ_LOG(6, (pool->obj_name, "pool reused, size=%u", pool->capacity)); + } + + /* Put in used list. */ + pj_list_insert_before( &cp->used_list, pool ); + + /* Mark factory data */ + pool->factory_data = (void*) (pj_ssize_t) idx; + + /* Increment used count. */ + ++cp->used_count; + + pj_lock_release(cp->lock); + return pool; +} + +static void cpool_release_pool( pj_pool_factory *pf, pj_pool_t *pool) +{ + pj_caching_pool *cp = (pj_caching_pool*)pf; + pj_size_t pool_capacity; + unsigned i; + + PJ_CHECK_STACK(); + + PJ_ASSERT_ON_FAIL(pf && pool, return); + + pj_lock_acquire(cp->lock); + +#if PJ_SAFE_POOL + /* Make sure pool is still in our used list */ + if (pj_list_find_node(&cp->used_list, pool) != pool) { + pj_assert(!"Attempt to destroy pool that has been destroyed before"); + return; + } +#endif + + /* Erase from the used list. */ + pj_list_erase(pool); + + /* Decrement used count. */ + --cp->used_count; + + pool_capacity = pj_pool_get_capacity(pool); + + /* Destroy the pool if the size is greater than our size or if the total + * capacity in our recycle list (plus the size of the pool) exceeds + * maximum capacity. + . */ + if (pool_capacity > pool_sizes[PJ_CACHING_POOL_ARRAY_SIZE-1] || + cp->capacity + pool_capacity > cp->max_capacity) + { + pj_pool_destroy_int(pool); + pj_lock_release(cp->lock); + return; + } + + /* Reset pool. */ + PJ_LOG(6, (pool->obj_name, "recycle(): cap=%d, used=%d(%d%%)", + pool_capacity, pj_pool_get_used_size(pool), + pj_pool_get_used_size(pool)*100/pool_capacity)); + pj_pool_reset(pool); + + pool_capacity = pj_pool_get_capacity(pool); + + /* + * Otherwise put the pool in our recycle list. + */ + i = (unsigned) (unsigned long) (pj_ssize_t) pool->factory_data; + + pj_assert(i= PJ_CACHING_POOL_ARRAY_SIZE ) { + /* Something has gone wrong with the pool. */ + pj_pool_destroy_int(pool); + pj_lock_release(cp->lock); + return; + } + + pj_list_insert_after(&cp->free_list[i], pool); + cp->capacity += pool_capacity; + + pj_lock_release(cp->lock); +} + +static void cpool_dump_status(pj_pool_factory *factory, pj_bool_t detail ) +{ +#if PJ_LOG_MAX_LEVEL >= 3 + pj_caching_pool *cp = (pj_caching_pool*)factory; + + pj_lock_acquire(cp->lock); + + PJ_LOG(3,("cachpool", " Dumping caching pool:")); + PJ_LOG(3,("cachpool", " Capacity=%u, max_capacity=%u, used_cnt=%u", \ + cp->capacity, cp->max_capacity, cp->used_count)); + if (detail) { + pj_pool_t *pool = (pj_pool_t*) cp->used_list.next; + pj_size_t total_used = 0, total_capacity = 0; + PJ_LOG(3,("cachpool", " Dumping all active pools:")); + while (pool != (void*)&cp->used_list) { + pj_size_t pool_capacity = pj_pool_get_capacity(pool); + PJ_LOG(3,("cachpool", " %16s: %8d of %8d (%d%%) used", + pj_pool_getobjname(pool), + pj_pool_get_used_size(pool), + pool_capacity, + pj_pool_get_used_size(pool)*100/pool_capacity)); + total_used += pj_pool_get_used_size(pool); + total_capacity += pool_capacity; + pool = pool->next; + } + if (total_capacity) { + PJ_LOG(3,("cachpool", " Total %9d of %9d (%d %%) used!", + total_used, total_capacity, + total_used * 100 / total_capacity)); + } + } + + pj_lock_release(cp->lock); +#else + PJ_UNUSED_ARG(factory); + PJ_UNUSED_ARG(detail); +#endif +} + + +static pj_bool_t cpool_on_block_alloc(pj_pool_factory *f, pj_size_t sz) +{ + pj_caching_pool *cp = (pj_caching_pool*)f; + + //Can't lock because mutex is not recursive + //if (cp->mutex) pj_mutex_lock(cp->mutex); + + cp->used_size += sz; + if (cp->used_size > cp->peak_used_size) + cp->peak_used_size = cp->used_size; + + //if (cp->mutex) pj_mutex_unlock(cp->mutex); + + return PJ_TRUE; +} + + +static void cpool_on_block_free(pj_pool_factory *f, pj_size_t sz) +{ + pj_caching_pool *cp = (pj_caching_pool*)f; + + //pj_mutex_lock(cp->mutex); + cp->used_size -= sz; + //pj_mutex_unlock(cp->mutex); +} + + +#endif /* PJ_HAS_POOL_ALT_API */ + diff --git a/pjlib/src/pj/pool_dbg.c b/pjlib/src/pj/pool_dbg.c new file mode 100644 index 0000000..21bd36e --- /dev/null +++ b/pjlib/src/pj/pool_dbg.c @@ -0,0 +1,191 @@ +/* $Id: pool_dbg.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include + +#if PJ_HAS_POOL_ALT_API + +#if PJ_HAS_MALLOC_H +# include +#endif + + +#if PJ_HAS_STDLIB_H +# include +#endif + + +#if ((defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64 != 0)) && \ + defined(PJ_DEBUG) && PJ_DEBUG!=0 && !PJ_NATIVE_STRING_IS_UNICODE +# include +# define TRACE_(msg) OutputDebugString(msg) +#endif + +/* Uncomment this to enable TRACE_ */ +//#undef TRACE_ + + + +int PJ_NO_MEMORY_EXCEPTION; + + +PJ_DEF(int) pj_NO_MEMORY_EXCEPTION() +{ + return PJ_NO_MEMORY_EXCEPTION; +} + +/* Create pool */ +PJ_DEF(pj_pool_t*) pj_pool_create_imp( const char *file, int line, + void *factory, + const char *name, + pj_size_t initial_size, + pj_size_t increment_size, + pj_pool_callback *callback) +{ + pj_pool_t *pool; + + PJ_UNUSED_ARG(file); + PJ_UNUSED_ARG(line); + PJ_UNUSED_ARG(factory); + PJ_UNUSED_ARG(initial_size); + PJ_UNUSED_ARG(increment_size); + + pool = malloc(sizeof(struct pj_pool_t)); + if (!pool) + return NULL; + + if (name) { + pj_ansi_strncpy(pool->obj_name, name, sizeof(pool->obj_name)); + pool->obj_name[sizeof(pool->obj_name)-1] = '\0'; + } else { + strcpy(pool->obj_name, "altpool"); + } + + pool->factory = NULL; + pool->first_mem = NULL; + pool->used_size = 0; + pool->cb = callback; + + return pool; +} + + +/* Release pool */ +PJ_DEF(void) pj_pool_release_imp(pj_pool_t *pool) +{ + pj_pool_reset(pool); + free(pool); +} + +/* Get pool name */ +PJ_DEF(const char*) pj_pool_getobjname_imp(pj_pool_t *pool) +{ + PJ_UNUSED_ARG(pool); + return "pooldbg"; +} + +/* Reset pool */ +PJ_DEF(void) pj_pool_reset_imp(pj_pool_t *pool) +{ + struct pj_pool_mem *mem; + + mem = pool->first_mem; + while (mem) { + struct pj_pool_mem *next = mem->next; + free(mem); + mem = next; + } + + pool->first_mem = NULL; +} + +/* Get capacity */ +PJ_DEF(pj_size_t) pj_pool_get_capacity_imp(pj_pool_t *pool) +{ + PJ_UNUSED_ARG(pool); + + /* Unlimited capacity */ + return 0x7FFFFFFFUL; +} + +/* Get total used size */ +PJ_DEF(pj_size_t) pj_pool_get_used_size_imp(pj_pool_t *pool) +{ + return pool->used_size; +} + +/* Allocate memory from the pool */ +PJ_DEF(void*) pj_pool_alloc_imp( const char *file, int line, + pj_pool_t *pool, pj_size_t sz) +{ + struct pj_pool_mem *mem; + + PJ_UNUSED_ARG(file); + PJ_UNUSED_ARG(line); + + mem = malloc(sz + sizeof(struct pj_pool_mem)); + if (!mem) { + if (pool->cb) + (*pool->cb)(pool, sz); + return NULL; + } + + mem->next = pool->first_mem; + pool->first_mem = mem; + +#ifdef TRACE_ + { + char msg[120]; + pj_ansi_sprintf(msg, "Mem %X (%d+%d bytes) allocated by %s:%d\r\n", + mem, sz, sizeof(struct pj_pool_mem), + file, line); + TRACE_(msg); + } +#endif + + return ((char*)mem) + sizeof(struct pj_pool_mem); +} + +/* Allocate memory from the pool and zero the memory */ +PJ_DEF(void*) pj_pool_calloc_imp( const char *file, int line, + pj_pool_t *pool, unsigned cnt, + unsigned elemsz) +{ + void *mem; + + mem = pj_pool_alloc_imp(file, line, pool, cnt*elemsz); + if (!mem) + return NULL; + + pj_bzero(mem, cnt*elemsz); + return mem; +} + +/* Allocate memory from the pool and zero the memory */ +PJ_DEF(void*) pj_pool_zalloc_imp( const char *file, int line, + pj_pool_t *pool, pj_size_t sz) +{ + return pj_pool_calloc_imp(file, line, pool, 1, sz); +} + + + +#endif /* PJ_HAS_POOL_ALT_API */ diff --git a/pjlib/src/pj/pool_policy_kmalloc.c b/pjlib/src/pj/pool_policy_kmalloc.c new file mode 100644 index 0000000..2b5ec70 --- /dev/null +++ b/pjlib/src/pj/pool_policy_kmalloc.c @@ -0,0 +1,64 @@ +/* $Id: pool_policy_kmalloc.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + + +static void *default_block_alloc(pj_pool_factory *factory, pj_size_t size) +{ + PJ_CHECK_STACK(); + PJ_UNUSED_ARG(factory); + + return kmalloc(size, GFP_ATOMIC); +} + +static void default_block_free(pj_pool_factory *factory, + void *mem, pj_size_t size) +{ + PJ_CHECK_STACK(); + PJ_UNUSED_ARG(factory); + PJ_UNUSED_ARG(size); + + kfree(mem); +} + +static void default_pool_callback(pj_pool_t *pool, pj_size_t size) +{ + PJ_CHECK_STACK(); + PJ_UNUSED_ARG(pool); + PJ_UNUSED_ARG(size); + + PJ_THROW(PJ_NO_MEMORY_EXCEPTION); +} + +pj_pool_factory_policy pj_pool_factory_default_policy = +{ + &default_block_alloc, + &default_block_free, + &default_pool_callback, + 0 +}; + +PJ_DEF(const pj_pool_factory_policy*) pj_pool_factory_get_default_policy(void) +{ + return &pj_pool_factory_default_policy; +} + diff --git a/pjlib/src/pj/pool_policy_malloc.c b/pjlib/src/pj/pool_policy_malloc.c new file mode 100644 index 0000000..6bba91d --- /dev/null +++ b/pjlib/src/pj/pool_policy_malloc.c @@ -0,0 +1,104 @@ +/* $Id: pool_policy_malloc.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + +#if !PJ_HAS_POOL_ALT_API + +/* + * This file contains pool default policy definition and implementation. + */ +#include "pool_signature.h" + + +static void *default_block_alloc(pj_pool_factory *factory, pj_size_t size) +{ + void *p; + + PJ_CHECK_STACK(); + + if (factory->on_block_alloc) { + int rc; + rc = factory->on_block_alloc(factory, size); + if (!rc) + return NULL; + } + + p = malloc(size+(SIG_SIZE << 1)); + + if (p == NULL) { + if (factory->on_block_free) + factory->on_block_free(factory, size); + } else { + /* Apply signature when PJ_SAFE_POOL is set. It will move + * "p" pointer forward. + */ + APPLY_SIG(p, size); + } + + return p; +} + +static void default_block_free(pj_pool_factory *factory, void *mem, + pj_size_t size) +{ + PJ_CHECK_STACK(); + + if (factory->on_block_free) + factory->on_block_free(factory, size); + + /* Check and remove signature when PJ_SAFE_POOL is set. It will + * move "mem" pointer backward. + */ + REMOVE_SIG(mem, size); + + /* Note that when PJ_SAFE_POOL is set, the actual size of the block + * is size + SIG_SIZE*2. + */ + + free(mem); +} + +static void default_pool_callback(pj_pool_t *pool, pj_size_t size) +{ + PJ_CHECK_STACK(); + PJ_UNUSED_ARG(pool); + PJ_UNUSED_ARG(size); + + PJ_THROW(PJ_NO_MEMORY_EXCEPTION); +} + +PJ_DEF_DATA(pj_pool_factory_policy) pj_pool_factory_default_policy = +{ + &default_block_alloc, + &default_block_free, + &default_pool_callback, + 0 +}; + +PJ_DEF(const pj_pool_factory_policy*) pj_pool_factory_get_default_policy(void) +{ + return &pj_pool_factory_default_policy; +} + + +#endif /* PJ_HAS_POOL_ALT_API */ diff --git a/pjlib/src/pj/pool_policy_new.cpp b/pjlib/src/pj/pool_policy_new.cpp new file mode 100644 index 0000000..909eb9f --- /dev/null +++ b/pjlib/src/pj/pool_policy_new.cpp @@ -0,0 +1,102 @@ +/* $Id: pool_policy_new.cpp 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + +#if !PJ_HAS_POOL_ALT_API + +/* + * This file contains pool default policy definition and implementation. + */ +#include "pool_signature.h" + + +static void *operator_new(pj_pool_factory *factory, pj_size_t size) +{ + void *mem; + + PJ_CHECK_STACK(); + + if (factory->on_block_alloc) { + int rc; + rc = factory->on_block_alloc(factory, size); + if (!rc) + return NULL; + } + + mem = (void*) new char[size+(SIG_SIZE << 1)]; + + /* Exception for new operator may be disabled, so.. */ + if (mem) { + /* Apply signature when PJ_SAFE_POOL is set. It will move + * "mem" pointer forward. + */ + APPLY_SIG(mem, size); + } + + return mem; +} + +static void operator_delete(pj_pool_factory *factory, void *mem, pj_size_t size) +{ + PJ_CHECK_STACK(); + + if (factory->on_block_free) + factory->on_block_free(factory, size); + + /* Check and remove signature when PJ_SAFE_POOL is set. It will + * move "mem" pointer backward. + */ + REMOVE_SIG(mem, size); + + /* Note that when PJ_SAFE_POOL is set, the actual size of the block + * is size + SIG_SIZE*2. + */ + + char *p = (char*)mem; + delete [] p; +} + +static void default_pool_callback(pj_pool_t *pool, pj_size_t size) +{ + PJ_CHECK_STACK(); + PJ_UNUSED_ARG(pool); + PJ_UNUSED_ARG(size); + + PJ_THROW(PJ_NO_MEMORY_EXCEPTION); +} + +PJ_DEF_DATA(pj_pool_factory_policy) pj_pool_factory_default_policy = +{ + &operator_new, + &operator_delete, + &default_pool_callback, + 0 +}; + +PJ_DEF(const pj_pool_factory_policy*) pj_pool_factory_get_default_policy(void) +{ + return &pj_pool_factory_default_policy; +} + + +#endif /* PJ_HAS_POOL_ALT_API */ + diff --git a/pjlib/src/pj/pool_signature.h b/pjlib/src/pj/pool_signature.h new file mode 100644 index 0000000..6d0d432 --- /dev/null +++ b/pjlib/src/pj/pool_signature.h @@ -0,0 +1,68 @@ +/* $Id: pool_signature.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include + +#if PJ_SAFE_POOL +# define SIG_SIZE sizeof(pj_uint32_t) + +static void apply_signature(void *p, pj_size_t size); +static void check_pool_signature(void *p, pj_size_t size); + +# define APPLY_SIG(p,sz) apply_signature(p,sz), \ + p=(void*)(((char*)p)+SIG_SIZE) +# define REMOVE_SIG(p,sz) check_pool_signature(p,sz), \ + p=(void*)(((char*)p)-SIG_SIZE) + +# define SIG_BEGIN 0x600DC0DE +# define SIG_END 0x0BADC0DE + +static void apply_signature(void *p, pj_size_t size) +{ + pj_uint32_t sig; + + sig = SIG_BEGIN; + pj_memcpy(p, &sig, SIG_SIZE); + + sig = SIG_END; + pj_memcpy(((char*)p)+SIG_SIZE+size, &sig, SIG_SIZE); +} + +static void check_pool_signature(void *p, pj_size_t size) +{ + pj_uint32_t sig; + pj_uint8_t *mem = (pj_uint8_t*)p; + + /* Check that signature at the start of the block is still intact */ + sig = SIG_BEGIN; + pj_assert(!pj_memcmp(mem-SIG_SIZE, &sig, SIG_SIZE)); + + /* Check that signature at the end of the block is still intact. + * Note that "mem" has been incremented by SIG_SIZE + */ + sig = SIG_END; + pj_assert(!pj_memcmp(mem+size, &sig, SIG_SIZE)); +} + +#else +# define SIG_SIZE 0 +# define APPLY_SIG(p,sz) +# define REMOVE_SIG(p,sz) +#endif diff --git a/pjlib/src/pj/rand.c b/pjlib/src/pj/rand.c new file mode 100644 index 0000000..59bad5f --- /dev/null +++ b/pjlib/src/pj/rand.c @@ -0,0 +1,35 @@ +/* $Id: rand.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + +PJ_DEF(void) pj_srand(unsigned int seed) +{ + PJ_CHECK_STACK(); + platform_srand(seed); +} + +PJ_DEF(int) pj_rand(void) +{ + PJ_CHECK_STACK(); + return platform_rand(); +} + diff --git a/pjlib/src/pj/rbtree.c b/pjlib/src/pj/rbtree.c new file mode 100644 index 0000000..37c977e --- /dev/null +++ b/pjlib/src/pj/rbtree.c @@ -0,0 +1,428 @@ +/* $Id: rbtree.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include + +static void left_rotate( pj_rbtree *tree, pj_rbtree_node *node ) +{ + pj_rbtree_node *rnode, *parent; + + PJ_CHECK_STACK(); + + rnode = node->right; + if (rnode == tree->null) + return; + + node->right = rnode->left; + if (rnode->left != tree->null) + rnode->left->parent = node; + parent = node->parent; + rnode->parent = parent; + if (parent != tree->null) { + if (parent->left == node) + parent->left = rnode; + else + parent->right = rnode; + } else { + tree->root = rnode; + } + rnode->left = node; + node->parent = rnode; +} + +static void right_rotate( pj_rbtree *tree, pj_rbtree_node *node ) +{ + pj_rbtree_node *lnode, *parent; + + PJ_CHECK_STACK(); + + lnode = node->left; + if (lnode == tree->null) + return; + + node->left = lnode->right; + if (lnode->right != tree->null) + lnode->right->parent = node; + parent = node->parent; + lnode->parent = parent; + + if (parent != tree->null) { + if (parent->left == node) + parent->left = lnode; + else + parent->right = lnode; + } else { + tree->root = lnode; + } + lnode->right = node; + node->parent = lnode; +} + +static void insert_fixup( pj_rbtree *tree, pj_rbtree_node *node ) +{ + pj_rbtree_node *temp, *parent; + + PJ_CHECK_STACK(); + + while (node != tree->root && node->parent->color == PJ_RBCOLOR_RED) { + parent = node->parent; + if (parent == parent->parent->left) { + temp = parent->parent->right; + if (temp->color == PJ_RBCOLOR_RED) { + temp->color = PJ_RBCOLOR_BLACK; + node = parent; + node->color = PJ_RBCOLOR_BLACK; + node = node->parent; + node->color = PJ_RBCOLOR_RED; + } else { + if (node == parent->right) { + node = parent; + left_rotate(tree, node); + } + temp = node->parent; + temp->color = PJ_RBCOLOR_BLACK; + temp = temp->parent; + temp->color = PJ_RBCOLOR_RED; + right_rotate( tree, temp); + } + } else { + temp = parent->parent->left; + if (temp->color == PJ_RBCOLOR_RED) { + temp->color = PJ_RBCOLOR_BLACK; + node = parent; + node->color = PJ_RBCOLOR_BLACK; + node = node->parent; + node->color = PJ_RBCOLOR_RED; + } else { + if (node == parent->left) { + node = parent; + right_rotate(tree, node); + } + temp = node->parent; + temp->color = PJ_RBCOLOR_BLACK; + temp = temp->parent; + temp->color = PJ_RBCOLOR_RED; + left_rotate(tree, temp); + } + } + } + + tree->root->color = PJ_RBCOLOR_BLACK; +} + + +static void delete_fixup( pj_rbtree *tree, pj_rbtree_node *node ) +{ + pj_rbtree_node *temp; + + PJ_CHECK_STACK(); + + while (node != tree->root && node->color == PJ_RBCOLOR_BLACK) { + if (node->parent->left == node) { + temp = node->parent->right; + if (temp->color == PJ_RBCOLOR_RED) { + temp->color = PJ_RBCOLOR_BLACK; + node->parent->color = PJ_RBCOLOR_RED; + left_rotate(tree, node->parent); + temp = node->parent->right; + } + if (temp->left->color == PJ_RBCOLOR_BLACK && + temp->right->color == PJ_RBCOLOR_BLACK) + { + temp->color = PJ_RBCOLOR_RED; + node = node->parent; + } else { + if (temp->right->color == PJ_RBCOLOR_BLACK) { + temp->left->color = PJ_RBCOLOR_BLACK; + temp->color = PJ_RBCOLOR_RED; + right_rotate( tree, temp); + temp = node->parent->right; + } + temp->color = node->parent->color; + temp->right->color = PJ_RBCOLOR_BLACK; + node->parent->color = PJ_RBCOLOR_BLACK; + left_rotate(tree, node->parent); + node = tree->root; + } + } else { + temp = node->parent->left; + if (temp->color == PJ_RBCOLOR_RED) { + temp->color = PJ_RBCOLOR_BLACK; + node->parent->color = PJ_RBCOLOR_RED; + right_rotate( tree, node->parent); + temp = node->parent->left; + } + if (temp->right->color == PJ_RBCOLOR_BLACK && + temp->left->color == PJ_RBCOLOR_BLACK) + { + temp->color = PJ_RBCOLOR_RED; + node = node->parent; + } else { + if (temp->left->color == PJ_RBCOLOR_BLACK) { + temp->right->color = PJ_RBCOLOR_BLACK; + temp->color = PJ_RBCOLOR_RED; + left_rotate( tree, temp); + temp = node->parent->left; + } + temp->color = node->parent->color; + node->parent->color = PJ_RBCOLOR_BLACK; + temp->left->color = PJ_RBCOLOR_BLACK; + right_rotate(tree, node->parent); + node = tree->root; + } + } + } + + node->color = PJ_RBCOLOR_BLACK; +} + + +PJ_DEF(void) pj_rbtree_init( pj_rbtree *tree, pj_rbtree_comp *comp ) +{ + PJ_CHECK_STACK(); + + tree->null = tree->root = &tree->null_node; + tree->null->key = NULL; + tree->null->user_data = NULL; + tree->size = 0; + tree->null->left = tree->null->right = tree->null->parent = tree->null; + tree->null->color = PJ_RBCOLOR_BLACK; + tree->comp = comp; +} + +PJ_DEF(pj_rbtree_node*) pj_rbtree_first( pj_rbtree *tree ) +{ + register pj_rbtree_node *node = tree->root; + register pj_rbtree_node *null = tree->null; + + PJ_CHECK_STACK(); + + while (node->left != null) + node = node->left; + return node != null ? node : NULL; +} + +PJ_DEF(pj_rbtree_node*) pj_rbtree_last( pj_rbtree *tree ) +{ + register pj_rbtree_node *node = tree->root; + register pj_rbtree_node *null = tree->null; + + PJ_CHECK_STACK(); + + while (node->right != null) + node = node->right; + return node != null ? node : NULL; +} + +PJ_DEF(pj_rbtree_node*) pj_rbtree_next( pj_rbtree *tree, + register pj_rbtree_node *node ) +{ + register pj_rbtree_node *null = tree->null; + + PJ_CHECK_STACK(); + + if (node->right != null) { + for (node=node->right; node->left!=null; node = node->left) + /* void */; + } else { + register pj_rbtree_node *temp = node->parent; + while (temp!=null && temp->right==node) { + node = temp; + temp = temp->parent; + } + node = temp; + } + return node != null ? node : NULL; +} + +PJ_DEF(pj_rbtree_node*) pj_rbtree_prev( pj_rbtree *tree, + register pj_rbtree_node *node ) +{ + register pj_rbtree_node *null = tree->null; + + PJ_CHECK_STACK(); + + if (node->left != null) { + for (node=node->left; node->right!=null; node=node->right) + /* void */; + } else { + register pj_rbtree_node *temp = node->parent; + while (temp!=null && temp->left==node) { + node = temp; + temp = temp->parent; + } + node = temp; + } + return node != null ? node : NULL; +} + +PJ_DEF(int) pj_rbtree_insert( pj_rbtree *tree, + pj_rbtree_node *element ) +{ + int rv = 0; + pj_rbtree_node *node, *parent = tree->null, + *null = tree->null; + pj_rbtree_comp *comp = tree->comp; + + PJ_CHECK_STACK(); + + node = tree->root; + while (node != null) { + rv = (*comp)(element->key, node->key); + if (rv == 0) { + /* found match, i.e. entry with equal key already exist */ + return -1; + } + parent = node; + node = rv < 0 ? node->left : node->right; + } + + element->color = PJ_RBCOLOR_RED; + element->left = element->right = null; + + node = element; + if (parent != null) { + node->parent = parent; + if (rv < 0) + parent->left = node; + else + parent->right = node; + insert_fixup( tree, node); + } else { + tree->root = node; + node->parent = null; + node->color = PJ_RBCOLOR_BLACK; + } + + ++tree->size; + return 0; +} + + +PJ_DEF(pj_rbtree_node*) pj_rbtree_find( pj_rbtree *tree, + const void *key ) +{ + int rv; + pj_rbtree_node *node = tree->root; + pj_rbtree_node *null = tree->null; + pj_rbtree_comp *comp = tree->comp; + + while (node != null) { + rv = (*comp)(key, node->key); + if (rv == 0) + return node; + node = rv < 0 ? node->left : node->right; + } + return node != null ? node : NULL; +} + +PJ_DEF(pj_rbtree_node*) pj_rbtree_erase( pj_rbtree *tree, + pj_rbtree_node *node ) +{ + pj_rbtree_node *succ; + pj_rbtree_node *null = tree->null; + pj_rbtree_node *child; + pj_rbtree_node *parent; + + PJ_CHECK_STACK(); + + if (node->left == null || node->right == null) { + succ = node; + } else { + for (succ=node->right; succ->left!=null; succ=succ->left) + /* void */; + } + + child = succ->left != null ? succ->left : succ->right; + parent = succ->parent; + child->parent = parent; + + if (parent != null) { + if (parent->left == succ) + parent->left = child; + else + parent->right = child; + } else + tree->root = child; + + if (succ != node) { + succ->parent = node->parent; + succ->left = node->left; + succ->right = node->right; + succ->color = node->color; + + parent = node->parent; + if (parent != null) { + if (parent->left==node) + parent->left=succ; + else + parent->right=succ; + } + if (node->left != null) + node->left->parent = succ;; + if (node->right != null) + node->right->parent = succ; + + if (tree->root == node) + tree->root = succ; + } + + if (succ->color == PJ_RBCOLOR_BLACK) { + if (child != null) + delete_fixup(tree, child); + tree->null->color = PJ_RBCOLOR_BLACK; + } + + --tree->size; + return node; +} + + +PJ_DEF(unsigned) pj_rbtree_max_height( pj_rbtree *tree, + pj_rbtree_node *node ) +{ + unsigned l, r; + + PJ_CHECK_STACK(); + + if (node==NULL) + node = tree->root; + + l = node->left != tree->null ? pj_rbtree_max_height(tree,node->left)+1 : 0; + r = node->right != tree->null ? pj_rbtree_max_height(tree,node->right)+1 : 0; + return l > r ? l : r; +} + +PJ_DEF(unsigned) pj_rbtree_min_height( pj_rbtree *tree, + pj_rbtree_node *node ) +{ + unsigned l, r; + + PJ_CHECK_STACK(); + + if (node==NULL) + node=tree->root; + + l = (node->left != tree->null) ? pj_rbtree_max_height(tree,node->left)+1 : 0; + r = (node->right != tree->null) ? pj_rbtree_max_height(tree,node->right)+1 : 0; + return l > r ? r : l; +} + + diff --git a/pjlib/src/pj/sock_bsd.c b/pjlib/src/pj/sock_bsd.c new file mode 100644 index 0000000..8c2b577 --- /dev/null +++ b/pjlib/src/pj/sock_bsd.c @@ -0,0 +1,892 @@ +/* $Id: sock_bsd.c 4860 2014-06-19 05:07:12Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include + +#define THIS_FILE "sock_bsd.c" + +/* + * Address families conversion. + * The values here are indexed based on pj_addr_family. + */ +const pj_uint16_t PJ_AF_UNSPEC = AF_UNSPEC; +const pj_uint16_t PJ_AF_UNIX = AF_UNIX; +const pj_uint16_t PJ_AF_INET = AF_INET; +const pj_uint16_t PJ_AF_INET6 = AF_INET6; +#ifdef AF_PACKET +const pj_uint16_t PJ_AF_PACKET = AF_PACKET; +#else +const pj_uint16_t PJ_AF_PACKET = 0xFFFF; +#endif +#ifdef AF_IRDA +const pj_uint16_t PJ_AF_IRDA = AF_IRDA; +#else +const pj_uint16_t PJ_AF_IRDA = 0xFFFF; +#endif + +/* + * Socket types conversion. + * The values here are indexed based on pj_sock_type + */ +const pj_uint16_t PJ_SOCK_STREAM= SOCK_STREAM; +const pj_uint16_t PJ_SOCK_DGRAM = SOCK_DGRAM; +const pj_uint16_t PJ_SOCK_RAW = SOCK_RAW; +const pj_uint16_t PJ_SOCK_RDM = SOCK_RDM; + +/* + * Socket level values. + */ +const pj_uint16_t PJ_SOL_SOCKET = SOL_SOCKET; +#ifdef SOL_IP +const pj_uint16_t PJ_SOL_IP = SOL_IP; +#elif (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_WIN64) && PJ_WIN64) +const pj_uint16_t PJ_SOL_IP = IPPROTO_IP; +#else +const pj_uint16_t PJ_SOL_IP = 0; +#endif /* SOL_IP */ + +#if defined(SOL_TCP) +const pj_uint16_t PJ_SOL_TCP = SOL_TCP; +#elif defined(IPPROTO_TCP) +const pj_uint16_t PJ_SOL_TCP = IPPROTO_TCP; +#elif (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_WIN64) && PJ_WIN64) +const pj_uint16_t PJ_SOL_TCP = IPPROTO_TCP; +#else +const pj_uint16_t PJ_SOL_TCP = 6; +#endif /* SOL_TCP */ + +#ifdef SOL_UDP +const pj_uint16_t PJ_SOL_UDP = SOL_UDP; +#elif defined(IPPROTO_UDP) +const pj_uint16_t PJ_SOL_UDP = IPPROTO_UDP; +#elif (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_WIN64) && PJ_WIN64) +const pj_uint16_t PJ_SOL_UDP = IPPROTO_UDP; +#else +const pj_uint16_t PJ_SOL_UDP = 17; +#endif /* SOL_UDP */ + +#ifdef SOL_IPV6 +const pj_uint16_t PJ_SOL_IPV6 = SOL_IPV6; +#elif (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_WIN64) && PJ_WIN64) +# if defined(IPPROTO_IPV6) || (_WIN32_WINNT >= 0x0501) + const pj_uint16_t PJ_SOL_IPV6 = IPPROTO_IPV6; +# else + const pj_uint16_t PJ_SOL_IPV6 = 41; +# endif +#else +const pj_uint16_t PJ_SOL_IPV6 = 41; +#endif /* SOL_IPV6 */ + +/* IP_TOS */ +#ifdef IP_TOS +const pj_uint16_t PJ_IP_TOS = IP_TOS; +#else +const pj_uint16_t PJ_IP_TOS = 1; +#endif + + +/* TOS settings (declared in netinet/ip.h) */ +#ifdef IPTOS_LOWDELAY +const pj_uint16_t PJ_IPTOS_LOWDELAY = IPTOS_LOWDELAY; +#else +const pj_uint16_t PJ_IPTOS_LOWDELAY = 0x10; +#endif +#ifdef IPTOS_THROUGHPUT +const pj_uint16_t PJ_IPTOS_THROUGHPUT = IPTOS_THROUGHPUT; +#else +const pj_uint16_t PJ_IPTOS_THROUGHPUT = 0x08; +#endif +#ifdef IPTOS_RELIABILITY +const pj_uint16_t PJ_IPTOS_RELIABILITY = IPTOS_RELIABILITY; +#else +const pj_uint16_t PJ_IPTOS_RELIABILITY = 0x04; +#endif +#ifdef IPTOS_MINCOST +const pj_uint16_t PJ_IPTOS_MINCOST = IPTOS_MINCOST; +#else +const pj_uint16_t PJ_IPTOS_MINCOST = 0x02; +#endif + + +/* optname values. */ +const pj_uint16_t PJ_SO_TYPE = SO_TYPE; +const pj_uint16_t PJ_SO_RCVBUF = SO_RCVBUF; +const pj_uint16_t PJ_SO_SNDBUF = SO_SNDBUF; +const pj_uint16_t PJ_TCP_NODELAY= TCP_NODELAY; +const pj_uint16_t PJ_SO_REUSEADDR= SO_REUSEADDR; +#ifdef SO_NOSIGPIPE +const pj_uint16_t PJ_SO_NOSIGPIPE = SO_NOSIGPIPE; +#else +const pj_uint16_t PJ_SO_NOSIGPIPE = 0xFFFF; +#endif +#if defined(SO_PRIORITY) +const pj_uint16_t PJ_SO_PRIORITY = SO_PRIORITY; +#else +/* This is from Linux, YMMV */ +const pj_uint16_t PJ_SO_PRIORITY = 12; +#endif + +/* Multicasting is not supported e.g. in PocketPC 2003 SDK */ +#ifdef IP_MULTICAST_IF +const pj_uint16_t PJ_IP_MULTICAST_IF = IP_MULTICAST_IF; +const pj_uint16_t PJ_IP_MULTICAST_TTL = IP_MULTICAST_TTL; +const pj_uint16_t PJ_IP_MULTICAST_LOOP = IP_MULTICAST_LOOP; +const pj_uint16_t PJ_IP_ADD_MEMBERSHIP = IP_ADD_MEMBERSHIP; +const pj_uint16_t PJ_IP_DROP_MEMBERSHIP = IP_DROP_MEMBERSHIP; +#else +const pj_uint16_t PJ_IP_MULTICAST_IF = 0xFFFF; +const pj_uint16_t PJ_IP_MULTICAST_TTL = 0xFFFF; +const pj_uint16_t PJ_IP_MULTICAST_LOOP = 0xFFFF; +const pj_uint16_t PJ_IP_ADD_MEMBERSHIP = 0xFFFF; +const pj_uint16_t PJ_IP_DROP_MEMBERSHIP = 0xFFFF; +#endif + +/* recv() and send() flags */ +const int PJ_MSG_OOB = MSG_OOB; +const int PJ_MSG_PEEK = MSG_PEEK; +const int PJ_MSG_DONTROUTE = MSG_DONTROUTE; + + +#if 0 +static void CHECK_ADDR_LEN(const pj_sockaddr *addr, int len) +{ + pj_sockaddr *a = (pj_sockaddr*)addr; + pj_assert((a->addr.sa_family==PJ_AF_INET && len==sizeof(pj_sockaddr_in)) || + (a->addr.sa_family==PJ_AF_INET6 && len==sizeof(pj_sockaddr_in6))); + +} +#else +#define CHECK_ADDR_LEN(addr,len) +#endif + +/* + * Convert 16-bit value from network byte order to host byte order. + */ +PJ_DEF(pj_uint16_t) pj_ntohs(pj_uint16_t netshort) +{ + return ntohs(netshort); +} + +/* + * Convert 16-bit value from host byte order to network byte order. + */ +PJ_DEF(pj_uint16_t) pj_htons(pj_uint16_t hostshort) +{ + return htons(hostshort); +} + +/* + * Convert 32-bit value from network byte order to host byte order. + */ +PJ_DEF(pj_uint32_t) pj_ntohl(pj_uint32_t netlong) +{ + return ntohl(netlong); +} + +/* + * Convert 32-bit value from host byte order to network byte order. + */ +PJ_DEF(pj_uint32_t) pj_htonl(pj_uint32_t hostlong) +{ + return htonl(hostlong); +} + +/* + * Convert an Internet host address given in network byte order + * to string in standard numbers and dots notation. + */ +PJ_DEF(char*) pj_inet_ntoa(pj_in_addr inaddr) +{ +#if !defined(PJ_LINUX) && !defined(PJ_LINUX_KERNEL) + return inet_ntoa(*(struct in_addr*)&inaddr); +#else + struct in_addr addr; + addr.s_addr = inaddr.s_addr; + return inet_ntoa(addr); +#endif +} + +/* + * This function converts the Internet host address cp from the standard + * numbers-and-dots notation into binary data and stores it in the structure + * that inp points to. + */ +PJ_DEF(int) pj_inet_aton(const pj_str_t *cp, struct pj_in_addr *inp) +{ + char tempaddr[PJ_INET_ADDRSTRLEN]; + + /* Initialize output with PJ_INADDR_NONE. + * Some apps relies on this instead of the return value + * (and anyway the return value is quite confusing!) + */ + inp->s_addr = PJ_INADDR_NONE; + + /* Caution: + * this function might be called with cp->slen >= 16 + * (i.e. when called with hostname to check if it's an IP addr). + */ + PJ_ASSERT_RETURN(cp && cp->slen && inp, 0); + if (cp->slen >= PJ_INET_ADDRSTRLEN) { + return 0; + } + + pj_memcpy(tempaddr, cp->ptr, cp->slen); + tempaddr[cp->slen] = '\0'; + +#if defined(PJ_SOCK_HAS_INET_ATON) && PJ_SOCK_HAS_INET_ATON != 0 + return inet_aton(tempaddr, (struct in_addr*)inp); +#else + inp->s_addr = inet_addr(tempaddr); + return inp->s_addr == PJ_INADDR_NONE ? 0 : 1; +#endif +} + +/* + * Convert text to IPv4/IPv6 address. + */ +PJ_DEF(pj_status_t) pj_inet_pton(int af, const pj_str_t *src, void *dst) +{ + char tempaddr[PJ_INET6_ADDRSTRLEN]; + + PJ_ASSERT_RETURN(af==PJ_AF_INET || af==PJ_AF_INET6, PJ_EAFNOTSUP); + PJ_ASSERT_RETURN(src && src->slen && dst, PJ_EINVAL); + + /* Initialize output with PJ_IN_ADDR_NONE for IPv4 (to be + * compatible with pj_inet_aton() + */ + if (af==PJ_AF_INET) { + ((pj_in_addr*)dst)->s_addr = PJ_INADDR_NONE; + } + + /* Caution: + * this function might be called with cp->slen >= 46 + * (i.e. when called with hostname to check if it's an IP addr). + */ + if (src->slen >= PJ_INET6_ADDRSTRLEN) { + return PJ_ENAMETOOLONG; + } + + pj_memcpy(tempaddr, src->ptr, src->slen); + tempaddr[src->slen] = '\0'; + +#if defined(PJ_SOCK_HAS_INET_PTON) && PJ_SOCK_HAS_INET_PTON != 0 + /* + * Implementation using inet_pton() + */ + if (inet_pton(af, tempaddr, dst) != 1) { + pj_status_t status = pj_get_netos_error(); + if (status == PJ_SUCCESS) + status = PJ_EUNKNOWN; + + return status; + } + + return PJ_SUCCESS; + +#elif defined(PJ_WIN32) || defined(PJ_WIN64) || defined(PJ_WIN32_WINCE) + /* + * Implementation on Windows, using WSAStringToAddress(). + * Should also work on Unicode systems. + */ + { + PJ_DECL_UNICODE_TEMP_BUF(wtempaddr,PJ_INET6_ADDRSTRLEN) + pj_sockaddr sock_addr; + int addr_len = sizeof(sock_addr); + int rc; + + sock_addr.addr.sa_family = (pj_uint16_t)af; + rc = WSAStringToAddress( + PJ_STRING_TO_NATIVE(tempaddr,wtempaddr,sizeof(wtempaddr)), + af, NULL, (LPSOCKADDR)&sock_addr, &addr_len); + if (rc != 0) { + /* If you get rc 130022 Invalid argument (WSAEINVAL) with IPv6, + * check that you have IPv6 enabled (install it in the network + * adapter). + */ + pj_status_t status = pj_get_netos_error(); + if (status == PJ_SUCCESS) + status = PJ_EUNKNOWN; + + return status; + } + + if (sock_addr.addr.sa_family == PJ_AF_INET) { + pj_memcpy(dst, &sock_addr.ipv4.sin_addr, 4); + return PJ_SUCCESS; + } else if (sock_addr.addr.sa_family == PJ_AF_INET6) { + pj_memcpy(dst, &sock_addr.ipv6.sin6_addr, 16); + return PJ_SUCCESS; + } else { + pj_assert(!"Shouldn't happen"); + return PJ_EBUG; + } + } +#elif !defined(PJ_HAS_IPV6) || PJ_HAS_IPV6==0 + /* IPv6 support is disabled, just return error without raising assertion */ + return PJ_EIPV6NOTSUP; +#else + pj_assert(!"Not supported"); + return PJ_EIPV6NOTSUP; +#endif +} + +/* + * Convert IPv4/IPv6 address to text. + */ +PJ_DEF(pj_status_t) pj_inet_ntop(int af, const void *src, + char *dst, int size) + +{ + PJ_ASSERT_RETURN(src && dst && size, PJ_EINVAL); + + *dst = '\0'; + + PJ_ASSERT_RETURN(af==PJ_AF_INET || af==PJ_AF_INET6, PJ_EAFNOTSUP); + +#if defined(PJ_SOCK_HAS_INET_NTOP) && PJ_SOCK_HAS_INET_NTOP != 0 + /* + * Implementation using inet_ntop() + */ + if (inet_ntop(af, src, dst, size) == NULL) { + pj_status_t status = pj_get_netos_error(); + if (status == PJ_SUCCESS) + status = PJ_EUNKNOWN; + + return status; + } + + return PJ_SUCCESS; + +#elif defined(PJ_WIN32) || defined(PJ_WIN64) || defined(PJ_WIN32_WINCE) + /* + * Implementation on Windows, using WSAAddressToString(). + * Should also work on Unicode systems. + */ + { + PJ_DECL_UNICODE_TEMP_BUF(wtempaddr,PJ_INET6_ADDRSTRLEN) + pj_sockaddr sock_addr; + DWORD addr_len, addr_str_len; + int rc; + + pj_bzero(&sock_addr, sizeof(sock_addr)); + sock_addr.addr.sa_family = (pj_uint16_t)af; + if (af == PJ_AF_INET) { + if (size < PJ_INET_ADDRSTRLEN) + return PJ_ETOOSMALL; + pj_memcpy(&sock_addr.ipv4.sin_addr, src, 4); + addr_len = sizeof(pj_sockaddr_in); + addr_str_len = PJ_INET_ADDRSTRLEN; + } else if (af == PJ_AF_INET6) { + if (size < PJ_INET6_ADDRSTRLEN) + return PJ_ETOOSMALL; + pj_memcpy(&sock_addr.ipv6.sin6_addr, src, 16); + addr_len = sizeof(pj_sockaddr_in6); + addr_str_len = PJ_INET6_ADDRSTRLEN; + } else { + pj_assert(!"Unsupported address family"); + return PJ_EAFNOTSUP; + } + +#if PJ_NATIVE_STRING_IS_UNICODE + rc = WSAAddressToString((LPSOCKADDR)&sock_addr, addr_len, + NULL, wtempaddr, &addr_str_len); + if (rc == 0) { + pj_unicode_to_ansi(wtempaddr, wcslen(wtempaddr), dst, size); + } +#else + rc = WSAAddressToString((LPSOCKADDR)&sock_addr, addr_len, + NULL, dst, &addr_str_len); +#endif + + if (rc != 0) { + pj_status_t status = pj_get_netos_error(); + if (status == PJ_SUCCESS) + status = PJ_EUNKNOWN; + + return status; + } + + return PJ_SUCCESS; + } + +#elif !defined(PJ_HAS_IPV6) || PJ_HAS_IPV6==0 + /* IPv6 support is disabled, just return error without raising assertion */ + return PJ_EIPV6NOTSUP; +#else + pj_assert(!"Not supported"); + return PJ_EIPV6NOTSUP; +#endif +} + +/* + * Get hostname. + */ +PJ_DEF(const pj_str_t*) pj_gethostname(void) +{ + static char buf[PJ_MAX_HOSTNAME]; + static pj_str_t hostname; + + PJ_CHECK_STACK(); + + if (hostname.ptr == NULL) { + hostname.ptr = buf; + if (gethostname(buf, sizeof(buf)) != 0) { + hostname.ptr[0] = '\0'; + hostname.slen = 0; + } else { + hostname.slen = strlen(buf); + } + } + return &hostname; +} + +#if defined(PJ_WIN32) || defined(PJ_WIN64) +/* + * Create new socket/endpoint for communication and returns a descriptor. + */ +PJ_DEF(pj_status_t) pj_sock_socket(int af, + int type, + int proto, + pj_sock_t *sock) +{ + PJ_CHECK_STACK(); + + /* Sanity checks. */ + PJ_ASSERT_RETURN(sock!=NULL, PJ_EINVAL); + PJ_ASSERT_RETURN((SOCKET)PJ_INVALID_SOCKET==INVALID_SOCKET, + (*sock=PJ_INVALID_SOCKET, PJ_EINVAL)); + + *sock = WSASocket(af, type, proto, NULL, 0, WSA_FLAG_OVERLAPPED); + + if (*sock == PJ_INVALID_SOCKET) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + +#if PJ_SOCK_DISABLE_WSAECONNRESET && \ + (!defined(PJ_WIN32_WINCE) || PJ_WIN32_WINCE==0) + +#ifndef SIO_UDP_CONNRESET + #define SIO_UDP_CONNRESET _WSAIOW(IOC_VENDOR,12) +#endif + + /* Disable WSAECONNRESET for UDP. + * See https://trac.pjsip.org/repos/ticket/1197 + */ + if (type==PJ_SOCK_DGRAM) { + DWORD dwBytesReturned = 0; + BOOL bNewBehavior = FALSE; + DWORD rc; + + rc = WSAIoctl(*sock, SIO_UDP_CONNRESET, + &bNewBehavior, sizeof(bNewBehavior), + NULL, 0, &dwBytesReturned, + NULL, NULL); + + if (rc==SOCKET_ERROR) { + // Ignored.. + } + } +#endif + + return PJ_SUCCESS; +} + +#else +/* + * Create new socket/endpoint for communication and returns a descriptor. + */ +PJ_DEF(pj_status_t) pj_sock_socket(int af, + int type, + int proto, + pj_sock_t *sock) +{ + + PJ_CHECK_STACK(); + + /* Sanity checks. */ + PJ_ASSERT_RETURN(sock!=NULL, PJ_EINVAL); + PJ_ASSERT_RETURN(PJ_INVALID_SOCKET==-1, + (*sock=PJ_INVALID_SOCKET, PJ_EINVAL)); + + *sock = socket(af, type, proto); + if (*sock == PJ_INVALID_SOCKET) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else { + pj_int32_t val = 1; + if (type == pj_SOCK_STREAM()) { + pj_sock_setsockopt(*sock, pj_SOL_SOCKET(), pj_SO_NOSIGPIPE(), + &val, sizeof(val)); + } +#if defined(PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT) && \ + PJ_IPHONE_OS_HAS_MULTITASKING_SUPPORT!=0 + if (type == pj_SOCK_DGRAM()) { + pj_sock_setsockopt(*sock, pj_SOL_SOCKET(), SO_NOSIGPIPE, + &val, sizeof(val)); + } +#endif + return PJ_SUCCESS; + } +} +#endif + +/* + * Bind socket. + */ +PJ_DEF(pj_status_t) pj_sock_bind( pj_sock_t sock, + const pj_sockaddr_t *addr, + int len) +{ + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(addr && len >= (int)sizeof(struct sockaddr_in), PJ_EINVAL); + + CHECK_ADDR_LEN(addr, len); + + if (bind(sock, (struct sockaddr*)addr, len) != 0) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else + return PJ_SUCCESS; +} + + +/* + * Bind socket. + */ +PJ_DEF(pj_status_t) pj_sock_bind_in( pj_sock_t sock, + pj_uint32_t addr32, + pj_uint16_t port) +{ + pj_sockaddr_in addr; + + PJ_CHECK_STACK(); + + PJ_SOCKADDR_SET_LEN(&addr, sizeof(pj_sockaddr_in)); + addr.sin_family = PJ_AF_INET; + pj_bzero(addr.sin_zero, sizeof(addr.sin_zero)); + addr.sin_addr.s_addr = pj_htonl(addr32); + addr.sin_port = pj_htons(port); + + return pj_sock_bind(sock, &addr, sizeof(pj_sockaddr_in)); +} + + +/* + * Close socket. + */ +PJ_DEF(pj_status_t) pj_sock_close(pj_sock_t sock) +{ + int rc; + + PJ_CHECK_STACK(); +#if defined(PJ_WIN32) && PJ_WIN32!=0 || \ + defined(PJ_WIN64) && PJ_WIN64 != 0 || \ + defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 + rc = closesocket(sock); +#else + rc = close(sock); +#endif + + if (rc != 0) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else + return PJ_SUCCESS; +} + +/* + * Get remote's name. + */ +PJ_DEF(pj_status_t) pj_sock_getpeername( pj_sock_t sock, + pj_sockaddr_t *addr, + int *namelen) +{ + PJ_CHECK_STACK(); + if (getpeername(sock, (struct sockaddr*)addr, (socklen_t*)namelen) != 0) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else { + PJ_SOCKADDR_RESET_LEN(addr); + return PJ_SUCCESS; + } +} + +/* + * Get socket name. + */ +PJ_DEF(pj_status_t) pj_sock_getsockname( pj_sock_t sock, + pj_sockaddr_t *addr, + int *namelen) +{ + PJ_CHECK_STACK(); + if (getsockname(sock, (struct sockaddr*)addr, (socklen_t*)namelen) != 0) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else { + PJ_SOCKADDR_RESET_LEN(addr); + return PJ_SUCCESS; + } +} + +/* + * Send data + */ +PJ_DEF(pj_status_t) pj_sock_send(pj_sock_t sock, + const void *buf, + pj_ssize_t *len, + unsigned flags) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(len, PJ_EINVAL); + +#ifdef MSG_NOSIGNAL + /* Suppress SIGPIPE. See https://trac.pjsip.org/repos/ticket/1538 */ + flags |= MSG_NOSIGNAL; +#endif + + *len = send(sock, (const char*)buf, (int)(*len), flags); + + if (*len < 0) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else + return PJ_SUCCESS; +} + + +/* + * Send data. + */ +PJ_DEF(pj_status_t) pj_sock_sendto(pj_sock_t sock, + const void *buf, + pj_ssize_t *len, + unsigned flags, + const pj_sockaddr_t *to, + int tolen) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(len, PJ_EINVAL); + + CHECK_ADDR_LEN(to, tolen); + + *len = sendto(sock, (const char*)buf, (int)(*len), flags, + (const struct sockaddr*)to, tolen); + + if (*len < 0) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else + return PJ_SUCCESS; +} + +/* + * Receive data. + */ +PJ_DEF(pj_status_t) pj_sock_recv(pj_sock_t sock, + void *buf, + pj_ssize_t *len, + unsigned flags) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(buf && len, PJ_EINVAL); + + *len = recv(sock, (char*)buf, (int)(*len), flags); + + if (*len < 0) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else + return PJ_SUCCESS; +} + +/* + * Receive data. + */ +PJ_DEF(pj_status_t) pj_sock_recvfrom(pj_sock_t sock, + void *buf, + pj_ssize_t *len, + unsigned flags, + pj_sockaddr_t *from, + int *fromlen) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(buf && len, PJ_EINVAL); + + *len = recvfrom(sock, (char*)buf, (int)(*len), flags, + (struct sockaddr*)from, (socklen_t*)fromlen); + + if (*len < 0) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else { + if (from) { + PJ_SOCKADDR_RESET_LEN(from); + } + return PJ_SUCCESS; + } +} + +/* + * Get socket option. + */ +PJ_DEF(pj_status_t) pj_sock_getsockopt( pj_sock_t sock, + pj_uint16_t level, + pj_uint16_t optname, + void *optval, + int *optlen) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(optval && optlen, PJ_EINVAL); + + if (getsockopt(sock, level, optname, (char*)optval, (socklen_t*)optlen)!=0) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else + return PJ_SUCCESS; +} + +/* + * Set socket option. + */ +PJ_DEF(pj_status_t) pj_sock_setsockopt( pj_sock_t sock, + pj_uint16_t level, + pj_uint16_t optname, + const void *optval, + int optlen) +{ + int status; + PJ_CHECK_STACK(); + +#if (defined(PJ_WIN32) && PJ_WIN32) || (defined(PJ_SUNOS) && PJ_SUNOS) + /* Some opt may still need int value (e.g:SO_EXCLUSIVEADDRUSE in win32). */ + status = setsockopt(sock, + level, + ((optname&0xff00)==0xff00)?(int)optname|0xffff0000:optname, + (const char*)optval, optlen); +#else + status = setsockopt(sock, level, optname, (const char*)optval, optlen); +#endif + + if (status != 0) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else + return PJ_SUCCESS; +} + +/* + * Set socket option. + */ +PJ_DEF(pj_status_t) pj_sock_setsockopt_params( pj_sock_t sockfd, + const pj_sockopt_params *params) +{ + unsigned int i = 0; + pj_status_t retval = PJ_SUCCESS; + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(params, PJ_EINVAL); + + for (;icnt && ioptions[i].level, + (pj_uint16_t)params->options[i].optname, + params->options[i].optval, + params->options[i].optlen); + if (status != PJ_SUCCESS) { + retval = status; + PJ_PERROR(4,(THIS_FILE, status, + "Warning: error applying sock opt %d", + params->options[i].optname)); + } + } + + return retval; +} + +/* + * Connect socket. + */ +PJ_DEF(pj_status_t) pj_sock_connect( pj_sock_t sock, + const pj_sockaddr_t *addr, + int namelen) +{ + PJ_CHECK_STACK(); + if (connect(sock, (struct sockaddr*)addr, namelen) != 0) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else + return PJ_SUCCESS; +} + + +/* + * Shutdown socket. + */ +#if PJ_HAS_TCP +PJ_DEF(pj_status_t) pj_sock_shutdown( pj_sock_t sock, + int how) +{ + PJ_CHECK_STACK(); + if (shutdown(sock, how) != 0) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else + return PJ_SUCCESS; +} + +/* + * Start listening to incoming connections. + */ +PJ_DEF(pj_status_t) pj_sock_listen( pj_sock_t sock, + int backlog) +{ + PJ_CHECK_STACK(); + if (listen(sock, backlog) != 0) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else + return PJ_SUCCESS; +} + +/* + * Accept incoming connections + */ +PJ_DEF(pj_status_t) pj_sock_accept( pj_sock_t serverfd, + pj_sock_t *newsock, + pj_sockaddr_t *addr, + int *addrlen) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(newsock != NULL, PJ_EINVAL); + +#if defined(PJ_SOCKADDR_HAS_LEN) && PJ_SOCKADDR_HAS_LEN!=0 + if (addr) { + PJ_SOCKADDR_SET_LEN(addr, *addrlen); + } +#endif + + *newsock = accept(serverfd, (struct sockaddr*)addr, (socklen_t*)addrlen); + if (*newsock==PJ_INVALID_SOCKET) + return PJ_RETURN_OS_ERROR(pj_get_native_netos_error()); + else { + +#if defined(PJ_SOCKADDR_HAS_LEN) && PJ_SOCKADDR_HAS_LEN!=0 + if (addr) { + PJ_SOCKADDR_RESET_LEN(addr); + } +#endif + + return PJ_SUCCESS; + } +} +#endif /* PJ_HAS_TCP */ + + diff --git a/pjlib/src/pj/sock_common.c b/pjlib/src/pj/sock_common.c new file mode 100644 index 0000000..551a964 --- /dev/null +++ b/pjlib/src/pj/sock_common.c @@ -0,0 +1,1323 @@ +/* $Id: sock_common.c 5092 2015-05-12 01:56:29Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if 0 + /* Enable some tracing */ + #include + #define THIS_FILE "sock_common.c" + #define TRACE_(arg) PJ_LOG(4,arg) +#else + #define TRACE_(arg) +#endif + + +/* + * Convert address string with numbers and dots to binary IP address. + */ +PJ_DEF(pj_in_addr) pj_inet_addr(const pj_str_t *cp) +{ + pj_in_addr addr; + + pj_inet_aton(cp, &addr); + return addr; +} + +/* + * Convert address string with numbers and dots to binary IP address. + */ +PJ_DEF(pj_in_addr) pj_inet_addr2(const char *cp) +{ + pj_str_t str = pj_str((char*)cp); + return pj_inet_addr(&str); +} + +/* + * Get text representation. + */ +PJ_DEF(char*) pj_inet_ntop2( int af, const void *src, + char *dst, int size) +{ + pj_status_t status; + + status = pj_inet_ntop(af, src, dst, size); + return (status==PJ_SUCCESS)? dst : NULL; +} + +/* + * Print socket address. + */ +PJ_DEF(char*) pj_sockaddr_print( const pj_sockaddr_t *addr, + char *buf, int size, + unsigned flags) +{ + enum { + WITH_PORT = 1, + WITH_BRACKETS = 2 + }; + + char txt[PJ_INET6_ADDRSTRLEN]; + char port[32]; + const pj_addr_hdr *h = (const pj_addr_hdr*)addr; + char *bquote, *equote; + pj_status_t status; + + status = pj_inet_ntop(h->sa_family, pj_sockaddr_get_addr(addr), + txt, sizeof(txt)); + if (status != PJ_SUCCESS) + return ""; + + if (h->sa_family != PJ_AF_INET6 || (flags & WITH_BRACKETS)==0) { + bquote = ""; equote = ""; + } else { + bquote = "["; equote = "]"; + } + + if (flags & WITH_PORT) { + pj_ansi_snprintf(port, sizeof(port), ":%d", + pj_sockaddr_get_port(addr)); + } else { + port[0] = '\0'; + } + + pj_ansi_snprintf(buf, size, "%s%s%s%s", + bquote, txt, equote, port); + + return buf; +} + +/* + * Set the IP address of an IP socket address from string address, + * with resolving the host if necessary. The string address may be in a + * standard numbers and dots notation or may be a hostname. If hostname + * is specified, then the function will resolve the host into the IP + * address. + */ +PJ_DEF(pj_status_t) pj_sockaddr_in_set_str_addr( pj_sockaddr_in *addr, + const pj_str_t *str_addr) +{ + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(!str_addr || str_addr->slen < PJ_MAX_HOSTNAME, + (addr->sin_addr.s_addr=PJ_INADDR_NONE, PJ_EINVAL)); + + PJ_SOCKADDR_RESET_LEN(addr); + addr->sin_family = PJ_AF_INET; + pj_bzero(addr->sin_zero, sizeof(addr->sin_zero)); + + if (str_addr && str_addr->slen) { + addr->sin_addr = pj_inet_addr(str_addr); + if (addr->sin_addr.s_addr == PJ_INADDR_NONE) { + pj_hostent he; + pj_status_t rc; + + rc = pj_gethostbyname(str_addr, &he); + if (rc == 0) { + addr->sin_addr.s_addr = *(pj_uint32_t*)he.h_addr; + } else { + addr->sin_addr.s_addr = PJ_INADDR_NONE; + return rc; + } + } + + } else { + addr->sin_addr.s_addr = 0; + } + + return PJ_SUCCESS; +} + +/* Set address from a name */ +PJ_DEF(pj_status_t) pj_sockaddr_set_str_addr(int af, + pj_sockaddr *addr, + const pj_str_t *str_addr) +{ + pj_status_t status; + + if (af == PJ_AF_INET) { + return pj_sockaddr_in_set_str_addr(&addr->ipv4, str_addr); + } + + PJ_ASSERT_RETURN(af==PJ_AF_INET6, PJ_EAFNOTSUP); + + /* IPv6 specific */ + + addr->ipv6.sin6_family = PJ_AF_INET6; + PJ_SOCKADDR_RESET_LEN(addr); + + if (str_addr && str_addr->slen) { + status = pj_inet_pton(PJ_AF_INET6, str_addr, &addr->ipv6.sin6_addr); + if (status != PJ_SUCCESS) { + pj_addrinfo ai; + unsigned count = 1; + + status = pj_getaddrinfo(PJ_AF_INET6, str_addr, &count, &ai); + if (status==PJ_SUCCESS) { + pj_memcpy(&addr->ipv6.sin6_addr, &ai.ai_addr.ipv6.sin6_addr, + sizeof(addr->ipv6.sin6_addr)); + } + } + } else { + status = PJ_SUCCESS; + } + + return status; +} + +/* + * Set the IP address and port of an IP socket address. + * The string address may be in a standard numbers and dots notation or + * may be a hostname. If hostname is specified, then the function will + * resolve the host into the IP address. + */ +PJ_DEF(pj_status_t) pj_sockaddr_in_init( pj_sockaddr_in *addr, + const pj_str_t *str_addr, + pj_uint16_t port) +{ + PJ_ASSERT_RETURN(addr, (addr->sin_addr.s_addr=PJ_INADDR_NONE, PJ_EINVAL)); + + PJ_SOCKADDR_RESET_LEN(addr); + addr->sin_family = PJ_AF_INET; + pj_bzero(addr->sin_zero, sizeof(addr->sin_zero)); + pj_sockaddr_in_set_port(addr, port); + return pj_sockaddr_in_set_str_addr(addr, str_addr); +} + +/* + * Initialize IP socket address based on the address and port info. + */ +PJ_DEF(pj_status_t) pj_sockaddr_init(int af, + pj_sockaddr *addr, + const pj_str_t *cp, + pj_uint16_t port) +{ + pj_status_t status; + + if (af == PJ_AF_INET) { + return pj_sockaddr_in_init(&addr->ipv4, cp, port); + } + + /* IPv6 specific */ + PJ_ASSERT_RETURN(af==PJ_AF_INET6, PJ_EAFNOTSUP); + + pj_bzero(addr, sizeof(pj_sockaddr_in6)); + addr->addr.sa_family = PJ_AF_INET6; + + status = pj_sockaddr_set_str_addr(af, addr, cp); + if (status != PJ_SUCCESS) + return status; + + addr->ipv6.sin6_port = pj_htons(port); + return PJ_SUCCESS; +} + +/* + * Compare two socket addresses. + */ +PJ_DEF(int) pj_sockaddr_cmp( const pj_sockaddr_t *addr1, + const pj_sockaddr_t *addr2) +{ + const pj_sockaddr *a1 = (const pj_sockaddr*) addr1; + const pj_sockaddr *a2 = (const pj_sockaddr*) addr2; + int port1, port2; + int result; + + /* Compare address family */ + if (a1->addr.sa_family < a2->addr.sa_family) + return -1; + else if (a1->addr.sa_family > a2->addr.sa_family) + return 1; + + /* Compare addresses */ + result = pj_memcmp(pj_sockaddr_get_addr(a1), + pj_sockaddr_get_addr(a2), + pj_sockaddr_get_addr_len(a1)); + if (result != 0) + return result; + + /* Compare port number */ + port1 = pj_sockaddr_get_port(a1); + port2 = pj_sockaddr_get_port(a2); + + if (port1 < port2) + return -1; + else if (port1 > port2) + return 1; + + /* TODO: + * Do we need to compare flow label and scope id in IPv6? + */ + + /* Looks equal */ + return 0; +} + +/* + * Get first IP address associated with the hostname. + */ +PJ_DEF(pj_in_addr) pj_gethostaddr(void) +{ + pj_sockaddr_in addr; + const pj_str_t *hostname = pj_gethostname(); + + pj_sockaddr_in_set_str_addr(&addr, hostname); + return addr.sin_addr; +} + +/* + * Get port number of a pj_sockaddr_in + */ +PJ_DEF(pj_uint16_t) pj_sockaddr_in_get_port(const pj_sockaddr_in *addr) +{ + return pj_ntohs(addr->sin_port); +} + +/* + * Get the address part + */ +PJ_DEF(void*) pj_sockaddr_get_addr(const pj_sockaddr_t *addr) +{ + const pj_sockaddr *a = (const pj_sockaddr*)addr; + + PJ_ASSERT_RETURN(a->addr.sa_family == PJ_AF_INET || + a->addr.sa_family == PJ_AF_INET6, NULL); + + if (a->addr.sa_family == PJ_AF_INET6) + return (void*) &a->ipv6.sin6_addr; + else + return (void*) &a->ipv4.sin_addr; +} + +/* + * Check if sockaddr contains a non-zero address + */ +PJ_DEF(pj_bool_t) pj_sockaddr_has_addr(const pj_sockaddr_t *addr) +{ + const pj_sockaddr *a = (const pj_sockaddr*)addr; + + /* It's probably not wise to raise assertion here if + * the address doesn't contain a valid address family, and + * just return PJ_FALSE instead. + * + * The reason is because application may need to distinguish + * these three conditions with sockaddr: + * a) sockaddr is not initialized. This is by convention + * indicated by sa_family==0. + * b) sockaddr is initialized with zero address. This is + * indicated with the address field having zero address. + * c) sockaddr is initialized with valid address/port. + * + * If we enable this assertion, then application will loose + * the capability to specify condition a), since it will be + * forced to always initialize sockaddr (even with zero address). + * This may break some parts of upper layer libraries. + */ + //PJ_ASSERT_RETURN(a->addr.sa_family == PJ_AF_INET || + // a->addr.sa_family == PJ_AF_INET6, PJ_FALSE); + + if (a->addr.sa_family!=PJ_AF_INET && a->addr.sa_family!=PJ_AF_INET6) { + return PJ_FALSE; + } else if (a->addr.sa_family == PJ_AF_INET6) { + pj_uint8_t zero[24]; + pj_bzero(zero, sizeof(zero)); + return pj_memcmp(a->ipv6.sin6_addr.s6_addr, zero, + sizeof(pj_in6_addr)) != 0; + } else + return a->ipv4.sin_addr.s_addr != PJ_INADDR_ANY; +} + +/* + * Get port number + */ +PJ_DEF(pj_uint16_t) pj_sockaddr_get_port(const pj_sockaddr_t *addr) +{ + const pj_sockaddr *a = (const pj_sockaddr*) addr; + + PJ_ASSERT_RETURN(a->addr.sa_family == PJ_AF_INET || + a->addr.sa_family == PJ_AF_INET6, (pj_uint16_t)0xFFFF); + + return pj_ntohs((pj_uint16_t)(a->addr.sa_family == PJ_AF_INET6 ? + a->ipv6.sin6_port : a->ipv4.sin_port)); +} + +/* + * Get the length of the address part. + */ +PJ_DEF(unsigned) pj_sockaddr_get_addr_len(const pj_sockaddr_t *addr) +{ + const pj_sockaddr *a = (const pj_sockaddr*) addr; + PJ_ASSERT_RETURN(a->addr.sa_family == PJ_AF_INET || + a->addr.sa_family == PJ_AF_INET6, 0); + return a->addr.sa_family == PJ_AF_INET6 ? + sizeof(pj_in6_addr) : sizeof(pj_in_addr); +} + +/* + * Get socket address length. + */ +PJ_DEF(unsigned) pj_sockaddr_get_len(const pj_sockaddr_t *addr) +{ + const pj_sockaddr *a = (const pj_sockaddr*) addr; + PJ_ASSERT_RETURN(a->addr.sa_family == PJ_AF_INET || + a->addr.sa_family == PJ_AF_INET6, 0); + return a->addr.sa_family == PJ_AF_INET6 ? + sizeof(pj_sockaddr_in6) : sizeof(pj_sockaddr_in); +} + +/* + * Copy only the address part (sin_addr/sin6_addr) of a socket address. + */ +PJ_DEF(void) pj_sockaddr_copy_addr( pj_sockaddr *dst, + const pj_sockaddr *src) +{ + /* Destination sockaddr might not be initialized */ + const char *srcbuf = (char*)pj_sockaddr_get_addr(src); + char *dstbuf = ((char*)dst) + (srcbuf - (char*)src); + pj_memcpy(dstbuf, srcbuf, pj_sockaddr_get_addr_len(src)); +} + +/* + * Copy socket address. + */ +PJ_DEF(void) pj_sockaddr_cp(pj_sockaddr_t *dst, const pj_sockaddr_t *src) +{ + pj_memcpy(dst, src, pj_sockaddr_get_len(src)); +} + +/* + * Set port number of pj_sockaddr_in + */ +PJ_DEF(void) pj_sockaddr_in_set_port(pj_sockaddr_in *addr, + pj_uint16_t hostport) +{ + addr->sin_port = pj_htons(hostport); +} + +/* + * Set port number of pj_sockaddr + */ +PJ_DEF(pj_status_t) pj_sockaddr_set_port(pj_sockaddr *addr, + pj_uint16_t hostport) +{ + int af = addr->addr.sa_family; + + PJ_ASSERT_RETURN(af==PJ_AF_INET || af==PJ_AF_INET6, PJ_EINVAL); + + if (af == PJ_AF_INET6) + addr->ipv6.sin6_port = pj_htons(hostport); + else + addr->ipv4.sin_port = pj_htons(hostport); + + return PJ_SUCCESS; +} + +/* + * Get IPv4 address + */ +PJ_DEF(pj_in_addr) pj_sockaddr_in_get_addr(const pj_sockaddr_in *addr) +{ + pj_in_addr in_addr; + in_addr.s_addr = pj_ntohl(addr->sin_addr.s_addr); + return in_addr; +} + +/* + * Set IPv4 address + */ +PJ_DEF(void) pj_sockaddr_in_set_addr(pj_sockaddr_in *addr, + pj_uint32_t hostaddr) +{ + addr->sin_addr.s_addr = pj_htonl(hostaddr); +} + +/* + * Parse address + */ +PJ_DEF(pj_status_t) pj_sockaddr_parse2(int af, unsigned options, + const pj_str_t *str, + pj_str_t *p_hostpart, + pj_uint16_t *p_port, + int *raf) +{ + const char *end = str->ptr + str->slen; + const char *last_colon_pos = NULL; + unsigned colon_cnt = 0; + const char *p; + + PJ_ASSERT_RETURN((af==PJ_AF_INET || af==PJ_AF_INET6 || af==PJ_AF_UNSPEC) && + options==0 && + str!=NULL, PJ_EINVAL); + + /* Special handling for empty input */ + if (str->slen==0 || str->ptr==NULL) { + if (p_hostpart) + p_hostpart->slen = 0; + if (p_port) + *p_port = 0; + if (raf) + *raf = PJ_AF_INET; + return PJ_SUCCESS; + } + + /* Count the colon and get the last colon */ + for (p=str->ptr; p!=end; ++p) { + if (*p == ':') { + ++colon_cnt; + last_colon_pos = p; + } + } + + /* Deduce address family if it's not given */ + if (af == PJ_AF_UNSPEC) { + if (colon_cnt > 1) + af = PJ_AF_INET6; + else + af = PJ_AF_INET; + } else if (af == PJ_AF_INET && colon_cnt > 1) + return PJ_EINVAL; + + if (raf) + *raf = af; + + if (af == PJ_AF_INET) { + /* Parse as IPv4. Supported formats: + * - "10.0.0.1:80" + * - "10.0.0.1" + * - "10.0.0.1:" + * - ":80" + * - ":" + */ + pj_str_t hostpart; + unsigned long port; + + hostpart.ptr = (char*)str->ptr; + + if (last_colon_pos) { + pj_str_t port_part; + int i; + + hostpart.slen = last_colon_pos - str->ptr; + + port_part.ptr = (char*)last_colon_pos + 1; + port_part.slen = end - port_part.ptr; + + /* Make sure port number is valid */ + for (i=0; i 65535) + return PJ_EINVAL; + } else { + hostpart.slen = str->slen; + port = 0; + } + + if (p_hostpart) + *p_hostpart = hostpart; + if (p_port) + *p_port = (pj_uint16_t)port; + + return PJ_SUCCESS; + + } else if (af == PJ_AF_INET6) { + + /* Parse as IPv6. Supported formats: + * - "fe::01:80" ==> note: port number is zero in this case, not 80! + * - "[fe::01]:80" + * - "fe::01" + * - "fe::01:" + * - "[fe::01]" + * - "[fe::01]:" + * - "[::]:80" + * - ":::80" + * - "[::]" + * - "[::]:" + * - ":::" + * - "::" + */ + pj_str_t hostpart, port_part; + + if (*str->ptr == '[') { + char *end_bracket; + int i; + unsigned long port; + + if (last_colon_pos == NULL) + return PJ_EINVAL; + + end_bracket = pj_strchr(str, ']'); + if (end_bracket == NULL) + return PJ_EINVAL; + + hostpart.ptr = (char*)str->ptr + 1; + hostpart.slen = end_bracket - hostpart.ptr; + + if (last_colon_pos < end_bracket) { + port_part.ptr = NULL; + port_part.slen = 0; + } else { + port_part.ptr = (char*)last_colon_pos + 1; + port_part.slen = end - port_part.ptr; + } + + /* Make sure port number is valid */ + for (i=0; i 65535) + return PJ_EINVAL; + + if (p_hostpart) + *p_hostpart = hostpart; + if (p_port) + *p_port = (pj_uint16_t)port; + + return PJ_SUCCESS; + + } else { + /* Treat everything as part of the IPv6 IP address */ + if (p_hostpart) + *p_hostpart = *str; + if (p_port) + *p_port = 0; + + return PJ_SUCCESS; + } + + } else { + return PJ_EAFNOTSUP; + } + +} + +/* + * Parse address + */ +PJ_DEF(pj_status_t) pj_sockaddr_parse( int af, unsigned options, + const pj_str_t *str, + pj_sockaddr *addr) +{ + pj_str_t hostpart; + pj_uint16_t port; + pj_status_t status; + + PJ_ASSERT_RETURN(addr, PJ_EINVAL); + PJ_ASSERT_RETURN(af==PJ_AF_UNSPEC || + af==PJ_AF_INET || + af==PJ_AF_INET6, PJ_EINVAL); + PJ_ASSERT_RETURN(options == 0, PJ_EINVAL); + + status = pj_sockaddr_parse2(af, options, str, &hostpart, &port, &af); + if (status != PJ_SUCCESS) + return status; + +#if !defined(PJ_HAS_IPV6) || !PJ_HAS_IPV6 + if (af==PJ_AF_INET6) + return PJ_EIPV6NOTSUP; +#endif + + status = pj_sockaddr_init(af, addr, &hostpart, port); +#if defined(PJ_HAS_IPV6) && PJ_HAS_IPV6 + if (status != PJ_SUCCESS && af == PJ_AF_INET6) { + /* Parsing does not yield valid address. Try to treat the last + * portion after the colon as port number. + */ + const char *last_colon_pos=NULL, *p; + const char *end = str->ptr + str->slen; + unsigned long long_port; + pj_str_t port_part; + int i; + + /* Parse as IPv6:port */ + for (p=str->ptr; p!=end; ++p) { + if (*p == ':') + last_colon_pos = p; + } + + if (last_colon_pos == NULL) + return status; + + hostpart.ptr = (char*)str->ptr; + hostpart.slen = last_colon_pos - str->ptr; + + port_part.ptr = (char*)last_colon_pos + 1; + port_part.slen = end - port_part.ptr; + + /* Make sure port number is valid */ + for (i=0; i 65535) + return status; + + port = (pj_uint16_t)long_port; + + status = pj_sockaddr_init(PJ_AF_INET6, addr, &hostpart, port); + } +#endif + + return status; +} + +/* Resolve the IP address of local machine */ +PJ_DEF(pj_status_t) pj_gethostip(int af, pj_sockaddr *addr) +{ + unsigned i, count, cand_cnt; + enum { + CAND_CNT = 8, + + /* Weighting to be applied to found addresses */ + WEIGHT_HOSTNAME = 1, /* hostname IP is not always valid! */ + WEIGHT_DEF_ROUTE = 2, + WEIGHT_INTERFACE = 1, + WEIGHT_LOOPBACK = -5, + WEIGHT_LINK_LOCAL = -4, + WEIGHT_DISABLED = -50, + + MIN_WEIGHT = WEIGHT_DISABLED+1 /* minimum weight to use */ + }; + /* candidates: */ + pj_sockaddr cand_addr[CAND_CNT]; + int cand_weight[CAND_CNT]; + int selected_cand; + char strip[PJ_INET6_ADDRSTRLEN+10]; + /* Special IPv4 addresses. */ + struct spec_ipv4_t + { + pj_uint32_t addr; + pj_uint32_t mask; + int weight; + } spec_ipv4[] = + { + /* 127.0.0.0/8, loopback addr will be used if there is no other + * addresses. + */ + { 0x7f000000, 0xFF000000, WEIGHT_LOOPBACK }, + + /* 0.0.0.0/8, special IP that doesn't seem to be practically useful */ + { 0x00000000, 0xFF000000, WEIGHT_DISABLED }, + + /* 169.254.0.0/16, a zeroconf/link-local address, which has higher + * priority than loopback and will be used if there is no other + * valid addresses. + */ + { 0xa9fe0000, 0xFFFF0000, WEIGHT_LINK_LOCAL } + }; + /* Special IPv6 addresses */ + struct spec_ipv6_t + { + pj_uint8_t addr[16]; + pj_uint8_t mask[16]; + int weight; + } spec_ipv6[] = + { + /* Loopback address, ::1/128 */ + { {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}, + WEIGHT_LOOPBACK + }, + + /* Link local, fe80::/10 */ + { {0xfe,0x80,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + {0xff,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + WEIGHT_LINK_LOCAL + }, + + /* Disabled, ::/128 */ + { {0x0,0x0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, + { 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}, + WEIGHT_DISABLED + } + }; + pj_addrinfo ai; + pj_status_t status; + + /* May not be used if TRACE_ is disabled */ + PJ_UNUSED_ARG(strip); + +#ifdef _MSC_VER + /* Get rid of "uninitialized he variable" with MS compilers */ + pj_bzero(&ai, sizeof(ai)); +#endif + + cand_cnt = 0; + pj_bzero(cand_addr, sizeof(cand_addr)); + pj_bzero(cand_weight, sizeof(cand_weight)); + for (i=0; iaddr.sa_family = (pj_uint16_t)af; + PJ_SOCKADDR_RESET_LEN(addr); + +#if !defined(PJ_GETHOSTIP_DISABLE_LOCAL_RESOLUTION) || \ + PJ_GETHOSTIP_DISABLE_LOCAL_RESOLUTION == 0 + /* Get hostname's IP address */ + count = 1; + status = pj_getaddrinfo(af, pj_gethostname(), &count, &ai); + if (status == PJ_SUCCESS) { + pj_assert(ai.ai_addr.addr.sa_family == (pj_uint16_t)af); + pj_sockaddr_copy_addr(&cand_addr[cand_cnt], &ai.ai_addr); + pj_sockaddr_set_port(&cand_addr[cand_cnt], 0); + cand_weight[cand_cnt] += WEIGHT_HOSTNAME; + ++cand_cnt; + + TRACE_((THIS_FILE, "hostname IP is %s", + pj_sockaddr_print(&ai.ai_addr, strip, sizeof(strip), 0))); + } +#else + PJ_UNUSED_ARG(ai); +#endif + + /* Get default interface (interface for default route) */ + if (cand_cnt < PJ_ARRAY_SIZE(cand_addr)) { + status = pj_getdefaultipinterface(af, addr); + if (status == PJ_SUCCESS) { + TRACE_((THIS_FILE, "default IP is %s", + pj_sockaddr_print(addr, strip, sizeof(strip), 0))); + + pj_sockaddr_set_port(addr, 0); + for (i=0; i= cand_cnt) { + pj_sockaddr_copy_addr(&cand_addr[i], addr); + ++cand_cnt; + } + } + } + + + /* Enumerate IP interfaces */ + if (cand_cnt < PJ_ARRAY_SIZE(cand_addr)) { + unsigned start_if = cand_cnt; + count = PJ_ARRAY_SIZE(cand_addr) - start_if; + + status = pj_enum_ip_interface(af, &count, &cand_addr[start_if]); + if (status == PJ_SUCCESS && count) { + /* Clear the port number */ + for (i=0; i cand_weight[selected_cand]) + selected_cand = i; + } + + /* If else fails, returns loopback interface as the last resort */ + if (selected_cand == -1) { + if (af==PJ_AF_INET) { + addr->ipv4.sin_addr.s_addr = pj_htonl (0x7f000001); + } else { + pj_in6_addr *s6_addr; + + s6_addr = (pj_in6_addr*) pj_sockaddr_get_addr(addr); + pj_bzero(s6_addr, sizeof(pj_in6_addr)); + s6_addr->s6_addr[15] = 1; + } + TRACE_((THIS_FILE, "Loopback IP %s returned", + pj_sockaddr_print(addr, strip, sizeof(strip), 0))); + } else { + pj_sockaddr_copy_addr(addr, &cand_addr[selected_cand]); + TRACE_((THIS_FILE, "Candidate %s selected", + pj_sockaddr_print(addr, strip, sizeof(strip), 0))); + } + + return PJ_SUCCESS; +} + +/* Get IP interface for sending to the specified destination */ +PJ_DEF(pj_status_t) pj_getipinterface(int af, + const pj_str_t *dst, + pj_sockaddr *itf_addr, + pj_bool_t allow_resolve, + pj_sockaddr *p_dst_addr) +{ + pj_sockaddr dst_addr; + pj_sock_t fd; + int len; + pj_uint8_t zero[64]; + pj_status_t status; + + pj_sockaddr_init(af, &dst_addr, NULL, 53); + status = pj_inet_pton(af, dst, pj_sockaddr_get_addr(&dst_addr)); + if (status != PJ_SUCCESS) { + /* "dst" is not an IP address. */ + if (allow_resolve) { + status = pj_sockaddr_init(af, &dst_addr, dst, 53); + } else { + pj_str_t cp; + + if (af == PJ_AF_INET) { + cp = pj_str("1.1.1.1"); + } else { + cp = pj_str("1::1"); + } + status = pj_sockaddr_init(af, &dst_addr, &cp, 53); + } + + if (status != PJ_SUCCESS) + return status; + } + + /* Create UDP socket and connect() to the destination IP */ + status = pj_sock_socket(af, pj_SOCK_DGRAM(), 0, &fd); + if (status != PJ_SUCCESS) { + return status; + } + + status = pj_sock_connect(fd, &dst_addr, pj_sockaddr_get_len(&dst_addr)); + if (status != PJ_SUCCESS) { + pj_sock_close(fd); + return status; + } + + len = sizeof(*itf_addr); + status = pj_sock_getsockname(fd, itf_addr, &len); + if (status != PJ_SUCCESS) { + pj_sock_close(fd); + return status; + } + + pj_sock_close(fd); + + /* Check that the address returned is not zero */ + pj_bzero(zero, sizeof(zero)); + if (pj_memcmp(pj_sockaddr_get_addr(itf_addr), zero, + pj_sockaddr_get_addr_len(itf_addr))==0) + { + return PJ_ENOTFOUND; + } + + if (p_dst_addr) + *p_dst_addr = dst_addr; + + return PJ_SUCCESS; +} + +/* Get the default IP interface */ +PJ_DEF(pj_status_t) pj_getdefaultipinterface(int af, pj_sockaddr *addr) +{ + pj_str_t cp; + + if (af == PJ_AF_INET) { + cp = pj_str("1.1.1.1"); + } else { + cp = pj_str("1::1"); + } + + return pj_getipinterface(af, &cp, addr, PJ_FALSE, NULL); +} + + +/* + * Bind socket at random port. + */ +PJ_DEF(pj_status_t) pj_sock_bind_random( pj_sock_t sockfd, + const pj_sockaddr_t *addr, + pj_uint16_t port_range, + pj_uint16_t max_try) +{ + pj_sockaddr bind_addr; + int addr_len; + pj_uint16_t base_port; + pj_status_t status = PJ_SUCCESS; + + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(addr, PJ_EINVAL); + + pj_sockaddr_cp(&bind_addr, addr); + addr_len = pj_sockaddr_get_len(addr); + base_port = pj_sockaddr_get_port(addr); + + if (base_port == 0 || port_range == 0) { + return pj_sock_bind(sockfd, &bind_addr, addr_len); + } + + for (; max_try; --max_try) { + pj_uint16_t port; + port = (pj_uint16_t)(base_port + pj_rand() % (port_range + 1)); + pj_sockaddr_set_port(&bind_addr, port); + status = pj_sock_bind(sockfd, &bind_addr, addr_len); + if (status == PJ_SUCCESS) + break; + } + + return status; +} + + +/* + * Adjust socket send/receive buffer size. + */ +PJ_DEF(pj_status_t) pj_sock_setsockopt_sobuf( pj_sock_t sockfd, + pj_uint16_t optname, + pj_bool_t auto_retry, + unsigned *buf_size) +{ + pj_status_t status; + int try_size, cur_size, i, step, size_len; + enum { MAX_TRY = 20 }; + + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(sockfd != PJ_INVALID_SOCKET && + buf_size && + *buf_size > 0 && + (optname == pj_SO_RCVBUF() || + optname == pj_SO_SNDBUF()), + PJ_EINVAL); + + size_len = sizeof(cur_size); + status = pj_sock_getsockopt(sockfd, pj_SOL_SOCKET(), optname, + &cur_size, &size_len); + if (status != PJ_SUCCESS) + return status; + + try_size = *buf_size; + step = (try_size - cur_size) / MAX_TRY; + if (step < 4096) + step = 4096; + + for (i = 0; i < (MAX_TRY-1); ++i) { + if (try_size <= cur_size) { + /* Done, return current size */ + *buf_size = cur_size; + break; + } + + status = pj_sock_setsockopt(sockfd, pj_SOL_SOCKET(), optname, + &try_size, sizeof(try_size)); + if (status == PJ_SUCCESS) { + status = pj_sock_getsockopt(sockfd, pj_SOL_SOCKET(), optname, + &cur_size, &size_len); + if (status != PJ_SUCCESS) { + /* Ops! No info about current size, just return last try size + * and quit. + */ + *buf_size = try_size; + break; + } + } + + if (!auto_retry) + break; + + try_size -= step; + } + + return status; +} + + +/* Only need to implement these in DLL build */ +#if defined(PJ_DLL) + +PJ_DEF(pj_uint16_t) pj_AF_UNSPEC(void) +{ + return PJ_AF_UNSPEC; +} + +PJ_DEF(pj_uint16_t) pj_AF_UNIX(void) +{ + return PJ_AF_UNIX; +} + +PJ_DEF(pj_uint16_t) pj_AF_INET(void) +{ + return PJ_AF_INET; +} + +PJ_DEF(pj_uint16_t) pj_AF_INET6(void) +{ + return PJ_AF_INET6; +} + +PJ_DEF(pj_uint16_t) pj_AF_PACKET(void) +{ + return PJ_AF_PACKET; +} + +PJ_DEF(pj_uint16_t) pj_AF_IRDA(void) +{ + return PJ_AF_IRDA; +} + +PJ_DEF(int) pj_SOCK_STREAM(void) +{ + return PJ_SOCK_STREAM; +} + +PJ_DEF(int) pj_SOCK_DGRAM(void) +{ + return PJ_SOCK_DGRAM; +} + +PJ_DEF(int) pj_SOCK_RAW(void) +{ + return PJ_SOCK_RAW; +} + +PJ_DEF(int) pj_SOCK_RDM(void) +{ + return PJ_SOCK_RDM; +} + +PJ_DEF(pj_uint16_t) pj_SOL_SOCKET(void) +{ + return PJ_SOL_SOCKET; +} + +PJ_DEF(pj_uint16_t) pj_SOL_IP(void) +{ + return PJ_SOL_IP; +} + +PJ_DEF(pj_uint16_t) pj_SOL_TCP(void) +{ + return PJ_SOL_TCP; +} + +PJ_DEF(pj_uint16_t) pj_SOL_UDP(void) +{ + return PJ_SOL_UDP; +} + +PJ_DEF(pj_uint16_t) pj_SOL_IPV6(void) +{ + return PJ_SOL_IPV6; +} + +PJ_DEF(int) pj_IP_TOS(void) +{ + return PJ_IP_TOS; +} + +PJ_DEF(int) pj_IPTOS_LOWDELAY(void) +{ + return PJ_IPTOS_LOWDELAY; +} + +PJ_DEF(int) pj_IPTOS_THROUGHPUT(void) +{ + return PJ_IPTOS_THROUGHPUT; +} + +PJ_DEF(int) pj_IPTOS_RELIABILITY(void) +{ + return PJ_IPTOS_RELIABILITY; +} + +PJ_DEF(int) pj_IPTOS_MINCOST(void) +{ + return PJ_IPTOS_MINCOST; +} + +PJ_DEF(pj_uint16_t) pj_SO_TYPE(void) +{ + return PJ_SO_TYPE; +} + +PJ_DEF(pj_uint16_t) pj_SO_RCVBUF(void) +{ + return PJ_SO_RCVBUF; +} + +PJ_DEF(pj_uint16_t) pj_SO_SNDBUF(void) +{ + return PJ_SO_SNDBUF; +} + +PJ_DEF(pj_uint16_t) pj_TCP_NODELAY(void) +{ + return PJ_TCP_NODELAY; +} + +PJ_DEF(pj_uint16_t) pj_SO_REUSEADDR(void) +{ + return PJ_SO_REUSEADDR; +} + +PJ_DEF(pj_uint16_t) pj_SO_NOSIGPIPE(void) +{ + return PJ_SO_NOSIGPIPE; +} + +PJ_DEF(pj_uint16_t) pj_SO_PRIORITY(void) +{ + return PJ_SO_PRIORITY; +} + +PJ_DEF(pj_uint16_t) pj_IP_MULTICAST_IF(void) +{ + return PJ_IP_MULTICAST_IF; +} + +PJ_DEF(pj_uint16_t) pj_IP_MULTICAST_TTL(void) +{ + return PJ_IP_MULTICAST_TTL; +} + +PJ_DEF(pj_uint16_t) pj_IP_MULTICAST_LOOP(void) +{ + return PJ_IP_MULTICAST_LOOP; +} + +PJ_DEF(pj_uint16_t) pj_IP_ADD_MEMBERSHIP(void) +{ + return PJ_IP_ADD_MEMBERSHIP; +} + +PJ_DEF(pj_uint16_t) pj_IP_DROP_MEMBERSHIP(void) +{ + return PJ_IP_DROP_MEMBERSHIP; +} + +PJ_DEF(int) pj_MSG_OOB(void) +{ + return PJ_MSG_OOB; +} + +PJ_DEF(int) pj_MSG_PEEK(void) +{ + return PJ_MSG_PEEK; +} + +PJ_DEF(int) pj_MSG_DONTROUTE(void) +{ + return PJ_MSG_DONTROUTE; +} + +#endif /* PJ_DLL */ + diff --git a/pjlib/src/pj/sock_linux_kernel.c b/pjlib/src/pj/sock_linux_kernel.c new file mode 100644 index 0000000..768d0fd --- /dev/null +++ b/pjlib/src/pj/sock_linux_kernel.c @@ -0,0 +1,785 @@ +/* $Id: sock_linux_kernel.c 4860 2014-06-19 05:07:12Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include /* pj_memcpy() */ +#include /* PJ_CHECK_STACK() */ +#include /* pj_gethostbyname() */ +#include +#include +#include +#include + +/* Linux kernel specific. */ +#include +#include +//#include +#include +#include /* sys_xxx() */ +#include /* FIONBIO */ +#include /* for pj_gethostname() */ + +#define THIS_FILE "sock_linux_kernel.c" + +/* + * Address families conversion. + * The values here are indexed based on pj_addr_family-0xFF00. + */ +const pj_uint16_t PJ_AF_UNIX = AF_UNIX; +const pj_uint16_t PJ_AF_INET = AF_INET; +const pj_uint16_t PJ_AF_INET6 = AF_INET6; +#ifdef AF_PACKET +const pj_uint16_t PJ_AF_PACKET = AF_PACKET; +#else +# error "AF_PACKET undeclared!" +#endif +#ifdef AF_IRDA +const pj_uint16_t PJ_AF_IRDA = AF_IRDA; +#else +# error "AF_IRDA undeclared!" +#endif + +/* + * Socket types conversion. + * The values here are indexed based on pj_sock_type-0xFF00 + */ +const pj_uint16_t PJ_SOCK_STREAM= SOCK_STREAM; +const pj_uint16_t PJ_SOCK_DGRAM = SOCK_DGRAM; +const pj_uint16_t PJ_SOCK_RAW = SOCK_RAW; +const pj_uint16_t PJ_SOCK_RDM = SOCK_RDM; + +/* + * Socket level values. + */ +const pj_uint16_t PJ_SOL_SOCKET = SOL_SOCKET; +#ifdef SOL_IP +const pj_uint16_t PJ_SOL_IP = SOL_IP; +#else +# error "SOL_IP undeclared!" +#endif /* SOL_IP */ +#if defined(SOL_TCP) +const pj_uint16_t PJ_SOL_TCP = SOL_TCP; +#else +# error "SOL_TCP undeclared!" +#endif /* SOL_TCP */ +#ifdef SOL_UDP +const pj_uint16_t PJ_SOL_UDP = SOL_UDP; +#else +# error "SOL_UDP undeclared!" +#endif +#ifdef SOL_IPV6 +const pj_uint16_t PJ_SOL_IPV6 = SOL_IPV6; +#else +# error "SOL_IPV6 undeclared!" +#endif + +/* optname values. */ +const pj_uint16_t PJ_SO_TYPE = SO_TYPE; +const pj_uint16_t PJ_SO_RCVBUF = SO_RCVBUF; +const pj_uint16_t PJ_SO_SNDBUF = SO_SNDBUF; + +/* + * Convert 16-bit value from network byte order to host byte order. + */ +PJ_DEF(pj_uint16_t) pj_ntohs(pj_uint16_t netshort) +{ + return ntohs(netshort); +} + +/* + * Convert 16-bit value from host byte order to network byte order. + */ +PJ_DEF(pj_uint16_t) pj_htons(pj_uint16_t hostshort) +{ + return htons(hostshort); +} + +/* + * Convert 32-bit value from network byte order to host byte order. + */ +PJ_DEF(pj_uint32_t) pj_ntohl(pj_uint32_t netlong) +{ + return ntohl(netlong); +} + +/* + * Convert 32-bit value from host byte order to network byte order. + */ +PJ_DEF(pj_uint32_t) pj_htonl(pj_uint32_t hostlong) +{ + return htonl(hostlong); +} + +/* + * Convert an Internet host address given in network byte order + * to string in standard numbers and dots notation. + */ +PJ_DEF(char*) pj_inet_ntoa(pj_in_addr in) +{ +#define UC(b) (((int)b)&0xff) + static char b[18]; + char *p; + + p = (char *)∈ + pj_snprintf(b, sizeof(b), "%d.%d.%d.%d", + UC(p[0]), UC(p[1]), UC(p[2]), UC(p[3])); + + return b; +} + +/* + * This function converts the Internet host address ccp from the standard + * numbers-and-dots notation into binary data and stores it in the structure + * that inp points to. + */ +PJ_DEF(int) pj_inet_aton(const pj_str_t *ccp, struct pj_in_addr *addr) +{ + pj_uint32_t val; + int base, n; + char c; + unsigned parts[4]; + unsigned *pp = parts; + char cp_copy[18]; + char *cp = cp_copy; + + addr->s_addr = PJ_INADDR_NONE; + + if (ccp->slen > 15) return 0; + + pj_memcpy(cp, ccp->ptr, ccp->slen); + cp[ccp->slen] = '\0'; + + c = *cp; + for (;;) { + /* + * Collect number up to ``.''. + * Values are specified as for C: + * 0x=hex, 0=octal, isdigit=decimal. + */ + if (!pj_isdigit((int)c)) + return (0); + val = 0; base = 10; + if (c == '0') { + c = *++cp; + if (c == 'x' || c == 'X') + base = 16, c = *++cp; + else + base = 8; + } + + for (;;) { + if (pj_isascii((int)c) && pj_isdigit((int)c)) { + val = (val * base) + (c - '0'); + c = *++cp; + } else if (base==16 && pj_isascii((int)c) && pj_isxdigit((int)c)) { + val = (val << 4) | + (c + 10 - (pj_islower((int)c) ? 'a' : 'A')); + c = *++cp; + } else + break; + } + + if (c == '.') { + /* + * Internet format: + * a.b.c.d + * a.b.c (with c treated as 16 bits) + * a.b (with b treated as 24 bits) + */ + if (pp >= parts + 3) + return (0); + *pp++ = val; + c = *++cp; + } else + break; + } + + /* + * Check for trailing characters. + */ + if (c != '\0' && (!pj_isascii((int)c) || !pj_isspace((int)c))) + return (0); + /* + * Concoct the address according to + * the number of parts specified. + */ + n = pp - parts + 1; + switch (n) { + case 0: + return (0); /* initial nondigit */ + case 1: /* a -- 32 bits */ + break; + case 2: /* a.b -- 8.24 bits */ + if (val > 0xffffff) + return (0); + val |= parts[0] << 24; + break; + case 3: /* a.b.c -- 8.8.16 bits */ + if (val > 0xffff) + return (0); + val |= (parts[0] << 24) | (parts[1] << 16); + break; + case 4: /* a.b.c.d -- 8.8.8.8 bits */ + if (val > 0xff) + return (0); + val |= (parts[0] << 24) | (parts[1] << 16) | (parts[2] << 8); + break; + } + + if (addr) + addr->s_addr = pj_htonl(val); + return (1); +} + +/* + * Convert address string with numbers and dots to binary IP address. + */ +PJ_DEF(pj_in_addr) pj_inet_addr(const pj_str_t *cp) +{ + pj_in_addr addr; + pj_inet_aton(cp, &addr); + return addr; +} + +/* + * Set the IP address of an IP socket address from string address, + * with resolving the host if necessary. The string address may be in a + * standard numbers and dots notation or may be a hostname. If hostname + * is specified, then the function will resolve the host into the IP + * address. + */ +PJ_DEF(pj_status_t) pj_sockaddr_in_set_str_addr( pj_sockaddr_in *addr, + const pj_str_t *str_addr) +{ + PJ_CHECK_STACK(); + + pj_assert(str_addr && str_addr->slen < PJ_MAX_HOSTNAME); + + addr->sin_family = AF_INET; + + if (str_addr && str_addr->slen) { + addr->sin_addr = pj_inet_addr(str_addr); + if (addr->sin_addr.s_addr == PJ_INADDR_NONE) { + pj_hostent he; + if (pj_gethostbyname(str_addr, &he) == 0) { + addr->sin_addr.s_addr = *(pj_uint32_t*)he.h_addr; + } else { + addr->sin_addr.s_addr = PJ_INADDR_NONE; + return -1; + } + } + + } else { + addr->sin_addr.s_addr = 0; + } + + return PJ_SUCCESS; +} + +/* + * Set the IP address and port of an IP socket address. + * The string address may be in a standard numbers and dots notation or + * may be a hostname. If hostname is specified, then the function will + * resolve the host into the IP address. + */ +PJ_DEF(pj_status_t) pj_sockaddr_in_init( pj_sockaddr_in *addr, + const pj_str_t *str_addr, + pj_uint16_t port) +{ + pj_assert(addr && str_addr); + + addr->sin_family = PJ_AF_INET; + pj_sockaddr_in_set_port(addr, port); + return pj_sockaddr_in_set_str_addr(addr, str_addr); +} + + +/* + * Get hostname. + */ +PJ_DEF(const pj_str_t*) pj_gethostname(void) +{ + static char buf[PJ_MAX_HOSTNAME]; + static pj_str_t hostname; + + PJ_CHECK_STACK(); + + if (hostname.ptr == NULL) { + hostname.ptr = buf; + down_read(&uts_sem); + hostname.slen = strlen(system_utsname.nodename); + if (hostname.slen > PJ_MAX_HOSTNAME) { + hostname.ptr[0] = '\0'; + hostname.slen = 0; + } else { + pj_memcpy(hostname.ptr, system_utsname.nodename, hostname.slen); + } + up_read(&uts_sem); + } + return &hostname; +} + +/* + * Get first IP address associated with the hostname. + */ +PJ_DEF(pj_in_addr) pj_gethostaddr(void) +{ + pj_sockaddr_in addr; + const pj_str_t *hostname = pj_gethostname(); + + pj_sockaddr_in_set_str_addr(&addr, hostname); + return addr.sin_addr; +} + + +/* + * Create new socket/endpoint for communication and returns a descriptor. + */ +PJ_DEF(pj_status_t) pj_sock_socket(int af, int type, int proto, + pj_sock_t *sock_fd) +{ + long result; + + PJ_CHECK_STACK(); + + /* Sanity checks. */ + PJ_ASSERT_RETURN(PJ_INVALID_SOCKET == -1 && sock_fd != NULL, PJ_EINVAL); + + /* Initialize returned socket */ + *sock_fd = PJ_INVALID_SOCKET; + + /* Create socket. */ + result = sys_socket(af, type, proto); + if (result < 0) { + return PJ_RETURN_OS_ERROR((-result)); + } + + *sock_fd = result; + + return PJ_SUCCESS; +} + +/* + * Bind socket. + */ +PJ_DEF(pj_status_t) pj_sock_bind( pj_sock_t sockfd, + const pj_sockaddr_t *addr, + int len) +{ + long err; + mm_segment_t oldfs; + + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(addr!=NULL && len >= sizeof(struct pj_sockaddr), + PJ_EINVAL); + + oldfs = get_fs(); + set_fs(KERNEL_DS); + + err = sys_bind(sockfd, (struct sockaddr*)addr, len); + + set_fs(oldfs); + + if (err) + return PJ_RETURN_OS_ERROR(-err); + else + return PJ_SUCCESS; +} + + +/* + * Bind socket. + */ +PJ_DEF(pj_status_t) pj_sock_bind_in( pj_sock_t sockfd, + pj_uint32_t addr32, + pj_uint16_t port) +{ + pj_sockaddr_in addr; + + PJ_CHECK_STACK(); + + addr.sin_family = PJ_AF_INET; + addr.sin_addr.s_addr = pj_htonl(addr32); + addr.sin_port = pj_htons(port); + + return pj_sock_bind(sockfd, &addr, sizeof(pj_sockaddr_in)); +} + +/* + * Close socket. + */ +PJ_DEF(pj_status_t) pj_sock_close(pj_sock_t sockfd) +{ + long err; + + err = sys_close(sockfd); + + if (err != 0) + return PJ_RETURN_OS_ERROR(-err); + else + return PJ_SUCCESS; +} + +/* + * Get remote's name. + */ +PJ_DEF(pj_status_t) pj_sock_getpeername( pj_sock_t sockfd, + pj_sockaddr_t *addr, + int *namelen) +{ + mm_segment_t oldfs; + long err; + + PJ_CHECK_STACK(); + + oldfs = get_fs(); + set_fs(KERNEL_DS); + + err = sys_getpeername( sockfd, addr, namelen); + + set_fs(oldfs); + + if (err) + return PJ_RETURN_OS_ERROR(-err); + else + return PJ_SUCCESS; +} + +/* + * Get socket name. + */ +PJ_DEF(pj_status_t) pj_sock_getsockname( pj_sock_t sockfd, + pj_sockaddr_t *addr, + int *namelen) +{ + mm_segment_t oldfs; + int err; + + PJ_CHECK_STACK(); + + oldfs = get_fs(); + set_fs(KERNEL_DS); + + err = sys_getsockname( sockfd, addr, namelen ); + + set_fs(oldfs); + + if (err) + return PJ_RETURN_OS_ERROR(-err); + else + return PJ_SUCCESS; +} + +/* + * Send data + */ +PJ_DEF(pj_status_t) pj_sock_send( pj_sock_t sockfd, + const void *buf, + pj_ssize_t *len, + unsigned flags) +{ + return pj_sock_sendto(sockfd, buf, len, flags, NULL, 0); +} + + +/* + * Send data. + */ +PJ_DEF(pj_status_t) pj_sock_sendto( pj_sock_t sockfd, + const void *buff, + pj_ssize_t *len, + unsigned flags, + const pj_sockaddr_t *addr, + int addr_len) +{ + long err; + mm_segment_t oldfs; + + PJ_CHECK_STACK(); + + oldfs = get_fs(); + set_fs(KERNEL_DS); + + err = *len = sys_sendto( sockfd, (void*)buff, *len, flags, + (void*)addr, addr_len ); + + set_fs(oldfs); + + if (err >= 0) { + return PJ_SUCCESS; + } + else { + return PJ_RETURN_OS_ERROR(-err); + } +} + +/* + * Receive data. + */ +PJ_DEF(pj_status_t) pj_sock_recv( pj_sock_t sockfd, + void *buf, + pj_ssize_t *len, + unsigned flags) +{ + return pj_sock_recvfrom(sockfd, buf, len, flags, NULL, NULL); +} + +/* + * Receive data. + */ +PJ_DEF(pj_status_t) pj_sock_recvfrom( pj_sock_t sockfd, + void *buff, + pj_ssize_t *size, + unsigned flags, + pj_sockaddr_t *from, + int *fromlen) +{ + mm_segment_t oldfs; + long err; + + PJ_CHECK_STACK(); + + oldfs = get_fs(); + set_fs(KERNEL_DS); + + err = *size = sys_recvfrom( sockfd, buff, *size, flags, from, fromlen); + + set_fs(oldfs); + + if (err >= 0) { + return PJ_SUCCESS; + } + else { + return PJ_RETURN_OS_ERROR(-err); + } +} + +/* + * Get socket option. + */ +PJ_DEF(pj_status_t) pj_sock_getsockopt( pj_sock_t sockfd, + pj_uint16_t level, + pj_uint16_t optname, + void *optval, + int *optlen) +{ + mm_segment_t oldfs; + long err; + + PJ_CHECK_STACK(); + + oldfs = get_fs(); + set_fs(KERNEL_DS); + + err = sys_getsockopt( sockfd, level, optname, optval, optlen); + + set_fs(oldfs); + + if (err) + return PJ_RETURN_OS_ERROR(-err); + else + return PJ_SUCCESS; +} + +/* + * Set socket option. + */ +PJ_DEF(pj_status_t) pj_sock_setsockopt( pj_sock_t sockfd, + pj_uint16_t level, + pj_uint16_t optname, + const void *optval, + int optlen) +{ + long err; + mm_segment_t oldfs; + + PJ_CHECK_STACK(); + + + oldfs = get_fs(); + set_fs(KERNEL_DS); + + err = sys_setsockopt( sockfd, level, optname, (void*)optval, optlen); + + set_fs(oldfs); + + if (err) + return PJ_RETURN_OS_ERROR(-err); + else + return PJ_SUCCESS; +} + +/* + * Set socket option. + */ +PJ_DEF(pj_status_t) pj_sock_setsockopt_params( pj_sock_t sockfd, + const pj_sockopt_params *params) +{ + unsigned int i = 0; + pj_status_t retval = PJ_SUCCESS; + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(params, PJ_EINVAL); + + for (;icnt && ioptions[i].level, + params->options[i].optname, + params->options[i].optval, + params->options[i].optlen); + if (status != PJ_SUCCESS) { + retval = status; + PJ_PERROR(4,(THIS_FILE, status, + "Warning: error applying sock opt %d", + params->options[i].optname)); + } + } + + return retval; +} + +/* + * Shutdown socket. + */ +#if PJ_HAS_TCP +PJ_DEF(pj_status_t) pj_sock_shutdown( pj_sock_t sockfd, + int how) +{ + long err; + + PJ_CHECK_STACK(); + + err = sys_shutdown(sockfd, how); + + if (err) + return PJ_RETURN_OS_ERROR(-err); + else + return PJ_SUCCESS; +} + +/* + * Start listening to incoming connections. + */ +PJ_DEF(pj_status_t) pj_sock_listen( pj_sock_t sockfd, + int backlog) +{ + long err; + + PJ_CHECK_STACK(); + + err = sys_listen( sockfd, backlog ); + + if (err) + return PJ_RETURN_OS_ERROR(-err); + else + return PJ_SUCCESS; +} + +/* + * Connect socket. + */ +PJ_DEF(pj_status_t) pj_sock_connect( pj_sock_t sockfd, + const pj_sockaddr_t *addr, + int namelen) +{ + long err; + mm_segment_t oldfs; + + PJ_CHECK_STACK(); + + oldfs = get_fs(); + set_fs(KERNEL_DS); + + err = sys_connect( sockfd, (void*)addr, namelen ); + + set_fs(oldfs); + + if (err) + return PJ_RETURN_OS_ERROR(-err); + else + return PJ_SUCCESS; +} + +/* + * Accept incoming connections + */ +PJ_DEF(pj_status_t) pj_sock_accept( pj_sock_t sockfd, + pj_sock_t *newsockfd, + pj_sockaddr_t *addr, + int *addrlen) +{ + long err; + + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(newsockfd != NULL, PJ_EINVAL); + + err = sys_accept( sockfd, addr, addrlen); + + if (err < 0) { + *newsockfd = PJ_INVALID_SOCKET; + return PJ_RETURN_OS_ERROR(-err); + } + else { + *newsockfd = err; + return PJ_SUCCESS; + } +} +#endif /* PJ_HAS_TCP */ + + + +/* + * Permission to steal inet_ntoa() and inet_aton() as long as this notice below + * is included: + */ +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + diff --git a/pjlib/src/pj/sock_qos_bsd.c b/pjlib/src/pj/sock_qos_bsd.c new file mode 100644 index 0000000..ca28653 --- /dev/null +++ b/pjlib/src/pj/sock_qos_bsd.c @@ -0,0 +1,132 @@ +/* $Id: sock_qos_bsd.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + +/* This is the implementation of QoS with BSD socket's setsockopt(), + * using IP_TOS and SO_PRIORITY + */ +#if !defined(PJ_QOS_IMPLEMENTATION) || PJ_QOS_IMPLEMENTATION==PJ_QOS_BSD + +PJ_DEF(pj_status_t) pj_sock_set_qos_params(pj_sock_t sock, + pj_qos_params *param) +{ + pj_status_t last_err = PJ_ENOTSUP; + pj_status_t status; + + /* No op? */ + if (!param->flags) + return PJ_SUCCESS; + + /* Clear WMM field since we don't support it */ + param->flags &= ~(PJ_QOS_PARAM_HAS_WMM); + + /* Set TOS/DSCP */ + if (param->flags & PJ_QOS_PARAM_HAS_DSCP) { + /* Value is dscp_val << 2 */ + int val = (param->dscp_val << 2); + status = pj_sock_setsockopt(sock, pj_SOL_IP(), pj_IP_TOS(), + &val, sizeof(val)); + if (status != PJ_SUCCESS) { + param->flags &= ~(PJ_QOS_PARAM_HAS_DSCP); + last_err = status; + } + } + + /* Set SO_PRIORITY */ + if (param->flags & PJ_QOS_PARAM_HAS_SO_PRIO) { + int val = param->so_prio; + status = pj_sock_setsockopt(sock, pj_SOL_SOCKET(), pj_SO_PRIORITY(), + &val, sizeof(val)); + if (status != PJ_SUCCESS) { + param->flags &= ~(PJ_QOS_PARAM_HAS_SO_PRIO); + last_err = status; + } + } + + return param->flags ? PJ_SUCCESS : last_err; +} + +PJ_DEF(pj_status_t) pj_sock_set_qos_type(pj_sock_t sock, + pj_qos_type type) +{ + pj_qos_params param; + pj_status_t status; + + status = pj_qos_get_params(type, ¶m); + if (status != PJ_SUCCESS) + return status; + + return pj_sock_set_qos_params(sock, ¶m); +} + + +PJ_DEF(pj_status_t) pj_sock_get_qos_params(pj_sock_t sock, + pj_qos_params *p_param) +{ + pj_status_t last_err = PJ_ENOTSUP; + int val, optlen; + pj_status_t status; + + pj_bzero(p_param, sizeof(*p_param)); + + /* Get DSCP/TOS value */ + optlen = sizeof(val); + status = pj_sock_getsockopt(sock, pj_SOL_IP(), pj_IP_TOS(), + &val, &optlen); + if (status == PJ_SUCCESS) { + p_param->flags |= PJ_QOS_PARAM_HAS_DSCP; + p_param->dscp_val = (pj_uint8_t)(val >> 2); + } else { + last_err = status; + } + + /* Get SO_PRIORITY */ + optlen = sizeof(val); + status = pj_sock_getsockopt(sock, pj_SOL_SOCKET(), pj_SO_PRIORITY(), + &val, &optlen); + if (status == PJ_SUCCESS) { + p_param->flags |= PJ_QOS_PARAM_HAS_SO_PRIO; + p_param->so_prio = (pj_uint8_t)val; + } else { + last_err = status; + } + + /* WMM is not supported */ + + return p_param->flags ? PJ_SUCCESS : last_err; +} + +PJ_DEF(pj_status_t) pj_sock_get_qos_type(pj_sock_t sock, + pj_qos_type *p_type) +{ + pj_qos_params param; + pj_status_t status; + + status = pj_sock_get_qos_params(sock, ¶m); + if (status != PJ_SUCCESS) + return status; + + return pj_qos_get_type(¶m, p_type); +} + +#endif /* PJ_QOS_IMPLEMENTATION */ + diff --git a/pjlib/src/pj/sock_qos_common.c b/pjlib/src/pj/sock_qos_common.c new file mode 100644 index 0000000..643f0ea --- /dev/null +++ b/pjlib/src/pj/sock_qos_common.c @@ -0,0 +1,151 @@ +/* $Id: sock_qos_common.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include + +#define THIS_FILE "sock_qos_common.c" +#define ALL_FLAGS (PJ_QOS_PARAM_HAS_DSCP | PJ_QOS_PARAM_HAS_SO_PRIO | \ + PJ_QOS_PARAM_HAS_WMM) + +/* "Standard" mapping between traffic type and QoS params */ +static const pj_qos_params qos_map[] = +{ + /* flags dscp prio wmm_prio */ + {ALL_FLAGS, 0x00, 0, PJ_QOS_WMM_PRIO_BULK_EFFORT}, /* BE */ + {ALL_FLAGS, 0x08, 2, PJ_QOS_WMM_PRIO_BULK}, /* BK */ + {ALL_FLAGS, 0x28, 5, PJ_QOS_WMM_PRIO_VIDEO}, /* VI */ + {ALL_FLAGS, 0x30, 6, PJ_QOS_WMM_PRIO_VOICE}, /* VO */ + {ALL_FLAGS, 0x38, 7, PJ_QOS_WMM_PRIO_VOICE} /* CO */ +}; + + +/* Retrieve the mapping for the specified type */ +PJ_DEF(pj_status_t) pj_qos_get_params(pj_qos_type type, + pj_qos_params *p_param) +{ + PJ_ASSERT_RETURN(type<=PJ_QOS_TYPE_CONTROL && p_param, PJ_EINVAL); + pj_memcpy(p_param, &qos_map[type], sizeof(*p_param)); + return PJ_SUCCESS; +} + +/* Get the matching traffic type */ +PJ_DEF(pj_status_t) pj_qos_get_type( const pj_qos_params *param, + pj_qos_type *p_type) +{ + unsigned dscp_type = PJ_QOS_TYPE_BEST_EFFORT, + prio_type = PJ_QOS_TYPE_BEST_EFFORT, + wmm_type = PJ_QOS_TYPE_BEST_EFFORT; + unsigned i, count=0; + + PJ_ASSERT_RETURN(param && p_type, PJ_EINVAL); + + if (param->flags & PJ_QOS_PARAM_HAS_DSCP) { + for (i=0; i<=PJ_QOS_TYPE_CONTROL; ++i) { + if (param->dscp_val >= qos_map[i].dscp_val) + dscp_type = (pj_qos_type)i; + } + ++count; + } + + if (param->flags & PJ_QOS_PARAM_HAS_SO_PRIO) { + for (i=0; i<=PJ_QOS_TYPE_CONTROL; ++i) { + if (param->so_prio >= qos_map[i].so_prio) + prio_type = (pj_qos_type)i; + } + ++count; + } + + if (param->flags & PJ_QOS_PARAM_HAS_WMM) { + for (i=0; i<=PJ_QOS_TYPE_CONTROL; ++i) { + if (param->wmm_prio >= qos_map[i].wmm_prio) + wmm_type = (pj_qos_type)i; + } + ++count; + } + + if (count) + *p_type = (pj_qos_type)((dscp_type + prio_type + wmm_type) / count); + else + *p_type = PJ_QOS_TYPE_BEST_EFFORT; + + return PJ_SUCCESS; +} + +/* Apply QoS */ +PJ_DEF(pj_status_t) pj_sock_apply_qos( pj_sock_t sock, + pj_qos_type qos_type, + pj_qos_params *qos_params, + unsigned log_level, + const char *log_sender, + const char *sock_name) +{ + pj_status_t qos_type_rc = PJ_SUCCESS, + qos_params_rc = PJ_SUCCESS; + + if (!log_sender) + log_sender = THIS_FILE; + if (!sock_name) + sock_name = "socket"; + + if (qos_type != PJ_QOS_TYPE_BEST_EFFORT) { + qos_type_rc = pj_sock_set_qos_type(sock, qos_type); + + if (qos_type_rc != PJ_SUCCESS) { + pj_perror(log_level, log_sender, qos_type_rc, + "Error setting QoS type %d to %s", + qos_type, sock_name); + } + } + + if (qos_params && qos_params->flags) { + qos_params_rc = pj_sock_set_qos_params(sock, qos_params); + if (qos_params_rc != PJ_SUCCESS) { + pj_perror(log_level, log_sender, qos_params_rc, + "Error setting QoS params (flags=%d) to %s", + qos_params->flags, sock_name); + if (qos_type_rc != PJ_SUCCESS) + return qos_params_rc; + } + } else if (qos_type_rc != PJ_SUCCESS) + return qos_type_rc; + + return PJ_SUCCESS; +} + + +PJ_DEF(pj_status_t) pj_sock_apply_qos2( pj_sock_t sock, + pj_qos_type qos_type, + const pj_qos_params *qos_params, + unsigned log_level, + const char *log_sender, + const char *sock_name) +{ + pj_qos_params qos_params_buf, *qos_params_copy = NULL; + + if (qos_params) { + pj_memcpy(&qos_params_buf, qos_params, sizeof(*qos_params)); + qos_params_copy = &qos_params_buf; + } + + return pj_sock_apply_qos(sock, qos_type, qos_params_copy, + log_level, log_sender, sock_name); +} diff --git a/pjlib/src/pj/sock_qos_dummy.c b/pjlib/src/pj/sock_qos_dummy.c new file mode 100644 index 0000000..fbbb56f --- /dev/null +++ b/pjlib/src/pj/sock_qos_dummy.c @@ -0,0 +1,76 @@ +/* $Id: sock_qos_dummy.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + +/* Dummy implementation of QoS API. + * (this is controlled by pjlib's config.h) + */ +#if defined(PJ_QOS_IMPLEMENTATION) && PJ_QOS_IMPLEMENTATION==PJ_QOS_DUMMY + +#define THIS_FILE "sock_qos_dummy.c" + + +PJ_DEF(pj_status_t) pj_sock_set_qos_params(pj_sock_t sock, + pj_qos_params *param) +{ + PJ_UNUSED_ARG(sock); + PJ_UNUSED_ARG(param); + + PJ_LOG(4,(THIS_FILE, "pj_sock_set_qos_params() is not implemented " + "for this platform")); + return PJ_ENOTSUP; +} + +PJ_DEF(pj_status_t) pj_sock_set_qos_type(pj_sock_t sock, + pj_qos_type type) +{ + PJ_UNUSED_ARG(sock); + PJ_UNUSED_ARG(type); + + PJ_LOG(4,(THIS_FILE, "pj_sock_set_qos_type() is not implemented " + "for this platform")); + return PJ_ENOTSUP; +} + + +PJ_DEF(pj_status_t) pj_sock_get_qos_params(pj_sock_t sock, + pj_qos_params *p_param) +{ + PJ_UNUSED_ARG(sock); + PJ_UNUSED_ARG(p_param); + + PJ_LOG(4,(THIS_FILE, "pj_sock_get_qos_params() is not implemented " + "for this platform")); + return PJ_ENOTSUP; +} + +PJ_DEF(pj_status_t) pj_sock_get_qos_type(pj_sock_t sock, + pj_qos_type *p_type) +{ + PJ_UNUSED_ARG(sock); + PJ_UNUSED_ARG(p_type); + + PJ_LOG(4,(THIS_FILE, "pj_sock_get_qos_type() is not implemented " + "for this platform")); + return PJ_ENOTSUP; +} + +#endif /* PJ_QOS_DUMMY */ diff --git a/pjlib/src/pj/sock_qos_symbian.cpp b/pjlib/src/pj/sock_qos_symbian.cpp new file mode 100644 index 0000000..35779b8 --- /dev/null +++ b/pjlib/src/pj/sock_qos_symbian.cpp @@ -0,0 +1,95 @@ +/* $Id: sock_qos_symbian.cpp 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include "os_symbian.h" + +PJ_DEF(pj_status_t) pj_sock_set_qos_params(pj_sock_t sock, + pj_qos_params *param) +{ + PJ_ASSERT_RETURN(sock!=0 && sock!=PJ_INVALID_SOCKET, PJ_EINVAL); + + CPjSocket *pjsock = (CPjSocket*)sock; + RSocket & rsock = pjsock->Socket(); + pj_status_t last_err = PJ_ENOTSUP; + + /* SO_PRIORITY and WMM are not supported */ + param->flags &= ~(PJ_QOS_PARAM_HAS_SO_PRIO | PJ_QOS_PARAM_HAS_WMM); + + if (param->flags & PJ_QOS_PARAM_HAS_DSCP) { + TInt err; + + err = rsock.SetOpt(KSoIpTOS, KProtocolInetIp, + (param->dscp_val << 2)); + if (err != KErrNone) { + last_err = PJ_RETURN_OS_ERROR(err); + param->flags &= ~(PJ_QOS_PARAM_HAS_DSCP); + } + } + + return param->flags ? PJ_SUCCESS : last_err; +} + +PJ_DEF(pj_status_t) pj_sock_set_qos_type(pj_sock_t sock, + pj_qos_type type) +{ + pj_qos_params param; + pj_status_t status; + + status = pj_qos_get_params(type, ¶m); + if (status != PJ_SUCCESS) + return status; + + return pj_sock_set_qos_params(sock, ¶m); +} + + +PJ_DEF(pj_status_t) pj_sock_get_qos_params(pj_sock_t sock, + pj_qos_params *p_param) +{ + PJ_ASSERT_RETURN(sock!=0 && sock!=PJ_INVALID_SOCKET, PJ_EINVAL); + + CPjSocket *pjsock = (CPjSocket*)sock; + RSocket & rsock = pjsock->Socket(); + TInt err, dscp; + + pj_bzero(p_param, sizeof(*p_param)); + + err = rsock.GetOpt(KSoIpTOS, KProtocolInetIp, dscp); + if (err == KErrNone) { + p_param->flags |= PJ_QOS_PARAM_HAS_DSCP; + p_param->dscp_val = (dscp >> 2); + return PJ_SUCCESS; + } else { + return PJ_RETURN_OS_ERROR(err); + } +} + +PJ_DEF(pj_status_t) pj_sock_get_qos_type(pj_sock_t sock, + pj_qos_type *p_type) +{ + pj_qos_params param; + pj_status_t status; + + status = pj_sock_get_qos_params(sock, ¶m); + if (status != PJ_SUCCESS) + return status; + + return pj_qos_get_type(¶m, p_type); +} + diff --git a/pjlib/src/pj/sock_qos_wm.c b/pjlib/src/pj/sock_qos_wm.c new file mode 100644 index 0000000..e607d96 --- /dev/null +++ b/pjlib/src/pj/sock_qos_wm.c @@ -0,0 +1,103 @@ +/* $Id: sock_qos_wm.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + +#include + +/* QoS implementation for Windows Mobile 6, must be enabled explicitly + * (this is controlled by pjlib's config.h) + */ +#if defined(PJ_QOS_IMPLEMENTATION) && PJ_QOS_IMPLEMENTATION==PJ_QOS_WM + +#define THIS_FILE "sock_qos_wm.c" + +/* Mapping between our traffic type and WM's DSCP traffic types */ +static const int dscp_map[] = +{ + DSCPBestEffort, + DSCPBackground, + DSCPVideo, + DSCPAudio, + DSCPControl +}; + +PJ_DEF(pj_status_t) pj_sock_set_qos_params(pj_sock_t sock, + pj_qos_params *param) +{ + PJ_UNUSED_ARG(sock); + PJ_UNUSED_ARG(param); + + PJ_LOG(4,(THIS_FILE, "pj_sock_set_qos_params() is not implemented " + "for this platform")); + return PJ_ENOTSUP; +} + +PJ_DEF(pj_status_t) pj_sock_set_qos_type(pj_sock_t sock, + pj_qos_type type) +{ + int value; + + PJ_ASSERT_RETURN(type < PJ_ARRAY_SIZE(dscp_map), PJ_EINVAL); + + value = dscp_map[type]; + return pj_sock_setsockopt(sock, IPPROTO_IP, IP_DSCP_TRAFFIC_TYPE, + &value, sizeof(value)); +} + + +PJ_DEF(pj_status_t) pj_sock_get_qos_params(pj_sock_t sock, + pj_qos_params *p_param) +{ + PJ_UNUSED_ARG(sock); + PJ_UNUSED_ARG(p_param); + + PJ_LOG(4,(THIS_FILE, "pj_sock_get_qos_params() is not implemented " + "for this platform")); + return PJ_ENOTSUP; +} + +PJ_DEF(pj_status_t) pj_sock_get_qos_type(pj_sock_t sock, + pj_qos_type *p_type) +{ + pj_status_t status; + int value, optlen; + unsigned i; + + optlen = sizeof(value); + value = 0; + status = pj_sock_getsockopt(sock, IPPROTO_IP, IP_DSCP_TRAFFIC_TYPE, + &value, &optlen); + if (status != PJ_SUCCESS) + return status; + + *p_type = PJ_QOS_TYPE_BEST_EFFORT; + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include + +#if defined(PJ_HAS_STRING_H) && PJ_HAS_STRING_H!=0 +# include +#endif + +#if defined(PJ_HAS_SYS_TIME_H) && PJ_HAS_SYS_TIME_H!=0 +# include +#endif + +#ifdef _MSC_VER +# pragma warning(disable: 4018) // Signed/unsigned mismatch in FD_* +# pragma warning(disable: 4389) // Signed/unsigned mismatch in FD_* +#endif + +#define PART_FDSET(ps) ((fd_set*)&ps->data[1]) +#define PART_FDSET_OR_NULL(ps) (ps ? PART_FDSET(ps) : NULL) +#define PART_COUNT(ps) (ps->data[0]) + +PJ_DEF(void) PJ_FD_ZERO(pj_fd_set_t *fdsetp) +{ + PJ_CHECK_STACK(); + pj_assert(sizeof(pj_fd_set_t)-sizeof(pj_sock_t) >= sizeof(fd_set)); + + FD_ZERO(PART_FDSET(fdsetp)); + PART_COUNT(fdsetp) = 0; +} + + +PJ_DEF(void) PJ_FD_SET(pj_sock_t fd, pj_fd_set_t *fdsetp) +{ + PJ_CHECK_STACK(); + pj_assert(sizeof(pj_fd_set_t)-sizeof(pj_sock_t) >= sizeof(fd_set)); + + if (!PJ_FD_ISSET(fd, fdsetp)) + ++PART_COUNT(fdsetp); + FD_SET(fd, PART_FDSET(fdsetp)); +} + + +PJ_DEF(void) PJ_FD_CLR(pj_sock_t fd, pj_fd_set_t *fdsetp) +{ + PJ_CHECK_STACK(); + pj_assert(sizeof(pj_fd_set_t)-sizeof(pj_sock_t) >= sizeof(fd_set)); + + if (PJ_FD_ISSET(fd, fdsetp)) + --PART_COUNT(fdsetp); + FD_CLR(fd, PART_FDSET(fdsetp)); +} + + +PJ_DEF(pj_bool_t) PJ_FD_ISSET(pj_sock_t fd, const pj_fd_set_t *fdsetp) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(sizeof(pj_fd_set_t)-sizeof(pj_sock_t) >= sizeof(fd_set), + 0); + + return FD_ISSET(fd, PART_FDSET(fdsetp)); +} + +PJ_DEF(pj_size_t) PJ_FD_COUNT(const pj_fd_set_t *fdsetp) +{ + return PART_COUNT(fdsetp); +} + +PJ_DEF(int) pj_sock_select( int n, + pj_fd_set_t *readfds, + pj_fd_set_t *writefds, + pj_fd_set_t *exceptfds, + const pj_time_val *timeout) +{ + struct timeval os_timeout, *p_os_timeout; + + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(sizeof(pj_fd_set_t)-sizeof(pj_sock_t) >= sizeof(fd_set), + PJ_EBUG); + + if (timeout) { + os_timeout.tv_sec = timeout->sec; + os_timeout.tv_usec = timeout->msec * 1000; + p_os_timeout = &os_timeout; + } else { + p_os_timeout = NULL; + } + + return select(n, PART_FDSET_OR_NULL(readfds), PART_FDSET_OR_NULL(writefds), + PART_FDSET_OR_NULL(exceptfds), p_os_timeout); +} + diff --git a/pjlib/src/pj/sock_select_symbian.cpp b/pjlib/src/pj/sock_select_symbian.cpp new file mode 100644 index 0000000..aeaa2bc --- /dev/null +++ b/pjlib/src/pj/sock_select_symbian.cpp @@ -0,0 +1,163 @@ +/* $Id: sock_select_symbian.cpp 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include "os_symbian.h" + + +struct symbian_fd_set +{ + unsigned count; + CPjSocket *sock[PJ_IOQUEUE_MAX_HANDLES]; +}; + + +PJ_DEF(void) PJ_FD_ZERO(pj_fd_set_t *fdsetp) +{ + symbian_fd_set *fds = (symbian_fd_set *)fdsetp; + fds->count = 0; +} + + +PJ_DEF(void) PJ_FD_SET(pj_sock_t fd, pj_fd_set_t *fdsetp) +{ + symbian_fd_set *fds = (symbian_fd_set *)fdsetp; + + PJ_ASSERT_ON_FAIL(fds->count < PJ_IOQUEUE_MAX_HANDLES, return); + fds->sock[fds->count++] = (CPjSocket*)fd; +} + + +PJ_DEF(void) PJ_FD_CLR(pj_sock_t fd, pj_fd_set_t *fdsetp) +{ + symbian_fd_set *fds = (symbian_fd_set *)fdsetp; + unsigned i; + + for (i=0; icount; ++i) { + if (fds->sock[i] == (CPjSocket*)fd) { + pj_array_erase(fds->sock, sizeof(fds->sock[0]), fds->count, i); + --fds->count; + return; + } + } +} + + +PJ_DEF(pj_bool_t) PJ_FD_ISSET(pj_sock_t fd, const pj_fd_set_t *fdsetp) +{ + symbian_fd_set *fds = (symbian_fd_set *)fdsetp; + unsigned i; + + for (i=0; icount; ++i) { + if (fds->sock[i] == (CPjSocket*)fd) { + return PJ_TRUE; + } + } + + return PJ_FALSE; +} + +PJ_DEF(pj_size_t) PJ_FD_COUNT(const pj_fd_set_t *fdsetp) +{ + symbian_fd_set *fds = (symbian_fd_set *)fdsetp; + return fds->count; +} + + +PJ_DEF(int) pj_sock_select( int n, + pj_fd_set_t *readfds, + pj_fd_set_t *writefds, + pj_fd_set_t *exceptfds, + const pj_time_val *timeout) +{ + CPjTimeoutTimer *pjTimer; + unsigned i; + + PJ_UNUSED_ARG(n); + PJ_UNUSED_ARG(writefds); + PJ_UNUSED_ARG(exceptfds); + + if (timeout) { + pjTimer = PjSymbianOS::Instance()->SelectTimeoutTimer(); + pjTimer->StartTimer(timeout->sec*1000 + timeout->msec); + + } else { + pjTimer = NULL; + } + + /* Scan for readable sockets */ + + if (readfds) { + symbian_fd_set *fds = (symbian_fd_set *)readfds; + + do { + /* Scan sockets for readily available data */ + for (i=0; icount; ++i) { + CPjSocket *pjsock = fds->sock[i]; + + if (pjsock->Reader()) { + if (pjsock->Reader()->HasData() && !pjsock->Reader()->IsActive()) { + + /* Found socket with data ready */ + PJ_FD_ZERO(readfds); + PJ_FD_SET((pj_sock_t)pjsock, readfds); + + /* Cancel timer, if any */ + if (pjTimer) { + pjTimer->Cancel(); + } + + /* Clear writable and exception fd_set */ + if (writefds) + PJ_FD_ZERO(writefds); + if (exceptfds) + PJ_FD_ZERO(exceptfds); + + return 1; + + } else if (!pjsock->Reader()->IsActive()) + pjsock->Reader()->StartRecvFrom(); + + } else { + pjsock->CreateReader(); + pjsock->Reader()->StartRecvFrom(); + } + } + + PjSymbianOS::Instance()->WaitForActiveObjects(); + + } while (pjTimer==NULL || !pjTimer->HasTimedOut()); + } + + + /* Timeout */ + + if (readfds) + PJ_FD_ZERO(readfds); + if (writefds) + PJ_FD_ZERO(writefds); + if (exceptfds) + PJ_FD_ZERO(exceptfds); + + return 0; +} + diff --git a/pjlib/src/pj/sock_symbian.cpp b/pjlib/src/pj/sock_symbian.cpp new file mode 100644 index 0000000..35db1ea --- /dev/null +++ b/pjlib/src/pj/sock_symbian.cpp @@ -0,0 +1,1021 @@ +/* $Id: sock_symbian.cpp 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include + +#include "os_symbian.h" + + +/* + * Address families. + */ +const pj_uint16_t PJ_AF_UNSPEC = KAFUnspec; +const pj_uint16_t PJ_AF_UNIX = 0xFFFF; +const pj_uint16_t PJ_AF_INET = KAfInet; +const pj_uint16_t PJ_AF_INET6 = KAfInet6; +const pj_uint16_t PJ_AF_PACKET = 0xFFFF; +const pj_uint16_t PJ_AF_IRDA = 0xFFFF; + +/* + * Socket types conversion. + * The values here are indexed based on pj_sock_type + */ +const pj_uint16_t PJ_SOCK_STREAM= KSockStream; +const pj_uint16_t PJ_SOCK_DGRAM = KSockDatagram; +const pj_uint16_t PJ_SOCK_RAW = 0xFFFF; +const pj_uint16_t PJ_SOCK_RDM = 0xFFFF; + +/* we don't support setsockopt(), these are just dummy values */ +const pj_uint16_t PJ_SOL_SOCKET = 0xFFFF; +const pj_uint16_t PJ_SOL_IP = 0xFFFF; +const pj_uint16_t PJ_SOL_TCP = 0xFFFF; +const pj_uint16_t PJ_SOL_UDP = 0xFFFF; +const pj_uint16_t PJ_SOL_IPV6 = 0xFFFF; +const pj_uint16_t PJ_SO_NOSIGPIPE = 0xFFFF; + +/* TOS */ +const pj_uint16_t PJ_IP_TOS = 0; +const pj_uint16_t PJ_IPTOS_LOWDELAY = 0; +const pj_uint16_t PJ_IPTOS_THROUGHPUT = 0; +const pj_uint16_t PJ_IPTOS_RELIABILITY = 0; +const pj_uint16_t PJ_IPTOS_MINCOST = 0; + +/* Misc */ +const pj_uint16_t PJ_TCP_NODELAY = 0xFFFF; +const pj_uint16_t PJ_SO_REUSEADDR = 0xFFFF; +const pj_uint16_t PJ_SO_PRIORITY = 0xFFFF; + +/* ioctl() is also not supported. */ +const pj_uint16_t PJ_SO_TYPE = 0xFFFF; +const pj_uint16_t PJ_SO_RCVBUF = 0xFFFF; +const pj_uint16_t PJ_SO_SNDBUF = 0xFFFF; + +/* IP multicast is also not supported. */ +const pj_uint16_t PJ_IP_MULTICAST_IF = 0xFFFF; +const pj_uint16_t PJ_IP_MULTICAST_TTL = 0xFFFF; +const pj_uint16_t PJ_IP_MULTICAST_LOOP = 0xFFFF; +const pj_uint16_t PJ_IP_ADD_MEMBERSHIP = 0xFFFF; +const pj_uint16_t PJ_IP_DROP_MEMBERSHIP = 0xFFFF; + +/* Flags */ +const int PJ_MSG_OOB = 0; +const int PJ_MSG_PEEK = KSockReadPeek; +const int PJ_MSG_DONTROUTE = 0; + +///////////////////////////////////////////////////////////////////////////// +// +// CPjSocket implementation. +// (declaration is in os_symbian.h) +// + +CPjSocket::~CPjSocket() +{ + DestroyReader(); + sock_.Close(); +} + + +// Create socket reader. +CPjSocketReader *CPjSocket::CreateReader(unsigned max_len) +{ + pj_assert(sockReader_ == NULL); + return sockReader_ = CPjSocketReader::NewL(*this, max_len); +} + +// Delete socket reader when it's not wanted. +void CPjSocket::DestroyReader() +{ + if (sockReader_) { + sockReader_->Cancel(); + delete sockReader_; + sockReader_ = NULL; + } +} + + +///////////////////////////////////////////////////////////////////////////// +// +// CPjSocketReader implementation +// (declaration in os_symbian.h) +// + + +CPjSocketReader::CPjSocketReader(CPjSocket &sock) +: CActive(EPriorityStandard), + sock_(sock), buffer_(NULL, 0), readCb_(NULL), key_(NULL) +{ +} + + +void CPjSocketReader::ConstructL(unsigned max_len) +{ + isDatagram_ = sock_.IsDatagram(); + + TUint8 *ptr = new TUint8[max_len]; + buffer_.Set(ptr, 0, (TInt)max_len); + CActiveScheduler::Add(this); +} + +CPjSocketReader *CPjSocketReader::NewL(CPjSocket &sock, unsigned max_len) +{ + CPjSocketReader *self = new (ELeave) CPjSocketReader(sock); + CleanupStack::PushL(self); + self->ConstructL(max_len); + CleanupStack::Pop(self); + + return self; +} + + +CPjSocketReader::~CPjSocketReader() +{ + const TUint8 *data = buffer_.Ptr(); + delete [] data; +} + +void CPjSocketReader::StartRecv(void (*cb)(void *key), + void *key, + TDes8 *aDesc, + TUint flags) +{ + StartRecvFrom(cb, key, aDesc, flags, NULL); +} + +void CPjSocketReader::StartRecvFrom(void (*cb)(void *key), + void *key, + TDes8 *aDesc, + TUint flags, + TSockAddr *fromAddr) +{ + readCb_ = cb; + key_ = key; + + if (aDesc == NULL) aDesc = &buffer_; + if (fromAddr == NULL) fromAddr = &recvAddr_; + + sock_.Socket().RecvFrom(*aDesc, *fromAddr, flags, iStatus); + SetActive(); +} + +void CPjSocketReader::DoCancel() +{ + sock_.Socket().CancelRecv(); +} + +void CPjSocketReader::RunL() +{ + void (*old_cb)(void *key) = readCb_; + void *old_key = key_; + + readCb_ = NULL; + key_ = NULL; + + if (old_cb) { + (*old_cb)(old_key); + } +} + +// Append data to aDesc, up to aDesc's maximum size. +// If socket is datagram based, buffer_ will be clared. +void CPjSocketReader::ReadData(TDes8 &aDesc, TInetAddr *addr) +{ + if (isDatagram_) + aDesc.Zero(); + + if (buffer_.Length() == 0) + return; + + TInt size_to_copy = aDesc.MaxLength() - aDesc.Length(); + if (size_to_copy > buffer_.Length()) + size_to_copy = buffer_.Length(); + + aDesc.Append(buffer_.Ptr(), size_to_copy); + + if (isDatagram_) + buffer_.Zero(); + else + buffer_.Delete(0, size_to_copy); + + if (addr) + *addr = recvAddr_; +} + + + +///////////////////////////////////////////////////////////////////////////// +// +// PJLIB's sock.h implementation +// + +/* + * Convert 16-bit value from network byte order to host byte order. + */ +PJ_DEF(pj_uint16_t) pj_ntohs(pj_uint16_t netshort) +{ +#if PJ_IS_LITTLE_ENDIAN + return pj_swap16(netshort); +#else + return netshort; +#endif +} + +/* + * Convert 16-bit value from host byte order to network byte order. + */ +PJ_DEF(pj_uint16_t) pj_htons(pj_uint16_t hostshort) +{ +#if PJ_IS_LITTLE_ENDIAN + return pj_swap16(hostshort); +#else + return hostshort; +#endif +} + +/* + * Convert 32-bit value from network byte order to host byte order. + */ +PJ_DEF(pj_uint32_t) pj_ntohl(pj_uint32_t netlong) +{ +#if PJ_IS_LITTLE_ENDIAN + return pj_swap32(netlong); +#else + return netlong; +#endif +} + +/* + * Convert 32-bit value from host byte order to network byte order. + */ +PJ_DEF(pj_uint32_t) pj_htonl(pj_uint32_t hostlong) +{ +#if PJ_IS_LITTLE_ENDIAN + return pj_swap32(hostlong); +#else + return netlong; +#endif +} + +/* + * Convert an Internet host address given in network byte order + * to string in standard numbers and dots notation. + */ +PJ_DEF(char*) pj_inet_ntoa(pj_in_addr inaddr) +{ + static char str8[PJ_INET_ADDRSTRLEN]; + TBuf str16(0); + + /* (Symbian IP address is in host byte order) */ + TInetAddr temp_addr((TUint32)pj_ntohl(inaddr.s_addr), (TUint)0); + temp_addr.Output(str16); + + return pj_unicode_to_ansi((const wchar_t*)str16.PtrZ(), str16.Length(), + str8, sizeof(str8)); +} + +/* + * This function converts the Internet host address cp from the standard + * numbers-and-dots notation into binary data and stores it in the structure + * that inp points to. + */ +PJ_DEF(int) pj_inet_aton(const pj_str_t *cp, struct pj_in_addr *inp) +{ + enum { MAXIPLEN = PJ_INET_ADDRSTRLEN }; + + /* Initialize output with PJ_INADDR_NONE. + * Some apps relies on this instead of the return value + * (and anyway the return value is quite confusing!) + */ + inp->s_addr = PJ_INADDR_NONE; + + /* Caution: + * this function might be called with cp->slen >= 16 + * (i.e. when called with hostname to check if it's an IP addr). + */ + PJ_ASSERT_RETURN(cp && cp->slen && inp, 0); + if (cp->slen >= 16) { + return 0; + } + + char tempaddr8[MAXIPLEN]; + pj_memcpy(tempaddr8, cp->ptr, cp->slen); + tempaddr8[cp->slen] = '\0'; + + wchar_t tempaddr16[MAXIPLEN]; + pj_ansi_to_unicode(tempaddr8, pj_ansi_strlen(tempaddr8), + tempaddr16, sizeof(tempaddr16)); + + TBuf ip_addr((const TText*)tempaddr16); + + TInetAddr addr; + addr.Init(KAfInet); + if (addr.Input(ip_addr) == KErrNone) { + /* Success (Symbian IP address is in host byte order) */ + inp->s_addr = pj_htonl(addr.Address()); + return 1; + } else { + /* Error */ + return 0; + } +} + +/* + * Convert text to IPv4/IPv6 address. + */ +PJ_DEF(pj_status_t) pj_inet_pton(int af, const pj_str_t *src, void *dst) +{ + char tempaddr[PJ_INET6_ADDRSTRLEN]; + + PJ_ASSERT_RETURN(af==PJ_AF_INET || af==PJ_AF_INET6, PJ_EINVAL); + PJ_ASSERT_RETURN(src && src->slen && dst, PJ_EINVAL); + + /* Initialize output with PJ_IN_ADDR_NONE for IPv4 (to be + * compatible with pj_inet_aton() + */ + if (af==PJ_AF_INET) { + ((pj_in_addr*)dst)->s_addr = PJ_INADDR_NONE; + } + + /* Caution: + * this function might be called with cp->slen >= 46 + * (i.e. when called with hostname to check if it's an IP addr). + */ + if (src->slen >= PJ_INET6_ADDRSTRLEN) { + return PJ_ENAMETOOLONG; + } + + pj_memcpy(tempaddr, src->ptr, src->slen); + tempaddr[src->slen] = '\0'; + + + wchar_t tempaddr16[PJ_INET6_ADDRSTRLEN]; + pj_ansi_to_unicode(tempaddr, pj_ansi_strlen(tempaddr), + tempaddr16, sizeof(tempaddr16)); + + TBuf ip_addr((const TText*)tempaddr16); + + TInetAddr addr; + addr.Init(KAfInet6); + if (addr.Input(ip_addr) == KErrNone) { + if (af==PJ_AF_INET) { + /* Success (Symbian IP address is in host byte order) */ + pj_uint32_t ip = pj_htonl(addr.Address()); + pj_memcpy(dst, &ip, 4); + } else if (af==PJ_AF_INET6) { + const TIp6Addr & ip6 = addr.Ip6Address(); + pj_memcpy(dst, ip6.u.iAddr8, 16); + } else { + pj_assert(!"Unexpected!"); + return PJ_EBUG; + } + return PJ_SUCCESS; + } else { + /* Error */ + return PJ_EINVAL; + } +} + +/* + * Convert IPv4/IPv6 address to text. + */ +PJ_DEF(pj_status_t) pj_inet_ntop(int af, const void *src, + char *dst, int size) + +{ + PJ_ASSERT_RETURN(src && dst && size, PJ_EINVAL); + + *dst = '\0'; + + if (af==PJ_AF_INET) { + + TBuf str16; + pj_in_addr inaddr; + + if (size < PJ_INET_ADDRSTRLEN) + return PJ_ETOOSMALL; + + pj_memcpy(&inaddr, src, 4); + + /* Symbian IP address is in host byte order */ + TInetAddr temp_addr((TUint32)pj_ntohl(inaddr.s_addr), (TUint)0); + temp_addr.Output(str16); + + pj_unicode_to_ansi((const wchar_t*)str16.PtrZ(), str16.Length(), + dst, size); + return PJ_SUCCESS; + + } else if (af==PJ_AF_INET6) { + TBuf str16; + + if (size < PJ_INET6_ADDRSTRLEN) + return PJ_ETOOSMALL; + + TIp6Addr ip6; + pj_memcpy(ip6.u.iAddr8, src, 16); + + TInetAddr temp_addr(ip6, (TUint)0); + temp_addr.Output(str16); + + pj_unicode_to_ansi((const wchar_t*)str16.PtrZ(), str16.Length(), + dst, size); + return PJ_SUCCESS; + + } else { + pj_assert(!"Unsupport address family"); + return PJ_EINVAL; + } + +} + +/* + * Get hostname. + */ +PJ_DEF(const pj_str_t*) pj_gethostname(void) +{ + static char buf[PJ_MAX_HOSTNAME]; + static pj_str_t hostname; + + PJ_CHECK_STACK(); + + if (hostname.ptr == NULL) { + RHostResolver &resv = PjSymbianOS::Instance()->GetResolver(PJ_AF_INET); + TRequestStatus reqStatus; + THostName tmpName; + + // Return empty hostname if access point is marked as down by app. + PJ_SYMBIAN_CHECK_CONNECTION2(&hostname); + + resv.GetHostName(tmpName, reqStatus); + User::WaitForRequest(reqStatus); + + hostname.ptr = pj_unicode_to_ansi((const wchar_t*)tmpName.Ptr(), tmpName.Length(), + buf, sizeof(buf)); + hostname.slen = tmpName.Length(); + } + return &hostname; +} + +/* + * Create new socket/endpoint for communication and returns a descriptor. + */ +PJ_DEF(pj_status_t) pj_sock_socket(int af, + int type, + int proto, + pj_sock_t *p_sock) +{ + TInt rc; + + PJ_CHECK_STACK(); + + /* Sanity checks. */ + PJ_ASSERT_RETURN(p_sock!=NULL, PJ_EINVAL); + + // Return failure if access point is marked as down by app. + PJ_SYMBIAN_CHECK_CONNECTION(); + + /* Set proto if none is specified. */ + if (proto == 0) { + if (type == pj_SOCK_STREAM()) + proto = KProtocolInetTcp; + else if (type == pj_SOCK_DGRAM()) + proto = KProtocolInetUdp; + } + + /* Create Symbian RSocket */ + RSocket rSock; + if (PjSymbianOS::Instance()->Connection()) + rc = rSock.Open(PjSymbianOS::Instance()->SocketServ(), + af, type, proto, + *PjSymbianOS::Instance()->Connection()); + else + rc = rSock.Open(PjSymbianOS::Instance()->SocketServ(), + af, type, proto); + + if (rc != KErrNone) + return PJ_RETURN_OS_ERROR(rc); + + + /* Wrap Symbian RSocket into PJLIB's CPjSocket, and return to caller */ + CPjSocket *pjSock = new CPjSocket(af, type, rSock); + *p_sock = (pj_sock_t)pjSock; + + return PJ_SUCCESS; +} + + +/* + * Bind socket. + */ +PJ_DEF(pj_status_t) pj_sock_bind( pj_sock_t sock, + const pj_sockaddr_t *addr, + int len) +{ + pj_status_t status; + TInt rc; + + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(sock != 0, PJ_EINVAL); + PJ_ASSERT_RETURN(addr && len>=(int)sizeof(pj_sockaddr_in), PJ_EINVAL); + + // Convert PJLIB's pj_sockaddr into Symbian's TInetAddr + TInetAddr inetAddr; + status = PjSymbianOS::pj2Addr(*(pj_sockaddr*)addr, len, inetAddr); + if (status != PJ_SUCCESS) + return status; + + // Get the RSocket instance + RSocket &rSock = ((CPjSocket*)sock)->Socket(); + + // Bind + rc = rSock.Bind(inetAddr); + + return (rc==KErrNone) ? PJ_SUCCESS : PJ_RETURN_OS_ERROR(rc); +} + + +/* + * Bind socket. + */ +PJ_DEF(pj_status_t) pj_sock_bind_in( pj_sock_t sock, + pj_uint32_t addr32, + pj_uint16_t port) +{ + pj_sockaddr_in addr; + + PJ_CHECK_STACK(); + + pj_bzero(&addr, sizeof(addr)); + addr.sin_family = PJ_AF_INET; + addr.sin_addr.s_addr = pj_htonl(addr32); + addr.sin_port = pj_htons(port); + + return pj_sock_bind(sock, &addr, sizeof(pj_sockaddr_in)); +} + + +/* + * Close socket. + */ +PJ_DEF(pj_status_t) pj_sock_close(pj_sock_t sock) +{ + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(sock != 0, PJ_EINVAL); + + CPjSocket *pjSock = (CPjSocket*)sock; + + // This will close the socket. + delete pjSock; + + return PJ_SUCCESS; +} + +/* + * Get remote's name. + */ +PJ_DEF(pj_status_t) pj_sock_getpeername( pj_sock_t sock, + pj_sockaddr_t *addr, + int *namelen) +{ + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(sock && addr && namelen && + *namelen>=(int)sizeof(pj_sockaddr_in), PJ_EINVAL); + + CPjSocket *pjSock = (CPjSocket*)sock; + RSocket &rSock = pjSock->Socket(); + + // Socket must be connected. + PJ_ASSERT_RETURN(pjSock->IsConnected(), PJ_EINVALIDOP); + + TInetAddr inetAddr; + rSock.RemoteName(inetAddr); + + return PjSymbianOS::Addr2pj(inetAddr, *(pj_sockaddr*)addr, namelen); +} + +/* + * Get socket name. + */ +PJ_DEF(pj_status_t) pj_sock_getsockname( pj_sock_t sock, + pj_sockaddr_t *addr, + int *namelen) +{ + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(sock && addr && namelen && + *namelen>=(int)sizeof(pj_sockaddr_in), PJ_EINVAL); + + CPjSocket *pjSock = (CPjSocket*)sock; + RSocket &rSock = pjSock->Socket(); + + TInetAddr inetAddr; + rSock.LocalName(inetAddr); + + return PjSymbianOS::Addr2pj(inetAddr, *(pj_sockaddr*)addr, namelen); +} + +/* + * Send data + */ +PJ_DEF(pj_status_t) pj_sock_send(pj_sock_t sock, + const void *buf, + pj_ssize_t *len, + unsigned flags) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(sock && buf && len, PJ_EINVAL); + + // Return failure if access point is marked as down by app. + PJ_SYMBIAN_CHECK_CONNECTION(); + + CPjSocket *pjSock = (CPjSocket*)sock; + RSocket &rSock = pjSock->Socket(); + + // send() should only be called to connected socket + PJ_ASSERT_RETURN(pjSock->IsConnected(), PJ_EINVALIDOP); + + TPtrC8 data((const TUint8*)buf, (TInt)*len); + TRequestStatus reqStatus; + TSockXfrLength sentLen; + + rSock.Send(data, flags, reqStatus, sentLen); + User::WaitForRequest(reqStatus); + + if (reqStatus.Int()==KErrNone) { + //*len = (TInt) sentLen.Length(); + return PJ_SUCCESS; + } else + return PJ_RETURN_OS_ERROR(reqStatus.Int()); +} + + +/* + * Send data. + */ +PJ_DEF(pj_status_t) pj_sock_sendto(pj_sock_t sock, + const void *buf, + pj_ssize_t *len, + unsigned flags, + const pj_sockaddr_t *to, + int tolen) +{ + pj_status_t status; + + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(sock && buf && len, PJ_EINVAL); + + // Return failure if access point is marked as down by app. + PJ_SYMBIAN_CHECK_CONNECTION(); + + CPjSocket *pjSock = (CPjSocket*)sock; + RSocket &rSock = pjSock->Socket(); + + // Only supports AF_INET for now + PJ_ASSERT_RETURN(tolen>=(int)sizeof(pj_sockaddr_in), PJ_EINVAL); + + TInetAddr inetAddr; + status = PjSymbianOS::pj2Addr(*(pj_sockaddr*)to, tolen, inetAddr); + if (status != PJ_SUCCESS) + return status; + + TPtrC8 data((const TUint8*)buf, (TInt)*len); + TRequestStatus reqStatus; + TSockXfrLength sentLen; + + rSock.SendTo(data, inetAddr, flags, reqStatus, sentLen); + User::WaitForRequest(reqStatus); + + if (reqStatus.Int()==KErrNone) { + //For some reason TSockXfrLength is not returning correctly! + //*len = (TInt) sentLen.Length(); + return PJ_SUCCESS; + } else + return PJ_RETURN_OS_ERROR(reqStatus.Int()); +} + +/* + * Receive data. + */ +PJ_DEF(pj_status_t) pj_sock_recv(pj_sock_t sock, + void *buf, + pj_ssize_t *len, + unsigned flags) +{ + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(sock && buf && len, PJ_EINVAL); + PJ_ASSERT_RETURN(*len > 0, PJ_EINVAL); + + // Return failure if access point is marked as down by app. + PJ_SYMBIAN_CHECK_CONNECTION(); + + CPjSocket *pjSock = (CPjSocket*)sock; + + if (pjSock->Reader()) { + CPjSocketReader *reader = pjSock->Reader(); + + while (reader->IsActive() && !reader->HasData()) { + User::WaitForAnyRequest(); + } + + if (reader->HasData()) { + TPtr8 data((TUint8*)buf, (TInt)*len); + TInetAddr inetAddr; + + reader->ReadData(data, &inetAddr); + + *len = data.Length(); + return PJ_SUCCESS; + } + } + + TRequestStatus reqStatus; + TSockXfrLength recvLen; + TPtr8 data((TUint8*)buf, (TInt)*len, (TInt)*len); + + if (pjSock->IsDatagram()) { + pjSock->Socket().Recv(data, flags, reqStatus); + } else { + // Using static like this is not pretty, but we don't need to use + // the value anyway, hence doing it like this is probably most + // optimal. + static TSockXfrLength len; + pjSock->Socket().RecvOneOrMore(data, flags, reqStatus, len); + } + User::WaitForRequest(reqStatus); + + if (reqStatus == KErrNone) { + //*len = (TInt)recvLen.Length(); + *len = data.Length(); + return PJ_SUCCESS; + } else { + *len = -1; + return PJ_RETURN_OS_ERROR(reqStatus.Int()); + } +} + +/* + * Receive data. + */ +PJ_DEF(pj_status_t) pj_sock_recvfrom(pj_sock_t sock, + void *buf, + pj_ssize_t *len, + unsigned flags, + pj_sockaddr_t *from, + int *fromlen) +{ + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(sock && buf && len && from && fromlen, PJ_EINVAL); + PJ_ASSERT_RETURN(*len > 0, PJ_EINVAL); + PJ_ASSERT_RETURN(*fromlen >= (int)sizeof(pj_sockaddr_in), PJ_EINVAL); + + // Return failure if access point is marked as down by app. + PJ_SYMBIAN_CHECK_CONNECTION(); + + CPjSocket *pjSock = (CPjSocket*)sock; + RSocket &rSock = pjSock->Socket(); + + if (pjSock->Reader()) { + CPjSocketReader *reader = pjSock->Reader(); + + while (reader->IsActive() && !reader->HasData()) { + User::WaitForAnyRequest(); + } + + if (reader->HasData()) { + TPtr8 data((TUint8*)buf, (TInt)*len); + TInetAddr inetAddr; + + reader->ReadData(data, &inetAddr); + + *len = data.Length(); + + if (from && fromlen) { + return PjSymbianOS::Addr2pj(inetAddr, *(pj_sockaddr*)from, + fromlen); + } else { + return PJ_SUCCESS; + } + } + } + + TInetAddr inetAddr; + TRequestStatus reqStatus; + TSockXfrLength recvLen; + TPtr8 data((TUint8*)buf, (TInt)*len, (TInt)*len); + + rSock.RecvFrom(data, inetAddr, flags, reqStatus, recvLen); + User::WaitForRequest(reqStatus); + + if (reqStatus == KErrNone) { + //*len = (TInt)recvLen.Length(); + *len = data.Length(); + return PjSymbianOS::Addr2pj(inetAddr, *(pj_sockaddr*)from, fromlen); + } else { + *len = -1; + *fromlen = -1; + return PJ_RETURN_OS_ERROR(reqStatus.Int()); + } +} + +/* + * Get socket option. + */ +PJ_DEF(pj_status_t) pj_sock_getsockopt( pj_sock_t sock, + pj_uint16_t level, + pj_uint16_t optname, + void *optval, + int *optlen) +{ + // Not supported for now. + PJ_UNUSED_ARG(sock); + PJ_UNUSED_ARG(level); + PJ_UNUSED_ARG(optname); + PJ_UNUSED_ARG(optval); + PJ_UNUSED_ARG(optlen); + return PJ_EINVALIDOP; +} + +/* + * Set socket option. + */ +PJ_DEF(pj_status_t) pj_sock_setsockopt( pj_sock_t sock, + pj_uint16_t level, + pj_uint16_t optname, + const void *optval, + int optlen) +{ + // Not supported for now. + PJ_UNUSED_ARG(sock); + PJ_UNUSED_ARG(level); + PJ_UNUSED_ARG(optname); + PJ_UNUSED_ARG(optval); + PJ_UNUSED_ARG(optlen); + return PJ_EINVALIDOP; +} + +/* + * Connect socket. + */ +PJ_DEF(pj_status_t) pj_sock_connect( pj_sock_t sock, + const pj_sockaddr_t *addr, + int namelen) +{ + pj_status_t status; + + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(sock && addr && namelen, PJ_EINVAL); + PJ_ASSERT_RETURN(((pj_sockaddr*)addr)->addr.sa_family == PJ_AF_INET, + PJ_EINVAL); + + // Return failure if access point is marked as down by app. + PJ_SYMBIAN_CHECK_CONNECTION(); + + CPjSocket *pjSock = (CPjSocket*)sock; + RSocket &rSock = pjSock->Socket(); + + TInetAddr inetAddr; + TRequestStatus reqStatus; + + status = PjSymbianOS::pj2Addr(*(pj_sockaddr*)addr, namelen, inetAddr); + if (status != PJ_SUCCESS) + return status; + + rSock.Connect(inetAddr, reqStatus); + User::WaitForRequest(reqStatus); + + if (reqStatus == KErrNone) { + pjSock->SetConnected(true); + return PJ_SUCCESS; + } else { + return PJ_RETURN_OS_ERROR(reqStatus.Int()); + } +} + + +/* + * Shutdown socket. + */ +#if PJ_HAS_TCP +PJ_DEF(pj_status_t) pj_sock_shutdown( pj_sock_t sock, + int how) +{ + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(sock, PJ_EINVAL); + + CPjSocket *pjSock = (CPjSocket*)sock; + RSocket &rSock = pjSock->Socket(); + + RSocket::TShutdown aHow; + if (how == PJ_SD_RECEIVE) + aHow = RSocket::EStopInput; + else if (how == PJ_SHUT_WR) + aHow = RSocket::EStopOutput; + else + aHow = RSocket::ENormal; + + TRequestStatus reqStatus; + + rSock.Shutdown(aHow, reqStatus); + User::WaitForRequest(reqStatus); + + if (reqStatus == KErrNone) { + return PJ_SUCCESS; + } else { + return PJ_RETURN_OS_ERROR(reqStatus.Int()); + } +} + +/* + * Start listening to incoming connections. + */ +PJ_DEF(pj_status_t) pj_sock_listen( pj_sock_t sock, + int backlog) +{ + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(sock && backlog, PJ_EINVAL); + + CPjSocket *pjSock = (CPjSocket*)sock; + RSocket &rSock = pjSock->Socket(); + + TInt rc = rSock.Listen((TUint)backlog); + + if (rc == KErrNone) { + return PJ_SUCCESS; + } else { + return PJ_RETURN_OS_ERROR(rc); + } +} + +/* + * Accept incoming connections + */ +PJ_DEF(pj_status_t) pj_sock_accept( pj_sock_t serverfd, + pj_sock_t *newsock, + pj_sockaddr_t *addr, + int *addrlen) +{ + PJ_CHECK_STACK(); + + PJ_ASSERT_RETURN(serverfd && newsock, PJ_EINVAL); + + CPjSocket *pjSock = (CPjSocket*)serverfd; + RSocket &rSock = pjSock->Socket(); + + // Create a 'blank' socket + RSocket newSock; + newSock.Open(PjSymbianOS::Instance()->SocketServ()); + + // Call Accept() + TRequestStatus reqStatus; + + rSock.Accept(newSock, reqStatus); + User::WaitForRequest(reqStatus); + + if (reqStatus != KErrNone) { + return PJ_RETURN_OS_ERROR(reqStatus.Int()); + } + + // Create PJ socket + CPjSocket *newPjSock = new CPjSocket(pjSock->GetAf(), pjSock->GetSockType(), + newSock); + newPjSock->SetConnected(true); + + *newsock = (pj_sock_t) newPjSock; + + if (addr && addrlen) { + return pj_sock_getpeername(*newsock, addr, addrlen); + } + + return PJ_SUCCESS; +} +#endif /* PJ_HAS_TCP */ + + diff --git a/pjlib/src/pj/ssl_sock_common.c b/pjlib/src/pj/ssl_sock_common.c new file mode 100644 index 0000000..913efee --- /dev/null +++ b/pjlib/src/pj/ssl_sock_common.c @@ -0,0 +1,140 @@ +/* $Id: ssl_sock_common.c 4860 2014-06-19 05:07:12Z riza $ */ +/* + * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + +/* + * Initialize the SSL socket configuration with the default values. + */ +PJ_DEF(void) pj_ssl_sock_param_default(pj_ssl_sock_param *param) +{ + pj_bzero(param, sizeof(*param)); + + /* Socket config */ + param->sock_af = PJ_AF_INET; + param->sock_type = pj_SOCK_STREAM(); + param->async_cnt = 1; + param->concurrency = -1; + param->whole_data = PJ_TRUE; + param->send_buffer_size = 8192; +#if !defined(PJ_SYMBIAN) || PJ_SYMBIAN==0 + param->read_buffer_size = 1500; +#endif + param->qos_type = PJ_QOS_TYPE_BEST_EFFORT; + param->qos_ignore_error = PJ_TRUE; + + param->sockopt_ignore_error = PJ_TRUE; + + /* Security config */ + param->proto = PJ_SSL_SOCK_PROTO_DEFAULT; +} + + +PJ_DEF(pj_status_t) pj_ssl_cert_get_verify_status_strings( + pj_uint32_t verify_status, + const char *error_strings[], + unsigned *count) +{ + unsigned i = 0, shift_idx = 0; + unsigned unknown = 0; + pj_uint32_t errs; + + PJ_ASSERT_RETURN(error_strings && count, PJ_EINVAL); + + if (verify_status == PJ_SSL_CERT_ESUCCESS && *count) { + error_strings[0] = "OK"; + *count = 1; + return PJ_SUCCESS; + } + + errs = verify_status; + + while (errs && i < *count) { + pj_uint32_t err; + const char *p = NULL; + + if ((errs & 1) == 0) { + shift_idx++; + errs >>= 1; + continue; + } + + err = (1 << shift_idx); + + switch (err) { + case PJ_SSL_CERT_EISSUER_NOT_FOUND: + p = "The issuer certificate cannot be found"; + break; + case PJ_SSL_CERT_EUNTRUSTED: + p = "The certificate is untrusted"; + break; + case PJ_SSL_CERT_EVALIDITY_PERIOD: + p = "The certificate has expired or not yet valid"; + break; + case PJ_SSL_CERT_EINVALID_FORMAT: + p = "One or more fields of the certificate cannot be decoded " + "due to invalid format"; + break; + case PJ_SSL_CERT_EISSUER_MISMATCH: + p = "The issuer info in the certificate does not match to the " + "(candidate) issuer certificate"; + break; + case PJ_SSL_CERT_ECRL_FAILURE: + p = "The CRL certificate cannot be found or cannot be read " + "properly"; + break; + case PJ_SSL_CERT_EREVOKED: + p = "The certificate has been revoked"; + break; + case PJ_SSL_CERT_EINVALID_PURPOSE: + p = "The certificate or CA certificate cannot be used for the " + "specified purpose"; + break; + case PJ_SSL_CERT_ECHAIN_TOO_LONG: + p = "The certificate chain length is too long"; + break; + case PJ_SSL_CERT_EIDENTITY_NOT_MATCH: + p = "The server identity does not match to any identities " + "specified in the certificate"; + break; + case PJ_SSL_CERT_EUNKNOWN: + default: + unknown++; + break; + } + + /* Set error string */ + if (p) + error_strings[i++] = p; + + /* Next */ + shift_idx++; + errs >>= 1; + } + + /* Unknown error */ + if (unknown && i < *count) + error_strings[i++] = "Unknown verification error"; + + *count = i; + + return PJ_SUCCESS; +} diff --git a/pjlib/src/pj/ssl_sock_dump.c b/pjlib/src/pj/ssl_sock_dump.c new file mode 100644 index 0000000..17da5ac --- /dev/null +++ b/pjlib/src/pj/ssl_sock_dump.c @@ -0,0 +1,148 @@ +/* $Id: ssl_sock_dump.c 4910 2014-09-01 06:32:50Z riza $ */ +/* + * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + + +/* Only build when PJ_HAS_SSL_SOCK is enabled */ +#if defined(PJ_HAS_SSL_SOCK) && PJ_HAS_SSL_SOCK!=0 + +#define THIS_FILE "ssl_sock_dump.c" + +#define CHECK_BUF_LEN() \ + if ((len < 0) || (len >= end-p)) { \ + *p = '\0'; \ + return -1; \ + } \ + p += len; + +PJ_DEF(pj_ssize_t) pj_ssl_cert_info_dump(const pj_ssl_cert_info *ci, + const char *indent, + char *buf, + pj_size_t buf_size) +{ + const char *wdays[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; + pj_parsed_time pt1; + pj_parsed_time pt2; + unsigned i; + int len = 0; + char *p, *end; + + p = buf; + end = buf + buf_size; + + pj_time_decode(&ci->validity.start, &pt1); + pj_time_decode(&ci->validity.end, &pt2); + + /* Version */ + len = pj_ansi_snprintf(p, end-p, "%sVersion : v%d\n", + indent, ci->version); + CHECK_BUF_LEN(); + + /* Serial number */ + len = pj_ansi_snprintf(p, end-p, "%sSerial : ", indent); + CHECK_BUF_LEN(); + + for (i = 0; i < sizeof(ci->serial_no) && !ci->serial_no[i]; ++i); + for (; i < sizeof(ci->serial_no); ++i) { + len = pj_ansi_snprintf(p, end-p, "%02X ", ci->serial_no[i] & 0xFF); + CHECK_BUF_LEN(); + } + *(p-1) = '\n'; + + /* Subject */ + len = pj_ansi_snprintf( p, end-p, "%sSubject : %.*s\n", indent, + (int)ci->subject.cn.slen, + ci->subject.cn.ptr); + CHECK_BUF_LEN(); + len = pj_ansi_snprintf( p, end-p, "%s %.*s\n", indent, + (int)ci->subject.info.slen, + ci->subject.info.ptr); + CHECK_BUF_LEN(); + + /* Issuer */ + len = pj_ansi_snprintf( p, end-p, "%sIssuer : %.*s\n", indent, + (int)ci->issuer.cn.slen, + ci->issuer.cn.ptr); + CHECK_BUF_LEN(); + len = pj_ansi_snprintf( p, end-p, "%s %.*s\n", indent, + (int)ci->issuer.info.slen, + ci->issuer.info.ptr); + CHECK_BUF_LEN(); + + /* Validity period */ + len = pj_ansi_snprintf( p, end-p, "%sValid from : %s %4d-%02d-%02d " + "%02d:%02d:%02d.%03d %s\n", indent, + wdays[pt1.wday], pt1.year, pt1.mon+1, pt1.day, + pt1.hour, pt1.min, pt1.sec, pt1.msec, + (ci->validity.gmt? "GMT":"")); + CHECK_BUF_LEN(); + + len = pj_ansi_snprintf( p, end-p, "%sValid to : %s %4d-%02d-%02d " + "%02d:%02d:%02d.%03d %s\n", indent, + wdays[pt2.wday], pt2.year, pt2.mon+1, pt2.day, + pt2.hour, pt2.min, pt2.sec, pt2.msec, + (ci->validity.gmt? "GMT":"")); + CHECK_BUF_LEN(); + + /* Subject alternative name extension */ + if (ci->subj_alt_name.cnt) { + unsigned i; + + len = pj_ansi_snprintf(p, end-p, "%ssubjectAltName extension\n", + indent); + CHECK_BUF_LEN(); + + for (i = 0; i < ci->subj_alt_name.cnt; ++i) { + const char *type = NULL; + + switch(ci->subj_alt_name.entry[i].type) { + case PJ_SSL_CERT_NAME_RFC822: + type = "MAIL"; + break; + case PJ_SSL_CERT_NAME_DNS: + type = " DNS"; + break; + case PJ_SSL_CERT_NAME_URI: + type = " URI"; + break; + case PJ_SSL_CERT_NAME_IP: + type = " IP"; + break; + default: + break; + } + if (type) { + len = pj_ansi_snprintf( p, end-p, "%s %s : %.*s\n", indent, + type, + (int)ci->subj_alt_name.entry[i].name.slen, + ci->subj_alt_name.entry[i].name.ptr); + CHECK_BUF_LEN(); + } + } + } + + return (p-buf); +} + + +#endif /* PJ_HAS_SSL_SOCK */ + diff --git a/pjlib/src/pj/ssl_sock_ossl.c b/pjlib/src/pj/ssl_sock_ossl.c new file mode 100644 index 0000000..40a5a1e --- /dev/null +++ b/pjlib/src/pj/ssl_sock_ossl.c @@ -0,0 +1,2860 @@ +/* $Id: ssl_sock_ossl.c 5087 2015-05-07 04:48:19Z nanang $ */ +/* + * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +/* Only build when PJ_HAS_SSL_SOCK is enabled */ +#if defined(PJ_HAS_SSL_SOCK) && PJ_HAS_SSL_SOCK!=0 + +#define THIS_FILE "ssl_sock_ossl.c" + +/* Workaround for ticket #985 */ +#define DELAYED_CLOSE_TIMEOUT 200 + +/* + * Include OpenSSL headers + */ +#include +#include +#include +#include + + +#ifdef _MSC_VER +# pragma comment( lib, "libeay32") +# pragma comment( lib, "ssleay32") +#endif + + +/* Suppress compile warning of OpenSSL deprecation (OpenSSL is deprecated + * since MacOSX 10.7). + */ +#if defined(PJ_DARWINOS) && PJ_DARWINOS==1 +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif + + +/* + * SSL/TLS state enumeration. + */ +enum ssl_state { + SSL_STATE_NULL, + SSL_STATE_HANDSHAKING, + SSL_STATE_ESTABLISHED +}; + +/* + * Internal timer types. + */ +enum timer_id +{ + TIMER_NONE, + TIMER_HANDSHAKE_TIMEOUT, + TIMER_CLOSE +}; + +/* + * Structure of SSL socket read buffer. + */ +typedef struct read_data_t +{ + void *data; + pj_size_t len; +} read_data_t; + +/* + * Get the offset of pointer to read-buffer of SSL socket from read-buffer + * of active socket. Note that both SSL socket and active socket employ + * different but correlated read-buffers (as much as async_cnt for each), + * and to make it easier/faster to find corresponding SSL socket's read-buffer + * from known active socket's read-buffer, the pointer of corresponding + * SSL socket's read-buffer is stored right after the end of active socket's + * read-buffer. + */ +#define OFFSET_OF_READ_DATA_PTR(ssock, asock_rbuf) \ + (read_data_t**) \ + ((pj_int8_t*)(asock_rbuf) + \ + ssock->param.read_buffer_size) + +/* + * Structure of SSL socket write data. + */ +typedef struct write_data_t { + PJ_DECL_LIST_MEMBER(struct write_data_t); + pj_ioqueue_op_key_t key; + pj_size_t record_len; + pj_ioqueue_op_key_t *app_key; + pj_size_t plain_data_len; + pj_size_t data_len; + unsigned flags; + union { + char content[1]; + const char *ptr; + } data; +} write_data_t; + +/* + * Structure of SSL socket write buffer (circular buffer). + */ +typedef struct send_buf_t { + char *buf; + pj_size_t max_len; + char *start; + pj_size_t len; +} send_buf_t; + +/* + * Secure socket structure definition. + */ +struct pj_ssl_sock_t +{ + pj_pool_t *pool; + pj_ssl_sock_t *parent; + pj_ssl_sock_param param; + pj_ssl_cert_t *cert; + + pj_ssl_cert_info local_cert_info; + pj_ssl_cert_info remote_cert_info; + + pj_bool_t is_server; + enum ssl_state ssl_state; + pj_ioqueue_op_key_t handshake_op_key; + pj_timer_entry timer; + pj_status_t verify_status; + + unsigned long last_err; + + pj_sock_t sock; + pj_activesock_t *asock; + + pj_sockaddr local_addr; + pj_sockaddr rem_addr; + int addr_len; + + pj_bool_t read_started; + pj_size_t read_size; + pj_uint32_t read_flags; + void **asock_rbuf; + read_data_t *ssock_rbuf; + + write_data_t write_pending;/* list of pending write to OpenSSL */ + write_data_t write_pending_empty; /* cache for write_pending */ + pj_bool_t flushing_write_pend; /* flag of flushing is ongoing*/ + send_buf_t send_buf; + write_data_t send_pending; /* list of pending write to network */ + pj_lock_t *write_mutex; /* protect write BIO and send_buf */ + + SSL_CTX *ossl_ctx; + SSL *ossl_ssl; + BIO *ossl_rbio; + BIO *ossl_wbio; +}; + + +/* + * Certificate/credential structure definition. + */ +struct pj_ssl_cert_t +{ + pj_str_t CA_file; + pj_str_t CA_path; + pj_str_t cert_file; + pj_str_t privkey_file; + pj_str_t privkey_pass; +}; + + +static write_data_t* alloc_send_data(pj_ssl_sock_t *ssock, pj_size_t len); +static void free_send_data(pj_ssl_sock_t *ssock, write_data_t *wdata); +static pj_status_t flush_delayed_send(pj_ssl_sock_t *ssock); + +/* + ******************************************************************* + * Static/internal functions. + ******************************************************************* + */ + +/** + * Mapping from OpenSSL error codes to pjlib error space. + */ + +#define PJ_SSL_ERRNO_START (PJ_ERRNO_START_USER + \ + PJ_ERRNO_SPACE_SIZE*6) + +#define PJ_SSL_ERRNO_SPACE_SIZE PJ_ERRNO_SPACE_SIZE + +/* Expected maximum value of reason component in OpenSSL error code */ +#define MAX_OSSL_ERR_REASON 1200 + +static pj_status_t STATUS_FROM_SSL_ERR(pj_ssl_sock_t *ssock, + unsigned long err) +{ + pj_status_t status; + + /* General SSL error, dig more from OpenSSL error queue */ + if (err == SSL_ERROR_SSL) + err = ERR_get_error(); + + /* OpenSSL error range is much wider than PJLIB errno space, so + * if it exceeds the space, only the error reason will be kept. + * Note that the last native error will be kept as is and can be + * retrieved via SSL socket info. + */ + status = ERR_GET_LIB(err)*MAX_OSSL_ERR_REASON + ERR_GET_REASON(err); + if (status > PJ_SSL_ERRNO_SPACE_SIZE) + status = ERR_GET_REASON(err); + + status += PJ_SSL_ERRNO_START; + ssock->last_err = err; + return status; +} + +static pj_status_t GET_SSL_STATUS(pj_ssl_sock_t *ssock) +{ + return STATUS_FROM_SSL_ERR(ssock, ERR_get_error()); +} + + +/* + * Get error string of OpenSSL. + */ +static pj_str_t ssl_strerror(pj_status_t status, + char *buf, pj_size_t bufsize) +{ + pj_str_t errstr; + unsigned long ssl_err = status; + + if (ssl_err) { + unsigned long l, r; + ssl_err -= PJ_SSL_ERRNO_START; + l = ssl_err / MAX_OSSL_ERR_REASON; + r = ssl_err % MAX_OSSL_ERR_REASON; + ssl_err = ERR_PACK(l, 0, r); + } + +#if defined(PJ_HAS_ERROR_STRING) && (PJ_HAS_ERROR_STRING != 0) + + { + const char *tmp = NULL; + tmp = ERR_reason_error_string(ssl_err); + if (tmp) { + pj_ansi_strncpy(buf, tmp, bufsize); + errstr = pj_str(buf); + return errstr; + } + } + +#endif /* PJ_HAS_ERROR_STRING */ + + errstr.ptr = buf; + errstr.slen = pj_ansi_snprintf(buf, bufsize, + "Unknown OpenSSL error %lu", + ssl_err); + if (errstr.slen < 1 || errstr.slen >= (int)bufsize) + errstr.slen = bufsize - 1; + return errstr; +} + + +/* OpenSSL library initialization counter */ +static int openssl_init_count; + +/* OpenSSL available ciphers */ +static unsigned openssl_cipher_num; +static struct openssl_ciphers_t { + pj_ssl_cipher id; + const char *name; +} openssl_ciphers[PJ_SSL_SOCK_MAX_CIPHERS]; + +/* OpenSSL application data index */ +static int sslsock_idx; + + +/* Initialize OpenSSL */ +static pj_status_t init_openssl(void) +{ + pj_status_t status; + + if (openssl_init_count) + return PJ_SUCCESS; + + openssl_init_count = 1; + + /* Register error subsystem */ + status = pj_register_strerror(PJ_SSL_ERRNO_START, + PJ_SSL_ERRNO_SPACE_SIZE, + &ssl_strerror); + pj_assert(status == PJ_SUCCESS); + + /* Init OpenSSL lib */ + SSL_library_init(); + SSL_load_error_strings(); +#if OPENSSL_VERSION_NUMBER < 0x009080ffL + /* This is now synonym of SSL_library_init() */ + OpenSSL_add_all_algorithms(); +#endif + + /* Init available ciphers */ + if (openssl_cipher_num == 0) { + SSL_METHOD *meth = NULL; + SSL_CTX *ctx; + SSL *ssl; + STACK_OF(SSL_CIPHER) *sk_cipher; + unsigned i, n; + + meth = (SSL_METHOD*)SSLv23_server_method(); + if (!meth) + meth = (SSL_METHOD*)TLSv1_server_method(); +#ifndef OPENSSL_NO_SSL3_METHOD + if (!meth) + meth = (SSL_METHOD*)SSLv3_server_method(); +#endif +#ifndef OPENSSL_NO_SSL2 + if (!meth) + meth = (SSL_METHOD*)SSLv2_server_method(); +#endif + pj_assert(meth); + + ctx=SSL_CTX_new(meth); + SSL_CTX_set_cipher_list(ctx, "ALL:COMPLEMENTOFALL"); + + ssl = SSL_new(ctx); + sk_cipher = SSL_get_ciphers(ssl); + + n = sk_SSL_CIPHER_num(sk_cipher); + if (n > PJ_ARRAY_SIZE(openssl_ciphers)) + n = PJ_ARRAY_SIZE(openssl_ciphers); + + for (i = 0; i < n; ++i) { + const SSL_CIPHER *c; + c = sk_SSL_CIPHER_value(sk_cipher,i); + openssl_ciphers[i].id = (pj_ssl_cipher) + (pj_uint32_t)c->id & 0x00FFFFFF; + openssl_ciphers[i].name = SSL_CIPHER_get_name(c); + } + + SSL_free(ssl); + SSL_CTX_free(ctx); + + openssl_cipher_num = n; + } + + /* Create OpenSSL application data index for SSL socket */ + sslsock_idx = SSL_get_ex_new_index(0, "SSL socket", NULL, NULL, NULL); + + return PJ_SUCCESS; +} + + +/* Shutdown OpenSSL */ +static void shutdown_openssl(void) +{ + PJ_UNUSED_ARG(openssl_init_count); +} + + +/* SSL password callback. */ +static int password_cb(char *buf, int num, int rwflag, void *user_data) +{ + pj_ssl_cert_t *cert = (pj_ssl_cert_t*) user_data; + + PJ_UNUSED_ARG(rwflag); + + if(num < cert->privkey_pass.slen) + return 0; + + pj_memcpy(buf, cert->privkey_pass.ptr, cert->privkey_pass.slen); + return (int)cert->privkey_pass.slen; +} + + +/* SSL password callback. */ +static int verify_cb(int preverify_ok, X509_STORE_CTX *x509_ctx) +{ + pj_ssl_sock_t *ssock; + SSL *ossl_ssl; + int err; + + /* Get SSL instance */ + ossl_ssl = X509_STORE_CTX_get_ex_data(x509_ctx, + SSL_get_ex_data_X509_STORE_CTX_idx()); + pj_assert(ossl_ssl); + + /* Get SSL socket instance */ + ssock = SSL_get_ex_data(ossl_ssl, sslsock_idx); + pj_assert(ssock); + + /* Store verification status */ + err = X509_STORE_CTX_get_error(x509_ctx); + switch (err) { + case X509_V_OK: + break; + + case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: + ssock->verify_status |= PJ_SSL_CERT_EISSUER_NOT_FOUND; + break; + + case X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: + case X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: + case X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: + case X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: + ssock->verify_status |= PJ_SSL_CERT_EINVALID_FORMAT; + break; + + case X509_V_ERR_CERT_NOT_YET_VALID: + case X509_V_ERR_CERT_HAS_EXPIRED: + ssock->verify_status |= PJ_SSL_CERT_EVALIDITY_PERIOD; + break; + + case X509_V_ERR_UNABLE_TO_GET_CRL: + case X509_V_ERR_CRL_NOT_YET_VALID: + case X509_V_ERR_CRL_HAS_EXPIRED: + case X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: + case X509_V_ERR_CRL_SIGNATURE_FAILURE: + case X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: + case X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: + ssock->verify_status |= PJ_SSL_CERT_ECRL_FAILURE; + break; + + case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: + case X509_V_ERR_CERT_UNTRUSTED: + case X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: + case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: + ssock->verify_status |= PJ_SSL_CERT_EUNTRUSTED; + break; + + case X509_V_ERR_CERT_SIGNATURE_FAILURE: + case X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: + case X509_V_ERR_SUBJECT_ISSUER_MISMATCH: + case X509_V_ERR_AKID_SKID_MISMATCH: + case X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: + case X509_V_ERR_KEYUSAGE_NO_CERTSIGN: + ssock->verify_status |= PJ_SSL_CERT_EISSUER_MISMATCH; + break; + + case X509_V_ERR_CERT_REVOKED: + ssock->verify_status |= PJ_SSL_CERT_EREVOKED; + break; + + case X509_V_ERR_INVALID_PURPOSE: + case X509_V_ERR_CERT_REJECTED: + case X509_V_ERR_INVALID_CA: + ssock->verify_status |= PJ_SSL_CERT_EINVALID_PURPOSE; + break; + + case X509_V_ERR_CERT_CHAIN_TOO_LONG: /* not really used */ + case X509_V_ERR_PATH_LENGTH_EXCEEDED: + ssock->verify_status |= PJ_SSL_CERT_ECHAIN_TOO_LONG; + break; + + /* Unknown errors */ + case X509_V_ERR_OUT_OF_MEM: + default: + ssock->verify_status |= PJ_SSL_CERT_EUNKNOWN; + break; + } + + /* When verification is not requested just return ok here, however + * application can still get the verification status. + */ + if (PJ_FALSE == ssock->param.verify_peer) + preverify_ok = 1; + + return preverify_ok; +} + +/* Setting SSL sock cipher list */ +static pj_status_t set_cipher_list(pj_ssl_sock_t *ssock); + + +/* Create and initialize new SSL context and instance */ +static pj_status_t create_ssl(pj_ssl_sock_t *ssock) +{ + BIO *bio; + DH *dh; + long options; +#if !defined(OPENSSL_NO_ECDH) && OPENSSL_VERSION_NUMBER >= 0x10000000L + EC_KEY *ecdh; +#endif + SSL_METHOD *ssl_method = NULL; + SSL_CTX *ctx; + pj_uint32_t ssl_opt = 0; + pj_ssl_cert_t *cert; + int mode, rc; + pj_status_t status; + + pj_assert(ssock); + + cert = ssock->cert; + + /* Make sure OpenSSL library has been initialized */ + init_openssl(); + + if (ssock->param.proto == PJ_SSL_SOCK_PROTO_DEFAULT) + ssock->param.proto = PJ_SSL_SOCK_PROTO_SSL23; + + /* Determine SSL method to use */ + switch (ssock->param.proto) { + case PJ_SSL_SOCK_PROTO_TLS1: + ssl_method = (SSL_METHOD*)TLSv1_method(); + break; +#ifndef OPENSSL_NO_SSL2 + case PJ_SSL_SOCK_PROTO_SSL2: + ssl_method = (SSL_METHOD*)SSLv2_method(); + break; +#endif +#ifndef OPENSSL_NO_SSL3_METHOD + case PJ_SSL_SOCK_PROTO_SSL3: + ssl_method = (SSL_METHOD*)SSLv3_method(); +#endif + break; + } + + if (!ssl_method) { + ssl_method = (SSL_METHOD*)SSLv23_method(); + +#ifdef SSL_OP_NO_SSLv2 + /** Check if SSLv2 is enabled */ + ssl_opt |= ((ssock->param.proto & PJ_SSL_SOCK_PROTO_SSL2)==0)? + SSL_OP_NO_SSLv2:0; +#endif + +#ifdef SSL_OP_NO_SSLv3 + /** Check if SSLv3 is enabled */ + ssl_opt |= ((ssock->param.proto & PJ_SSL_SOCK_PROTO_SSL3)==0)? + SSL_OP_NO_SSLv3:0; +#endif + +#ifdef SSL_OP_NO_TLSv1 + /** Check if TLSv1 is enabled */ + ssl_opt |= ((ssock->param.proto & PJ_SSL_SOCK_PROTO_TLS1)==0)? + SSL_OP_NO_TLSv1:0; +#endif + +#ifdef SSL_OP_NO_TLSv1_1 + /** Check if TLSv1_1 is enabled */ + ssl_opt |= ((ssock->param.proto & PJ_SSL_SOCK_PROTO_TLS1_1)==0)? + SSL_OP_NO_TLSv1_1:0; +#endif + +#ifdef SSL_OP_NO_TLSv1_2 + /** Check if TLSv1_2 is enabled */ + ssl_opt |= ((ssock->param.proto & PJ_SSL_SOCK_PROTO_TLS1_2)==0)? + SSL_OP_NO_TLSv1_2:0; + +#endif + + } + + /* Create SSL context */ + ctx = SSL_CTX_new(ssl_method); + if (ctx == NULL) { + return GET_SSL_STATUS(ssock); + } + if (ssl_opt) + SSL_CTX_set_options(ctx, ssl_opt); + + /* Apply credentials */ + if (cert) { + /* Load CA list if one is specified. */ + if (cert->CA_file.slen || cert->CA_path.slen) { + + rc = SSL_CTX_load_verify_locations( + ctx, + cert->CA_file.slen == 0 ? NULL : cert->CA_file.ptr, + cert->CA_path.slen == 0 ? NULL : cert->CA_path.ptr); + + if (rc != 1) { + status = GET_SSL_STATUS(ssock); + if (cert->CA_file.slen) { + PJ_LOG(1,(ssock->pool->obj_name, + "Error loading CA list file '%s'", + cert->CA_file.ptr)); + } + if (cert->CA_path.slen) { + PJ_LOG(1,(ssock->pool->obj_name, + "Error loading CA path '%s'", + cert->CA_path.ptr)); + } + SSL_CTX_free(ctx); + return status; + } + } + + /* Set password callback */ + if (cert->privkey_pass.slen) { + SSL_CTX_set_default_passwd_cb(ctx, password_cb); + SSL_CTX_set_default_passwd_cb_userdata(ctx, cert); + } + + + /* Load certificate if one is specified */ + if (cert->cert_file.slen) { + + /* Load certificate chain from file into ctx */ + rc = SSL_CTX_use_certificate_chain_file(ctx, cert->cert_file.ptr); + + if(rc != 1) { + status = GET_SSL_STATUS(ssock); + PJ_LOG(1,(ssock->pool->obj_name, "Error loading certificate " + "chain file '%s'", cert->cert_file.ptr)); + SSL_CTX_free(ctx); + return status; + } + } + + + /* Load private key if one is specified */ + if (cert->privkey_file.slen) { + /* Adds the first private key found in file to ctx */ + rc = SSL_CTX_use_PrivateKey_file(ctx, cert->privkey_file.ptr, + SSL_FILETYPE_PEM); + + if(rc != 1) { + status = GET_SSL_STATUS(ssock); + PJ_LOG(1,(ssock->pool->obj_name, "Error adding private key " + "from '%s'", cert->privkey_file.ptr)); + SSL_CTX_free(ctx); + return status; + } + + if (ssock->is_server) { + bio = BIO_new_file(cert->privkey_file.ptr, "r"); + if (bio != NULL) { + dh = PEM_read_bio_DHparams(bio, NULL, NULL, NULL); + if (dh != NULL) { + if (SSL_CTX_set_tmp_dh(ctx, dh)) { + options = SSL_OP_CIPHER_SERVER_PREFERENCE | + #if !defined(OPENSSL_NO_ECDH) && OPENSSL_VERSION_NUMBER >= 0x10000000L + SSL_OP_SINGLE_ECDH_USE | + #endif + SSL_OP_SINGLE_DH_USE; + options = SSL_CTX_set_options(ctx, options); + PJ_LOG(4,(ssock->pool->obj_name, "SSL DH " + "initialized, PFS cipher-suites enabled")); + } + DH_free(dh); + } + BIO_free(bio); + } + } + } + } + + if (ssock->is_server) { + char *p = NULL; + + /* If certificate file name contains "_rsa.", let's check if there are + * ecc and dsa certificates too. + */ + if (cert && cert->cert_file.slen) { + const pj_str_t RSA = {"_rsa.", 5}; + p = pj_strstr(&cert->cert_file, &RSA); + if (p) p++; /* Skip underscore */ + } + if (p) { + /* Certificate type string length must be exactly 3 */ + enum { CERT_TYPE_LEN = 3 }; + const char* cert_types[] = { "ecc", "dsa" }; + char *cf = cert->cert_file.ptr; + int i; + + /* Check and load ECC & DSA certificates & private keys */ + for (i = 0; i < PJ_ARRAY_SIZE(cert_types); ++i) { + int err; + + pj_memcpy(p, cert_types[i], CERT_TYPE_LEN); + if (!pj_file_exists(cf)) + continue; + + err = SSL_CTX_use_certificate_chain_file(ctx, cf); + if (err == 1) + err = SSL_CTX_use_PrivateKey_file(ctx, cf, + SSL_FILETYPE_PEM); + if (err == 1) { + PJ_LOG(4,(ssock->pool->obj_name, + "Additional certificate '%s' loaded.", cf)); + } else { + pj_perror(1, ssock->pool->obj_name, GET_SSL_STATUS(ssock), + "Error loading certificate file '%s'", cf); + ERR_clear_error(); + } + } + + /* Put back original name */ + pj_memcpy(p, "rsa", CERT_TYPE_LEN); + } + + #ifndef SSL_CTRL_SET_ECDH_AUTO + #define SSL_CTRL_SET_ECDH_AUTO 94 + #endif + + /* SSL_CTX_set_ecdh_auto(ctx,on) requires OpenSSL 1.0.2 which wraps: */ + if (SSL_CTX_ctrl(ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL)) { + PJ_LOG(4,(ssock->pool->obj_name, "SSL ECDH initialized " + "(automatic), faster PFS ciphers enabled")); + #if !defined(OPENSSL_NO_ECDH) && OPENSSL_VERSION_NUMBER >= 0x10000000L + } else { + /* enables AES-128 ciphers, to get AES-256 use NID_secp384r1 */ + ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1); + if (ecdh != NULL) { + if (SSL_CTX_set_tmp_ecdh(ctx, ecdh)) { + PJ_LOG(4,(ssock->pool->obj_name, "SSL ECDH initialized " + "(secp256r1), faster PFS cipher-suites enabled")); + } + EC_KEY_free(ecdh); + } + #endif + } + } else { + X509_STORE *pkix_validation_store = SSL_CTX_get_cert_store(ctx); + if (NULL != pkix_validation_store) { +#if defined(X509_V_FLAG_TRUSTED_FIRST) + X509_STORE_set_flags(pkix_validation_store, + X509_V_FLAG_TRUSTED_FIRST); +#endif +#if defined(X509_V_FLAG_PARTIAL_CHAIN) + X509_STORE_set_flags(pkix_validation_store, + X509_V_FLAG_PARTIAL_CHAIN); +#endif + } + } + + /* Create SSL instance */ + ssock->ossl_ctx = ctx; + ssock->ossl_ssl = SSL_new(ssock->ossl_ctx); + if (ssock->ossl_ssl == NULL) { + return GET_SSL_STATUS(ssock); + } + + /* Set SSL sock as application data of SSL instance */ + SSL_set_ex_data(ssock->ossl_ssl, sslsock_idx, ssock); + + /* SSL verification options */ + mode = SSL_VERIFY_PEER; + if (ssock->is_server && ssock->param.require_client_cert) + mode |= SSL_VERIFY_FAIL_IF_NO_PEER_CERT; + + SSL_set_verify(ssock->ossl_ssl, mode, &verify_cb); + + /* Set cipher list */ + status = set_cipher_list(ssock); + if (status != PJ_SUCCESS) + return status; + + /* Setup SSL BIOs */ + ssock->ossl_rbio = BIO_new(BIO_s_mem()); + ssock->ossl_wbio = BIO_new(BIO_s_mem()); + (void)BIO_set_close(ssock->ossl_rbio, BIO_CLOSE); + (void)BIO_set_close(ssock->ossl_wbio, BIO_CLOSE); + SSL_set_bio(ssock->ossl_ssl, ssock->ossl_rbio, ssock->ossl_wbio); + + return PJ_SUCCESS; +} + + +/* Destroy SSL context and instance */ +static void destroy_ssl(pj_ssl_sock_t *ssock) +{ + /* Destroy SSL instance */ + if (ssock->ossl_ssl) { + SSL_shutdown(ssock->ossl_ssl); + SSL_free(ssock->ossl_ssl); /* this will also close BIOs */ + ssock->ossl_ssl = NULL; + } + + /* Destroy SSL context */ + if (ssock->ossl_ctx) { + SSL_CTX_free(ssock->ossl_ctx); + ssock->ossl_ctx = NULL; + } + + /* Potentially shutdown OpenSSL library if this is the last + * context exists. + */ + shutdown_openssl(); +} + + +/* Reset SSL socket state */ +static void reset_ssl_sock_state(pj_ssl_sock_t *ssock) +{ + ssock->ssl_state = SSL_STATE_NULL; + + destroy_ssl(ssock); + + if (ssock->asock) { + pj_activesock_close(ssock->asock); + ssock->asock = NULL; + ssock->sock = PJ_INVALID_SOCKET; + } + if (ssock->sock != PJ_INVALID_SOCKET) { + pj_sock_close(ssock->sock); + ssock->sock = PJ_INVALID_SOCKET; + } + + /* Upon error, OpenSSL may leave any error description in the thread + * error queue, which sometime may cause next call to SSL API returning + * false error alarm, e.g: in Linux, SSL_CTX_use_certificate_chain_file() + * returning false error after a handshake error (in different SSL_CTX!). + * For now, just clear thread error queue here. + */ + ERR_clear_error(); +} + + +/* Generate cipher list with user preference order in OpenSSL format */ +static pj_status_t set_cipher_list(pj_ssl_sock_t *ssock) +{ + char buf[1024]; + pj_str_t cipher_list; + STACK_OF(SSL_CIPHER) *sk_cipher; + unsigned i; + int j, ret; + + if (ssock->param.ciphers_num == 0) { + ret = SSL_set_cipher_list(ssock->ossl_ssl, PJ_SSL_SOCK_OSSL_CIPHERS); + if (ret < 1) { + return GET_SSL_STATUS(ssock); + } + + return PJ_SUCCESS; + } + + pj_strset(&cipher_list, buf, 0); + + /* Set SSL with ALL available ciphers */ + SSL_set_cipher_list(ssock->ossl_ssl, "ALL:COMPLEMENTOFALL"); + + /* Generate user specified cipher list in OpenSSL format */ + sk_cipher = SSL_get_ciphers(ssock->ossl_ssl); + for (i = 0; i < ssock->param.ciphers_num; ++i) { + for (j = 0; j < sk_SSL_CIPHER_num(sk_cipher); ++j) { + const SSL_CIPHER *c; + c = sk_SSL_CIPHER_value(sk_cipher, j); + if (ssock->param.ciphers[i] == (pj_ssl_cipher) + ((pj_uint32_t)c->id & 0x00FFFFFF)) + { + const char *c_name; + + c_name = SSL_CIPHER_get_name(c); + + /* Check buffer size */ + if (cipher_list.slen + pj_ansi_strlen(c_name) + 2 > + sizeof(buf)) + { + pj_assert(!"Insufficient temporary buffer for cipher"); + return PJ_ETOOMANY; + } + + /* Add colon separator */ + if (cipher_list.slen) + pj_strcat2(&cipher_list, ":"); + + /* Add the cipher */ + pj_strcat2(&cipher_list, c_name); + break; + } + } + } + + /* Put NULL termination in the generated cipher list */ + cipher_list.ptr[cipher_list.slen] = '\0'; + + /* Finally, set chosen cipher list */ + ret = SSL_set_cipher_list(ssock->ossl_ssl, buf); + if (ret < 1) { + return GET_SSL_STATUS(ssock); + } + + return PJ_SUCCESS; +} + + +/* Parse OpenSSL ASN1_TIME to pj_time_val and GMT info */ +static pj_bool_t parse_ossl_asn1_time(pj_time_val *tv, pj_bool_t *gmt, + const ASN1_TIME *tm) +{ + unsigned long parts[7] = {0}; + char *p, *end; + unsigned len; + pj_bool_t utc; + pj_parsed_time pt; + int i; + + utc = tm->type == V_ASN1_UTCTIME; + p = (char*)tm->data; + len = tm->length; + end = p + len - 1; + + /* GMT */ + *gmt = (*end == 'Z'); + + /* parse parts */ + for (i = 0; i < 7 && p < end; ++i) { + pj_str_t st; + + if (i==0 && !utc) { + /* 4 digits year part for non-UTC time format */ + st.slen = 4; + } else if (i==6) { + /* fraction of seconds */ + if (*p == '.') ++p; + st.slen = end - p + 1; + } else { + /* other parts always 2 digits length */ + st.slen = 2; + } + st.ptr = p; + + parts[i] = pj_strtoul(&st); + p += st.slen; + } + + /* encode parts to pj_time_val */ + pt.year = parts[0]; + if (utc) + pt.year += (pt.year < 50)? 2000:1900; + pt.mon = parts[1] - 1; + pt.day = parts[2]; + pt.hour = parts[3]; + pt.min = parts[4]; + pt.sec = parts[5]; + pt.msec = parts[6]; + + pj_time_encode(&pt, tv); + + return PJ_TRUE; +} + + +/* Get Common Name field string from a general name string */ +static void get_cn_from_gen_name(const pj_str_t *gen_name, pj_str_t *cn) +{ + pj_str_t CN_sign = {"/CN=", 4}; + char *p, *q; + + pj_bzero(cn, sizeof(cn)); + + p = pj_strstr(gen_name, &CN_sign); + if (!p) + return; + + p += 4; /* shift pointer to value part */ + pj_strset(cn, p, gen_name->slen - (p - gen_name->ptr)); + q = pj_strchr(cn, '/'); + if (q) + cn->slen = q - p; +} + + +/* Get certificate info from OpenSSL X509, in case the certificate info + * hal already populated, this function will check if the contents need + * to be updated by inspecting the issuer and the serial number. + */ +static void get_cert_info(pj_pool_t *pool, pj_ssl_cert_info *ci, X509 *x) +{ + pj_bool_t update_needed; + char buf[512]; + pj_uint8_t serial_no[64] = {0}; /* should be >= sizeof(ci->serial_no) */ + pj_uint8_t *p; + unsigned len; + GENERAL_NAMES *names = NULL; + + pj_assert(pool && ci && x); + + /* Get issuer */ + X509_NAME_oneline(X509_get_issuer_name(x), buf, sizeof(buf)); + + /* Get serial no */ + p = (pj_uint8_t*) M_ASN1_STRING_data(X509_get_serialNumber(x)); + len = M_ASN1_STRING_length(X509_get_serialNumber(x)); + if (len > sizeof(ci->serial_no)) + len = sizeof(ci->serial_no); + pj_memcpy(serial_no + sizeof(ci->serial_no) - len, p, len); + + /* Check if the contents need to be updated. */ + update_needed = pj_strcmp2(&ci->issuer.info, buf) || + pj_memcmp(ci->serial_no, serial_no, sizeof(ci->serial_no)); + if (!update_needed) + return; + + /* Update cert info */ + + pj_bzero(ci, sizeof(pj_ssl_cert_info)); + + /* Version */ + ci->version = X509_get_version(x) + 1; + + /* Issuer */ + pj_strdup2(pool, &ci->issuer.info, buf); + get_cn_from_gen_name(&ci->issuer.info, &ci->issuer.cn); + + /* Serial number */ + pj_memcpy(ci->serial_no, serial_no, sizeof(ci->serial_no)); + + /* Subject */ + pj_strdup2(pool, &ci->subject.info, + X509_NAME_oneline(X509_get_subject_name(x), + buf, sizeof(buf))); + get_cn_from_gen_name(&ci->subject.info, &ci->subject.cn); + + /* Validity */ + parse_ossl_asn1_time(&ci->validity.start, &ci->validity.gmt, + X509_get_notBefore(x)); + parse_ossl_asn1_time(&ci->validity.end, &ci->validity.gmt, + X509_get_notAfter(x)); + + /* Subject Alternative Name extension */ + if (ci->version >= 3) { + names = (GENERAL_NAMES*) X509_get_ext_d2i(x, NID_subject_alt_name, + NULL, NULL); + } + if (names) { + unsigned i, cnt; + + cnt = sk_GENERAL_NAME_num(names); + ci->subj_alt_name.entry = pj_pool_calloc(pool, cnt, + sizeof(*ci->subj_alt_name.entry)); + + for (i = 0; i < cnt; ++i) { + unsigned char *p = 0; + pj_ssl_cert_name_type type = PJ_SSL_CERT_NAME_UNKNOWN; + const GENERAL_NAME *name; + + name = sk_GENERAL_NAME_value(names, i); + + switch (name->type) { + case GEN_EMAIL: + len = ASN1_STRING_to_UTF8(&p, name->d.ia5); + type = PJ_SSL_CERT_NAME_RFC822; + break; + case GEN_DNS: + len = ASN1_STRING_to_UTF8(&p, name->d.ia5); + type = PJ_SSL_CERT_NAME_DNS; + break; + case GEN_URI: + len = ASN1_STRING_to_UTF8(&p, name->d.ia5); + type = PJ_SSL_CERT_NAME_URI; + break; + case GEN_IPADD: + p = ASN1_STRING_data(name->d.ip); + len = ASN1_STRING_length(name->d.ip); + type = PJ_SSL_CERT_NAME_IP; + break; + default: + break; + } + + if (p && len && type != PJ_SSL_CERT_NAME_UNKNOWN) { + ci->subj_alt_name.entry[ci->subj_alt_name.cnt].type = type; + if (type == PJ_SSL_CERT_NAME_IP) { + int af = pj_AF_INET(); + if (len == sizeof(pj_in6_addr)) af = pj_AF_INET6(); + pj_inet_ntop2(af, p, buf, sizeof(buf)); + pj_strdup2(pool, + &ci->subj_alt_name.entry[ci->subj_alt_name.cnt].name, + buf); + } else { + pj_strdup2(pool, + &ci->subj_alt_name.entry[ci->subj_alt_name.cnt].name, + (char*)p); + OPENSSL_free(p); + } + ci->subj_alt_name.cnt++; + } + } + } +} + + +/* Update local & remote certificates info. This function should be + * called after handshake or renegotiation successfully completed. + */ +static void update_certs_info(pj_ssl_sock_t *ssock) +{ + X509 *x; + + pj_assert(ssock->ssl_state == SSL_STATE_ESTABLISHED); + + /* Active local certificate */ + x = SSL_get_certificate(ssock->ossl_ssl); + if (x) { + get_cert_info(ssock->pool, &ssock->local_cert_info, x); + /* Don't free local's X509! */ + } else { + pj_bzero(&ssock->local_cert_info, sizeof(pj_ssl_cert_info)); + } + + /* Active remote certificate */ + x = SSL_get_peer_certificate(ssock->ossl_ssl); + if (x) { + get_cert_info(ssock->pool, &ssock->remote_cert_info, x); + /* Free peer's X509 */ + X509_free(x); + } else { + pj_bzero(&ssock->remote_cert_info, sizeof(pj_ssl_cert_info)); + } +} + + +/* When handshake completed: + * - notify application + * - if handshake failed, reset SSL state + * - return PJ_FALSE when SSL socket instance is destroyed by application. + */ +static pj_bool_t on_handshake_complete(pj_ssl_sock_t *ssock, + pj_status_t status) +{ + /* Cancel handshake timer */ + if (ssock->timer.id == TIMER_HANDSHAKE_TIMEOUT) { + pj_timer_heap_cancel(ssock->param.timer_heap, &ssock->timer); + ssock->timer.id = TIMER_NONE; + } + + /* Update certificates info on successful handshake */ + if (status == PJ_SUCCESS) + update_certs_info(ssock); + + /* Accepting */ + if (ssock->is_server) { + if (status != PJ_SUCCESS) { + /* Handshake failed in accepting, destroy our self silently. */ + + char errmsg[PJ_ERR_MSG_SIZE]; + char buf[PJ_INET6_ADDRSTRLEN+10]; + + pj_strerror(status, errmsg, sizeof(errmsg)); + PJ_LOG(3,(ssock->pool->obj_name, "Handshake failed in accepting " + "%s: %s", + pj_sockaddr_print(&ssock->rem_addr, buf, sizeof(buf), 3), + errmsg)); + + /* Workaround for ticket #985 */ +#if (defined(PJ_WIN32) && PJ_WIN32!=0) || (defined(PJ_WIN64) && PJ_WIN64!=0) + if (ssock->param.timer_heap) { + pj_time_val interval = {0, DELAYED_CLOSE_TIMEOUT}; + + reset_ssl_sock_state(ssock); + + ssock->timer.id = TIMER_CLOSE; + pj_time_val_normalize(&interval); + if (pj_timer_heap_schedule(ssock->param.timer_heap, + &ssock->timer, &interval) != 0) + { + ssock->timer.id = TIMER_NONE; + pj_ssl_sock_close(ssock); + } + } else +#endif /* PJ_WIN32 */ + { + pj_ssl_sock_close(ssock); + } + return PJ_FALSE; + } + /* Notify application the newly accepted SSL socket */ + if (ssock->param.cb.on_accept_complete) { + pj_bool_t ret; + ret = (*ssock->param.cb.on_accept_complete) + (ssock->parent, ssock, (pj_sockaddr_t*)&ssock->rem_addr, + pj_sockaddr_get_len((pj_sockaddr_t*)&ssock->rem_addr)); + if (ret == PJ_FALSE) + return PJ_FALSE; + } + } + + /* Connecting */ + else { + /* On failure, reset SSL socket state first, as app may try to + * reconnect in the callback. + */ + if (status != PJ_SUCCESS) { + /* Server disconnected us, possibly due to SSL nego failure */ + if (status == PJ_EEOF) { + unsigned long err; + err = ERR_get_error(); + if (err != SSL_ERROR_NONE) + status = STATUS_FROM_SSL_ERR(ssock, err); + } + reset_ssl_sock_state(ssock); + } + if (ssock->param.cb.on_connect_complete) { + pj_bool_t ret; + ret = (*ssock->param.cb.on_connect_complete)(ssock, status); + if (ret == PJ_FALSE) + return PJ_FALSE; + } + } + + return PJ_TRUE; +} + +static write_data_t* alloc_send_data(pj_ssl_sock_t *ssock, pj_size_t len) +{ + send_buf_t *send_buf = &ssock->send_buf; + pj_size_t avail_len, skipped_len = 0; + char *reg1, *reg2; + pj_size_t reg1_len, reg2_len; + write_data_t *p; + + /* Check buffer availability */ + avail_len = send_buf->max_len - send_buf->len; + if (avail_len < len) + return NULL; + + /* If buffer empty, reset start pointer and return it */ + if (send_buf->len == 0) { + send_buf->start = send_buf->buf; + send_buf->len = len; + p = (write_data_t*)send_buf->start; + goto init_send_data; + } + + /* Free space may be wrapped/splitted into two regions, so let's + * analyze them if any region can hold the write data. + */ + reg1 = send_buf->start + send_buf->len; + if (reg1 >= send_buf->buf + send_buf->max_len) + reg1 -= send_buf->max_len; + reg1_len = send_buf->max_len - send_buf->len; + if (reg1 + reg1_len > send_buf->buf + send_buf->max_len) { + reg1_len = send_buf->buf + send_buf->max_len - reg1; + reg2 = send_buf->buf; + reg2_len = send_buf->start - send_buf->buf; + } else { + reg2 = NULL; + reg2_len = 0; + } + + /* More buffer availability check, note that the write data must be in + * a contigue buffer. + */ + avail_len = PJ_MAX(reg1_len, reg2_len); + if (avail_len < len) + return NULL; + + /* Get the data slot */ + if (reg1_len >= len) { + p = (write_data_t*)reg1; + } else { + p = (write_data_t*)reg2; + skipped_len = reg1_len; + } + + /* Update buffer length */ + send_buf->len += len + skipped_len; + +init_send_data: + /* Init the new send data */ + pj_bzero(p, sizeof(*p)); + pj_list_init(p); + pj_list_push_back(&ssock->send_pending, p); + + return p; +} + +static void free_send_data(pj_ssl_sock_t *ssock, write_data_t *wdata) +{ + send_buf_t *buf = &ssock->send_buf; + write_data_t *spl = &ssock->send_pending; + + pj_assert(!pj_list_empty(&ssock->send_pending)); + + /* Free slot from the buffer */ + if (spl->next == wdata && spl->prev == wdata) { + /* This is the only data, reset the buffer */ + buf->start = buf->buf; + buf->len = 0; + } else if (spl->next == wdata) { + /* This is the first data, shift start pointer of the buffer and + * adjust the buffer length. + */ + buf->start = (char*)wdata->next; + if (wdata->next > wdata) { + buf->len -= ((char*)wdata->next - buf->start); + } else { + /* Overlapped */ + pj_size_t right_len, left_len; + right_len = buf->buf + buf->max_len - (char*)wdata; + left_len = (char*)wdata->next - buf->buf; + buf->len -= (right_len + left_len); + } + } else if (spl->prev == wdata) { + /* This is the last data, just adjust the buffer length */ + if (wdata->prev < wdata) { + pj_size_t jump_len; + jump_len = (char*)wdata - + ((char*)wdata->prev + wdata->prev->record_len); + buf->len -= (wdata->record_len + jump_len); + } else { + /* Overlapped */ + pj_size_t right_len, left_len; + right_len = buf->buf + buf->max_len - + ((char*)wdata->prev + wdata->prev->record_len); + left_len = (char*)wdata + wdata->record_len - buf->buf; + buf->len -= (right_len + left_len); + } + } + /* For data in the middle buffer, just do nothing on the buffer. The slot + * will be freed later when freeing the first/last data. + */ + + /* Remove the data from send pending list */ + pj_list_erase(wdata); +} + +#if 0 +/* Just for testing send buffer alloc/free */ +#include +pj_status_t pj_ssl_sock_ossl_test_send_buf(pj_pool_t *pool) +{ + enum { MAX_CHUNK_NUM = 20 }; + unsigned chunk_size, chunk_cnt, i; + write_data_t *wdata[MAX_CHUNK_NUM] = {0}; + pj_time_val now; + pj_ssl_sock_t *ssock = NULL; + pj_ssl_sock_param param; + pj_status_t status; + + pj_gettimeofday(&now); + pj_srand((unsigned)now.sec); + + pj_ssl_sock_param_default(¶m); + status = pj_ssl_sock_create(pool, ¶m, &ssock); + if (status != PJ_SUCCESS) { + return status; + } + + if (ssock->send_buf.max_len == 0) { + ssock->send_buf.buf = (char*) + pj_pool_alloc(ssock->pool, + ssock->param.send_buffer_size); + ssock->send_buf.max_len = ssock->param.send_buffer_size; + ssock->send_buf.start = ssock->send_buf.buf; + ssock->send_buf.len = 0; + } + + chunk_size = ssock->param.send_buffer_size / MAX_CHUNK_NUM / 2; + chunk_cnt = 0; + for (i = 0; i < MAX_CHUNK_NUM; i++) { + wdata[i] = alloc_send_data(ssock, pj_rand() % chunk_size + 321); + if (wdata[i]) + chunk_cnt++; + else + break; + } + + while (chunk_cnt) { + i = pj_rand() % MAX_CHUNK_NUM; + if (wdata[i]) { + free_send_data(ssock, wdata[i]); + wdata[i] = NULL; + chunk_cnt--; + } + } + + if (ssock->send_buf.len != 0) + status = PJ_EBUG; + + pj_ssl_sock_close(ssock); + return status; +} +#endif + + +/* Flush write BIO to network socket. Note that any access to write BIO + * MUST be serialized, so mutex protection must cover any call to OpenSSL + * API (that possibly generate data for write BIO) along with the call to + * this function (flushing all data in write BIO generated by above + * OpenSSL API call). + */ +static pj_status_t flush_write_bio(pj_ssl_sock_t *ssock, + pj_ioqueue_op_key_t *send_key, + pj_size_t orig_len, + unsigned flags) +{ + char *data; + pj_ssize_t len; + write_data_t *wdata; + pj_size_t needed_len; + pj_status_t status; + + pj_lock_acquire(ssock->write_mutex); + + /* Check if there is data in write BIO, flush it if any */ + if (!BIO_pending(ssock->ossl_wbio)) { + pj_lock_release(ssock->write_mutex); + return PJ_SUCCESS; + } + + /* Get data and its length */ + len = BIO_get_mem_data(ssock->ossl_wbio, &data); + if (len == 0) { + pj_lock_release(ssock->write_mutex); + return PJ_SUCCESS; + } + + /* Calculate buffer size needed, and align it to 8 */ + needed_len = len + sizeof(write_data_t); + needed_len = ((needed_len + 7) >> 3) << 3; + + /* Allocate buffer for send data */ + wdata = alloc_send_data(ssock, needed_len); + if (wdata == NULL) { + pj_lock_release(ssock->write_mutex); + return PJ_ENOMEM; + } + + /* Copy the data and set its properties into the send data */ + pj_ioqueue_op_key_init(&wdata->key, sizeof(pj_ioqueue_op_key_t)); + wdata->key.user_data = wdata; + wdata->app_key = send_key; + wdata->record_len = needed_len; + wdata->data_len = len; + wdata->plain_data_len = orig_len; + wdata->flags = flags; + pj_memcpy(&wdata->data, data, len); + + /* Reset write BIO */ + (void)BIO_reset(ssock->ossl_wbio); + + /* Ticket #1573: Don't hold mutex while calling PJLIB socket send(). */ + pj_lock_release(ssock->write_mutex); + + /* Send it */ + if (ssock->param.sock_type == pj_SOCK_STREAM()) { + status = pj_activesock_send(ssock->asock, &wdata->key, + wdata->data.content, &len, + flags); + } else { + status = pj_activesock_sendto(ssock->asock, &wdata->key, + wdata->data.content, &len, + flags, + (pj_sockaddr_t*)&ssock->rem_addr, + ssock->addr_len); + } + + if (status != PJ_EPENDING) { + /* When the sending is not pending, remove the wdata from send + * pending list. + */ + pj_lock_acquire(ssock->write_mutex); + free_send_data(ssock, wdata); + pj_lock_release(ssock->write_mutex); + } + + return status; +} + + +static void on_timer(pj_timer_heap_t *th, struct pj_timer_entry *te) +{ + pj_ssl_sock_t *ssock = (pj_ssl_sock_t*)te->user_data; + int timer_id = te->id; + + te->id = TIMER_NONE; + + PJ_UNUSED_ARG(th); + + switch (timer_id) { + case TIMER_HANDSHAKE_TIMEOUT: + PJ_LOG(1,(ssock->pool->obj_name, "SSL timeout after %d.%ds", + ssock->param.timeout.sec, ssock->param.timeout.msec)); + + on_handshake_complete(ssock, PJ_ETIMEDOUT); + break; + case TIMER_CLOSE: + pj_ssl_sock_close(ssock); + break; + default: + pj_assert(!"Unknown timer"); + break; + } +} + + +/* Asynchronouse handshake */ +static pj_status_t do_handshake(pj_ssl_sock_t *ssock) +{ + pj_status_t status; + int err; + + /* Perform SSL handshake */ + pj_lock_acquire(ssock->write_mutex); + err = SSL_do_handshake(ssock->ossl_ssl); + pj_lock_release(ssock->write_mutex); + + /* SSL_do_handshake() may put some pending data into SSL write BIO, + * flush it if any. + */ + status = flush_write_bio(ssock, &ssock->handshake_op_key, 0, 0); + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + return status; + } + + if (err < 0) { + err = SSL_get_error(ssock->ossl_ssl, err); + if (err != SSL_ERROR_NONE && err != SSL_ERROR_WANT_READ) + { + /* Handshake fails */ + status = STATUS_FROM_SSL_ERR(ssock, err); + return status; + } + } + + /* Check if handshake has been completed */ + if (SSL_is_init_finished(ssock->ossl_ssl)) { + ssock->ssl_state = SSL_STATE_ESTABLISHED; + return PJ_SUCCESS; + } + + return PJ_EPENDING; +} + + +/* + ******************************************************************* + * Active socket callbacks. + ******************************************************************* + */ + +static pj_bool_t asock_on_data_read (pj_activesock_t *asock, + void *data, + pj_size_t size, + pj_status_t status, + pj_size_t *remainder) +{ + pj_ssl_sock_t *ssock = (pj_ssl_sock_t*) + pj_activesock_get_user_data(asock); + pj_size_t nwritten; + + /* Socket error or closed */ + if (data && size > 0) { + /* Consume the whole data */ + nwritten = BIO_write(ssock->ossl_rbio, data, (int)size); + if (nwritten < size) { + status = GET_SSL_STATUS(ssock); + goto on_error; + } + } + + /* Check if SSL handshake hasn't finished yet */ + if (ssock->ssl_state == SSL_STATE_HANDSHAKING) { + pj_bool_t ret = PJ_TRUE; + + if (status == PJ_SUCCESS) + status = do_handshake(ssock); + + /* Not pending is either success or failed */ + if (status != PJ_EPENDING) + ret = on_handshake_complete(ssock, status); + + return ret; + } + + /* See if there is any decrypted data for the application */ + if (ssock->read_started) { + do { + read_data_t *buf = *(OFFSET_OF_READ_DATA_PTR(ssock, data)); + void *data_ = (pj_int8_t*)buf->data + buf->len; + int size_ = (int)(ssock->read_size - buf->len); + + /* SSL_read() may write some data to BIO write when re-negotiation + * is on progress, so let's protect it with write mutex. + */ + pj_lock_acquire(ssock->write_mutex); + size_ = SSL_read(ssock->ossl_ssl, data_, size_); + pj_lock_release(ssock->write_mutex); + + if (size_ > 0 || status != PJ_SUCCESS) { + if (ssock->param.cb.on_data_read) { + pj_bool_t ret; + pj_size_t remainder_ = 0; + + if (size_ > 0) + buf->len += size_; + + ret = (*ssock->param.cb.on_data_read)(ssock, buf->data, + buf->len, status, + &remainder_); + if (!ret) { + /* We've been destroyed */ + return PJ_FALSE; + } + + /* Application may have left some data to be consumed + * later. + */ + buf->len = remainder_; + } + + /* Active socket signalled connection closed/error, this has + * been signalled to the application along with any remaining + * buffer. So, let's just reset SSL socket now. + */ + if (status != PJ_SUCCESS) { + reset_ssl_sock_state(ssock); + return PJ_FALSE; + } + + } else { + + int err = SSL_get_error(ssock->ossl_ssl, size_); + + /* SSL might just return SSL_ERROR_WANT_READ in + * re-negotiation. + */ + if (err != SSL_ERROR_NONE && err != SSL_ERROR_WANT_READ) + { + /* Reset SSL socket state, then return PJ_FALSE */ + status = STATUS_FROM_SSL_ERR(ssock, err); + reset_ssl_sock_state(ssock); + goto on_error; + } + + status = do_handshake(ssock); + if (status == PJ_SUCCESS) { + /* Renegotiation completed */ + + /* Update certificates */ + update_certs_info(ssock); + + // Ticket #1573: Don't hold mutex while calling + // PJLIB socket send(). + //pj_lock_acquire(ssock->write_mutex); + status = flush_delayed_send(ssock); + //pj_lock_release(ssock->write_mutex); + + /* If flushing is ongoing, treat it as success */ + if (status == PJ_EBUSY) + status = PJ_SUCCESS; + + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + PJ_PERROR(1,(ssock->pool->obj_name, status, + "Failed to flush delayed send")); + goto on_error; + } + } else if (status != PJ_EPENDING) { + PJ_PERROR(1,(ssock->pool->obj_name, status, + "Renegotiation failed")); + goto on_error; + } + + break; + } + } while (1); + } + + return PJ_TRUE; + +on_error: + if (ssock->ssl_state == SSL_STATE_HANDSHAKING) + return on_handshake_complete(ssock, status); + + if (ssock->read_started && ssock->param.cb.on_data_read) { + pj_bool_t ret; + ret = (*ssock->param.cb.on_data_read)(ssock, NULL, 0, status, + remainder); + if (!ret) { + /* We've been destroyed */ + return PJ_FALSE; + } + } + + reset_ssl_sock_state(ssock); + return PJ_FALSE; +} + + +static pj_bool_t asock_on_data_sent (pj_activesock_t *asock, + pj_ioqueue_op_key_t *send_key, + pj_ssize_t sent) +{ + pj_ssl_sock_t *ssock = (pj_ssl_sock_t*) + pj_activesock_get_user_data(asock); + + PJ_UNUSED_ARG(send_key); + PJ_UNUSED_ARG(sent); + + if (ssock->ssl_state == SSL_STATE_HANDSHAKING) { + /* Initial handshaking */ + pj_status_t status; + + status = do_handshake(ssock); + /* Not pending is either success or failed */ + if (status != PJ_EPENDING) + return on_handshake_complete(ssock, status); + + } else if (send_key != &ssock->handshake_op_key) { + /* Some data has been sent, notify application */ + write_data_t *wdata = (write_data_t*)send_key->user_data; + if (ssock->param.cb.on_data_sent) { + pj_bool_t ret; + pj_ssize_t sent_len; + + sent_len = (sent > 0)? wdata->plain_data_len : sent; + ret = (*ssock->param.cb.on_data_sent)(ssock, wdata->app_key, + sent_len); + if (!ret) { + /* We've been destroyed */ + return PJ_FALSE; + } + } + + /* Update write buffer state */ + pj_lock_acquire(ssock->write_mutex); + free_send_data(ssock, wdata); + pj_lock_release(ssock->write_mutex); + + } else { + /* SSL re-negotiation is on-progress, just do nothing */ + } + + return PJ_TRUE; +} + + +static pj_bool_t asock_on_accept_complete (pj_activesock_t *asock, + pj_sock_t newsock, + const pj_sockaddr_t *src_addr, + int src_addr_len) +{ + pj_ssl_sock_t *ssock_parent = (pj_ssl_sock_t*) + pj_activesock_get_user_data(asock); + pj_ssl_sock_t *ssock; + pj_activesock_cb asock_cb; + pj_activesock_cfg asock_cfg; + unsigned i; + pj_status_t status; + + PJ_UNUSED_ARG(src_addr_len); + + /* Create new SSL socket instance */ + status = pj_ssl_sock_create(ssock_parent->pool, &ssock_parent->param, + &ssock); + if (status != PJ_SUCCESS) + goto on_return; + + /* Update new SSL socket attributes */ + ssock->sock = newsock; + ssock->parent = ssock_parent; + ssock->is_server = PJ_TRUE; + if (ssock_parent->cert) { + status = pj_ssl_sock_set_certificate(ssock, ssock->pool, + ssock_parent->cert); + if (status != PJ_SUCCESS) + goto on_return; + } + + /* Apply QoS, if specified */ + status = pj_sock_apply_qos2(ssock->sock, ssock->param.qos_type, + &ssock->param.qos_params, 1, + ssock->pool->obj_name, NULL); + if (status != PJ_SUCCESS && !ssock->param.qos_ignore_error) + goto on_return; + + /* Apply socket options, if specified */ + if (ssock->param.sockopt_params.cnt) { + status = pj_sock_setsockopt_params(ssock->sock, + &ssock->param.sockopt_params); + if (status != PJ_SUCCESS && !ssock->param.sockopt_ignore_error) + goto on_return; + } + + /* Update local address */ + ssock->addr_len = src_addr_len; + status = pj_sock_getsockname(ssock->sock, &ssock->local_addr, + &ssock->addr_len); + if (status != PJ_SUCCESS) { + /* This fails on few envs, e.g: win IOCP, just tolerate this and + * use parent local address instead. + */ + pj_sockaddr_cp(&ssock->local_addr, &ssock_parent->local_addr); + } + + /* Set remote address */ + pj_sockaddr_cp(&ssock->rem_addr, src_addr); + + /* Create SSL context */ + status = create_ssl(ssock); + if (status != PJ_SUCCESS) + goto on_return; + + /* Prepare read buffer */ + ssock->asock_rbuf = (void**)pj_pool_calloc(ssock->pool, + ssock->param.async_cnt, + sizeof(void*)); + for (i = 0; iparam.async_cnt; ++i) { + ssock->asock_rbuf[i] = (void*) pj_pool_alloc( + ssock->pool, + ssock->param.read_buffer_size + + sizeof(read_data_t*)); + } + + /* Create active socket */ + pj_activesock_cfg_default(&asock_cfg); + asock_cfg.async_cnt = ssock->param.async_cnt; + asock_cfg.concurrency = ssock->param.concurrency; + asock_cfg.whole_data = PJ_TRUE; + + /* If listener socket has group lock, automatically create group lock + * for the new socket. + */ + if (ssock_parent->param.grp_lock) { + pj_grp_lock_t *glock; + + status = pj_grp_lock_create(ssock->pool, NULL, &glock); + if (status != PJ_SUCCESS) + goto on_return; + + /* Temporarily add ref the group lock until active socket creation, + * to make sure that group lock is destroyed if the active socket + * creation fails. + */ + pj_grp_lock_add_ref(glock); + asock_cfg.grp_lock = ssock->param.grp_lock = glock; + } + + pj_bzero(&asock_cb, sizeof(asock_cb)); + asock_cb.on_data_read = asock_on_data_read; + asock_cb.on_data_sent = asock_on_data_sent; + + status = pj_activesock_create(ssock->pool, + ssock->sock, + ssock->param.sock_type, + &asock_cfg, + ssock->param.ioqueue, + &asock_cb, + ssock, + &ssock->asock); + + /* This will destroy the group lock if active socket creation fails */ + if (asock_cfg.grp_lock) { + pj_grp_lock_dec_ref(asock_cfg.grp_lock); + } + + if (status != PJ_SUCCESS) + goto on_return; + + /* Start read */ + status = pj_activesock_start_read2(ssock->asock, ssock->pool, + (unsigned)ssock->param.read_buffer_size, + ssock->asock_rbuf, + PJ_IOQUEUE_ALWAYS_ASYNC); + if (status != PJ_SUCCESS) + goto on_return; + + /* Prepare write/send state */ + pj_assert(ssock->send_buf.max_len == 0); + ssock->send_buf.buf = (char*) + pj_pool_alloc(ssock->pool, + ssock->param.send_buffer_size); + ssock->send_buf.max_len = ssock->param.send_buffer_size; + ssock->send_buf.start = ssock->send_buf.buf; + ssock->send_buf.len = 0; + + /* Start handshake timer */ + if (ssock->param.timer_heap && (ssock->param.timeout.sec != 0 || + ssock->param.timeout.msec != 0)) + { + pj_assert(ssock->timer.id == TIMER_NONE); + ssock->timer.id = TIMER_HANDSHAKE_TIMEOUT; + status = pj_timer_heap_schedule(ssock->param.timer_heap, + &ssock->timer, + &ssock->param.timeout); + if (status != PJ_SUCCESS) + ssock->timer.id = TIMER_NONE; + } + + /* Start SSL handshake */ + ssock->ssl_state = SSL_STATE_HANDSHAKING; + SSL_set_accept_state(ssock->ossl_ssl); + status = do_handshake(ssock); + +on_return: + if (ssock && status != PJ_EPENDING) + on_handshake_complete(ssock, status); + + /* Must return PJ_TRUE whatever happened, as active socket must + * continue listening. + */ + return PJ_TRUE; +} + + +static pj_bool_t asock_on_connect_complete (pj_activesock_t *asock, + pj_status_t status) +{ + pj_ssl_sock_t *ssock = (pj_ssl_sock_t*) + pj_activesock_get_user_data(asock); + unsigned i; + + if (status != PJ_SUCCESS) + goto on_return; + + /* Update local address */ + ssock->addr_len = sizeof(pj_sockaddr); + status = pj_sock_getsockname(ssock->sock, &ssock->local_addr, + &ssock->addr_len); + if (status != PJ_SUCCESS) + goto on_return; + + /* Create SSL context */ + status = create_ssl(ssock); + if (status != PJ_SUCCESS) + goto on_return; + + /* Prepare read buffer */ + ssock->asock_rbuf = (void**)pj_pool_calloc(ssock->pool, + ssock->param.async_cnt, + sizeof(void*)); + for (i = 0; iparam.async_cnt; ++i) { + ssock->asock_rbuf[i] = (void*) pj_pool_alloc( + ssock->pool, + ssock->param.read_buffer_size + + sizeof(read_data_t*)); + } + + /* Start read */ + status = pj_activesock_start_read2(ssock->asock, ssock->pool, + (unsigned)ssock->param.read_buffer_size, + ssock->asock_rbuf, + PJ_IOQUEUE_ALWAYS_ASYNC); + if (status != PJ_SUCCESS) + goto on_return; + + /* Prepare write/send state */ + pj_assert(ssock->send_buf.max_len == 0); + ssock->send_buf.buf = (char*) + pj_pool_alloc(ssock->pool, + ssock->param.send_buffer_size); + ssock->send_buf.max_len = ssock->param.send_buffer_size; + ssock->send_buf.start = ssock->send_buf.buf; + ssock->send_buf.len = 0; + +#ifdef SSL_set_tlsext_host_name + /* Set server name to connect */ + if (ssock->param.server_name.slen) { + /* Server name is null terminated already */ + if (!SSL_set_tlsext_host_name(ssock->ossl_ssl, + ssock->param.server_name.ptr)) + { + char err_str[PJ_ERR_MSG_SIZE]; + + ERR_error_string_n(ERR_get_error(), err_str, sizeof(err_str)); + PJ_LOG(3,(ssock->pool->obj_name, "SSL_set_tlsext_host_name() " + "failed: %s", err_str)); + } + } +#endif + + /* Start SSL handshake */ + ssock->ssl_state = SSL_STATE_HANDSHAKING; + SSL_set_connect_state(ssock->ossl_ssl); + + status = do_handshake(ssock); + if (status != PJ_EPENDING) + goto on_return; + + return PJ_TRUE; + +on_return: + return on_handshake_complete(ssock, status); +} + + + +/* + ******************************************************************* + * API + ******************************************************************* + */ + +/* Load credentials from files. */ +PJ_DEF(pj_status_t) pj_ssl_cert_load_from_files (pj_pool_t *pool, + const pj_str_t *CA_file, + const pj_str_t *cert_file, + const pj_str_t *privkey_file, + const pj_str_t *privkey_pass, + pj_ssl_cert_t **p_cert) +{ + return pj_ssl_cert_load_from_files2(pool, CA_file, NULL, cert_file, + privkey_file, privkey_pass, p_cert); +} + +PJ_DEF(pj_status_t) pj_ssl_cert_load_from_files2(pj_pool_t *pool, + const pj_str_t *CA_file, + const pj_str_t *CA_path, + const pj_str_t *cert_file, + const pj_str_t *privkey_file, + const pj_str_t *privkey_pass, + pj_ssl_cert_t **p_cert) +{ + pj_ssl_cert_t *cert; + + PJ_ASSERT_RETURN(pool && (CA_file || CA_path) && cert_file && + privkey_file, + PJ_EINVAL); + + cert = PJ_POOL_ZALLOC_T(pool, pj_ssl_cert_t); + if (CA_file) { + pj_strdup_with_null(pool, &cert->CA_file, CA_file); + } + if (CA_path) { + pj_strdup_with_null(pool, &cert->CA_path, CA_path); + } + pj_strdup_with_null(pool, &cert->cert_file, cert_file); + pj_strdup_with_null(pool, &cert->privkey_file, privkey_file); + pj_strdup_with_null(pool, &cert->privkey_pass, privkey_pass); + + *p_cert = cert; + + return PJ_SUCCESS; +} + + +/* Set SSL socket credentials. */ +PJ_DECL(pj_status_t) pj_ssl_sock_set_certificate( + pj_ssl_sock_t *ssock, + pj_pool_t *pool, + const pj_ssl_cert_t *cert) +{ + pj_ssl_cert_t *cert_; + + PJ_ASSERT_RETURN(ssock && pool && cert, PJ_EINVAL); + + cert_ = PJ_POOL_ZALLOC_T(pool, pj_ssl_cert_t); + pj_memcpy(cert_, cert, sizeof(cert)); + pj_strdup_with_null(pool, &cert_->CA_file, &cert->CA_file); + pj_strdup_with_null(pool, &cert_->CA_path, &cert->CA_path); + pj_strdup_with_null(pool, &cert_->cert_file, &cert->cert_file); + pj_strdup_with_null(pool, &cert_->privkey_file, &cert->privkey_file); + pj_strdup_with_null(pool, &cert_->privkey_pass, &cert->privkey_pass); + + ssock->cert = cert_; + + return PJ_SUCCESS; +} + + +/* Get available ciphers. */ +PJ_DEF(pj_status_t) pj_ssl_cipher_get_availables(pj_ssl_cipher ciphers[], + unsigned *cipher_num) +{ + unsigned i; + + PJ_ASSERT_RETURN(ciphers && cipher_num, PJ_EINVAL); + + if (openssl_cipher_num == 0) { + init_openssl(); + shutdown_openssl(); + } + + if (openssl_cipher_num == 0) { + *cipher_num = 0; + return PJ_ENOTFOUND; + } + + *cipher_num = PJ_MIN(*cipher_num, openssl_cipher_num); + + for (i = 0; i < *cipher_num; ++i) + ciphers[i] = openssl_ciphers[i].id; + + return PJ_SUCCESS; +} + + +/* Get cipher name string */ +PJ_DEF(const char*) pj_ssl_cipher_name(pj_ssl_cipher cipher) +{ + unsigned i; + + if (openssl_cipher_num == 0) { + init_openssl(); + shutdown_openssl(); + } + + for (i = 0; i < openssl_cipher_num; ++i) { + if (cipher == openssl_ciphers[i].id) + return openssl_ciphers[i].name; + } + + return NULL; +} + +/* Get cipher identifier */ +PJ_DEF(pj_ssl_cipher) pj_ssl_cipher_id(const char *cipher_name) +{ + unsigned i; + + if (openssl_cipher_num == 0) { + init_openssl(); + shutdown_openssl(); + } + + for (i = 0; i < openssl_cipher_num; ++i) { + if (!pj_ansi_stricmp(openssl_ciphers[i].name, cipher_name)) + return openssl_ciphers[i].id; + } + + return PJ_TLS_UNKNOWN_CIPHER; +} + +/* Check if the specified cipher is supported by SSL/TLS backend. */ +PJ_DEF(pj_bool_t) pj_ssl_cipher_is_supported(pj_ssl_cipher cipher) +{ + unsigned i; + + if (openssl_cipher_num == 0) { + init_openssl(); + shutdown_openssl(); + } + + for (i = 0; i < openssl_cipher_num; ++i) { + if (cipher == openssl_ciphers[i].id) + return PJ_TRUE; + } + + return PJ_FALSE; +} + + +/* + * Create SSL socket instance. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_create (pj_pool_t *pool, + const pj_ssl_sock_param *param, + pj_ssl_sock_t **p_ssock) +{ + pj_ssl_sock_t *ssock; + pj_status_t status; + + PJ_ASSERT_RETURN(pool && param && p_ssock, PJ_EINVAL); + PJ_ASSERT_RETURN(param->sock_type == pj_SOCK_STREAM(), PJ_ENOTSUP); + + pool = pj_pool_create(pool->factory, "ssl%p", 512, 512, NULL); + + /* Create secure socket */ + ssock = PJ_POOL_ZALLOC_T(pool, pj_ssl_sock_t); + ssock->pool = pool; + ssock->sock = PJ_INVALID_SOCKET; + ssock->ssl_state = SSL_STATE_NULL; + pj_list_init(&ssock->write_pending); + pj_list_init(&ssock->write_pending_empty); + pj_list_init(&ssock->send_pending); + pj_timer_entry_init(&ssock->timer, 0, ssock, &on_timer); + pj_ioqueue_op_key_init(&ssock->handshake_op_key, + sizeof(pj_ioqueue_op_key_t)); + + /* Create secure socket mutex */ + status = pj_lock_create_recursive_mutex(pool, pool->obj_name, + &ssock->write_mutex); + if (status != PJ_SUCCESS) + return status; + + /* Init secure socket param */ + ssock->param = *param; + ssock->param.read_buffer_size = ((ssock->param.read_buffer_size+7)>>3)<<3; + if (param->ciphers_num > 0) { + unsigned i; + ssock->param.ciphers = (pj_ssl_cipher*) + pj_pool_calloc(pool, param->ciphers_num, + sizeof(pj_ssl_cipher)); + for (i = 0; i < param->ciphers_num; ++i) + ssock->param.ciphers[i] = param->ciphers[i]; + } + + /* Server name must be null-terminated */ + pj_strdup_with_null(pool, &ssock->param.server_name, + ¶m->server_name); + + /* Finally */ + *p_ssock = ssock; + + return PJ_SUCCESS; +} + + +/* + * Close the secure socket. This will unregister the socket from the + * ioqueue and ultimately close the socket. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_close(pj_ssl_sock_t *ssock) +{ + pj_pool_t *pool; + + PJ_ASSERT_RETURN(ssock, PJ_EINVAL); + + if (!ssock->pool) + return PJ_SUCCESS; + + if (ssock->timer.id != TIMER_NONE) { + pj_timer_heap_cancel(ssock->param.timer_heap, &ssock->timer); + ssock->timer.id = TIMER_NONE; + } + + reset_ssl_sock_state(ssock); + pj_lock_destroy(ssock->write_mutex); + + pool = ssock->pool; + ssock->pool = NULL; + if (pool) + pj_pool_release(pool); + + return PJ_SUCCESS; +} + + +/* + * Associate arbitrary data with the secure socket. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_set_user_data(pj_ssl_sock_t *ssock, + void *user_data) +{ + PJ_ASSERT_RETURN(ssock, PJ_EINVAL); + + ssock->param.user_data = user_data; + return PJ_SUCCESS; +} + + +/* + * Retrieve the user data previously associated with this secure + * socket. + */ +PJ_DEF(void*) pj_ssl_sock_get_user_data(pj_ssl_sock_t *ssock) +{ + PJ_ASSERT_RETURN(ssock, NULL); + + return ssock->param.user_data; +} + + +/* + * Retrieve the local address and port used by specified SSL socket. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_get_info (pj_ssl_sock_t *ssock, + pj_ssl_sock_info *info) +{ + pj_bzero(info, sizeof(*info)); + + /* Established flag */ + info->established = (ssock->ssl_state == SSL_STATE_ESTABLISHED); + + /* Protocol */ + info->proto = ssock->param.proto; + + /* Local address */ + pj_sockaddr_cp(&info->local_addr, &ssock->local_addr); + + if (info->established) { + const SSL_CIPHER *cipher; + + /* Current cipher */ + cipher = SSL_get_current_cipher(ssock->ossl_ssl); + info->cipher = (cipher->id & 0x00FFFFFF); + + /* Remote address */ + pj_sockaddr_cp(&info->remote_addr, &ssock->rem_addr); + + /* Certificates info */ + info->local_cert_info = &ssock->local_cert_info; + info->remote_cert_info = &ssock->remote_cert_info; + + /* Verification status */ + info->verify_status = ssock->verify_status; + } + + /* Last known OpenSSL error code */ + info->last_native_err = ssock->last_err; + + /* Group lock */ + info->grp_lock = ssock->param.grp_lock; + + return PJ_SUCCESS; +} + + +/* + * Starts read operation on this secure socket. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_start_read (pj_ssl_sock_t *ssock, + pj_pool_t *pool, + unsigned buff_size, + pj_uint32_t flags) +{ + void **readbuf; + unsigned i; + + PJ_ASSERT_RETURN(ssock && pool && buff_size, PJ_EINVAL); + + if (ssock->ssl_state != SSL_STATE_ESTABLISHED) + return PJ_EINVALIDOP; + + readbuf = (void**) pj_pool_calloc(pool, ssock->param.async_cnt, + sizeof(void*)); + + for (i=0; iparam.async_cnt; ++i) { + readbuf[i] = pj_pool_alloc(pool, buff_size); + } + + return pj_ssl_sock_start_read2(ssock, pool, buff_size, + readbuf, flags); +} + + +/* + * Same as #pj_ssl_sock_start_read(), except that the application + * supplies the buffers for the read operation so that the acive socket + * does not have to allocate the buffers. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_start_read2 (pj_ssl_sock_t *ssock, + pj_pool_t *pool, + unsigned buff_size, + void *readbuf[], + pj_uint32_t flags) +{ + unsigned i; + + PJ_ASSERT_RETURN(ssock && pool && buff_size && readbuf, PJ_EINVAL); + + if (ssock->ssl_state != SSL_STATE_ESTABLISHED) + return PJ_EINVALIDOP; + + /* Create SSL socket read buffer */ + ssock->ssock_rbuf = (read_data_t*)pj_pool_calloc(pool, + ssock->param.async_cnt, + sizeof(read_data_t)); + + /* Store SSL socket read buffer pointer in the activesock read buffer */ + for (i=0; iparam.async_cnt; ++i) { + read_data_t **p_ssock_rbuf = + OFFSET_OF_READ_DATA_PTR(ssock, ssock->asock_rbuf[i]); + + ssock->ssock_rbuf[i].data = readbuf[i]; + ssock->ssock_rbuf[i].len = 0; + + *p_ssock_rbuf = &ssock->ssock_rbuf[i]; + } + + ssock->read_size = buff_size; + ssock->read_started = PJ_TRUE; + ssock->read_flags = flags; + + return PJ_SUCCESS; +} + + +/* + * Same as pj_ssl_sock_start_read(), except that this function is used + * only for datagram sockets, and it will trigger \a on_data_recvfrom() + * callback instead. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_start_recvfrom (pj_ssl_sock_t *ssock, + pj_pool_t *pool, + unsigned buff_size, + pj_uint32_t flags) +{ + PJ_UNUSED_ARG(ssock); + PJ_UNUSED_ARG(pool); + PJ_UNUSED_ARG(buff_size); + PJ_UNUSED_ARG(flags); + + return PJ_ENOTSUP; +} + + +/* + * Same as #pj_ssl_sock_start_recvfrom() except that the recvfrom() + * operation takes the buffer from the argument rather than creating + * new ones. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_start_recvfrom2 (pj_ssl_sock_t *ssock, + pj_pool_t *pool, + unsigned buff_size, + void *readbuf[], + pj_uint32_t flags) +{ + PJ_UNUSED_ARG(ssock); + PJ_UNUSED_ARG(pool); + PJ_UNUSED_ARG(buff_size); + PJ_UNUSED_ARG(readbuf); + PJ_UNUSED_ARG(flags); + + return PJ_ENOTSUP; +} + +/* Write plain data to SSL and flush write BIO. */ +static pj_status_t ssl_write(pj_ssl_sock_t *ssock, + pj_ioqueue_op_key_t *send_key, + const void *data, + pj_ssize_t size, + unsigned flags) +{ + pj_status_t status; + int nwritten; + + /* Write the plain data to SSL, after SSL encrypts it, write BIO will + * contain the secured data to be sent via socket. Note that re- + * negotitation may be on progress, so sending data should be delayed + * until re-negotiation is completed. + */ + pj_lock_acquire(ssock->write_mutex); + nwritten = SSL_write(ssock->ossl_ssl, data, (int)size); + pj_lock_release(ssock->write_mutex); + + if (nwritten == size) { + /* All data written, flush write BIO to network socket */ + status = flush_write_bio(ssock, send_key, size, flags); + } else if (nwritten <= 0) { + /* SSL failed to process the data, it may just that re-negotiation + * is on progress. + */ + int err; + err = SSL_get_error(ssock->ossl_ssl, nwritten); + if (err == SSL_ERROR_WANT_READ || err == SSL_ERROR_NONE) { + /* Re-negotiation is on progress, flush re-negotiation data */ + status = flush_write_bio(ssock, &ssock->handshake_op_key, 0, 0); + if (status == PJ_SUCCESS || status == PJ_EPENDING) + /* Just return PJ_EBUSY when re-negotiation is on progress */ + status = PJ_EBUSY; + } else { + /* Some problem occured */ + status = STATUS_FROM_SSL_ERR(ssock, err); + } + } else { + /* nwritten < *size, shouldn't happen, unless write BIO cannot hold + * the whole secured data, perhaps because of insufficient memory. + */ + status = PJ_ENOMEM; + } + + return status; +} + +/* Flush delayed data sending in the write pending list. */ +static pj_status_t flush_delayed_send(pj_ssl_sock_t *ssock) +{ + /* Check for another ongoing flush */ + if (ssock->flushing_write_pend) + return PJ_EBUSY; + + pj_lock_acquire(ssock->write_mutex); + + /* Again, check for another ongoing flush */ + if (ssock->flushing_write_pend) { + pj_lock_release(ssock->write_mutex); + return PJ_EBUSY; + } + + /* Set ongoing flush flag */ + ssock->flushing_write_pend = PJ_TRUE; + + while (!pj_list_empty(&ssock->write_pending)) { + write_data_t *wp; + pj_status_t status; + + wp = ssock->write_pending.next; + + /* Ticket #1573: Don't hold mutex while calling socket send. */ + pj_lock_release(ssock->write_mutex); + + status = ssl_write(ssock, &wp->key, wp->data.ptr, + wp->plain_data_len, wp->flags); + if (status != PJ_SUCCESS) { + /* Reset ongoing flush flag first. */ + ssock->flushing_write_pend = PJ_FALSE; + return status; + } + + pj_lock_acquire(ssock->write_mutex); + pj_list_erase(wp); + pj_list_push_back(&ssock->write_pending_empty, wp); + } + + /* Reset ongoing flush flag */ + ssock->flushing_write_pend = PJ_FALSE; + + pj_lock_release(ssock->write_mutex); + + return PJ_SUCCESS; +} + +/* Sending is delayed, push back the sending data into pending list. */ +static pj_status_t delay_send (pj_ssl_sock_t *ssock, + pj_ioqueue_op_key_t *send_key, + const void *data, + pj_ssize_t size, + unsigned flags) +{ + write_data_t *wp; + + pj_lock_acquire(ssock->write_mutex); + + /* Init write pending instance */ + if (!pj_list_empty(&ssock->write_pending_empty)) { + wp = ssock->write_pending_empty.next; + pj_list_erase(wp); + } else { + wp = PJ_POOL_ZALLOC_T(ssock->pool, write_data_t); + } + + wp->app_key = send_key; + wp->plain_data_len = size; + wp->data.ptr = data; + wp->flags = flags; + + pj_list_push_back(&ssock->write_pending, wp); + + pj_lock_release(ssock->write_mutex); + + /* Must return PJ_EPENDING */ + return PJ_EPENDING; +} + +/** + * Send data using the socket. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_send (pj_ssl_sock_t *ssock, + pj_ioqueue_op_key_t *send_key, + const void *data, + pj_ssize_t *size, + unsigned flags) +{ + pj_status_t status; + + PJ_ASSERT_RETURN(ssock && data && size && (*size>0), PJ_EINVAL); + + if (ssock->ssl_state != SSL_STATE_ESTABLISHED) + return PJ_EINVALIDOP; + + // Ticket #1573: Don't hold mutex while calling PJLIB socket send(). + //pj_lock_acquire(ssock->write_mutex); + + /* Flush delayed send first. Sending data might be delayed when + * re-negotiation is on-progress. + */ + status = flush_delayed_send(ssock); + if (status == PJ_EBUSY) { + /* Re-negotiation or flushing is on progress, delay sending */ + status = delay_send(ssock, send_key, data, *size, flags); + goto on_return; + } else if (status != PJ_SUCCESS) { + goto on_return; + } + + /* Write data to SSL */ + status = ssl_write(ssock, send_key, data, *size, flags); + if (status == PJ_EBUSY) { + /* Re-negotiation is on progress, delay sending */ + status = delay_send(ssock, send_key, data, *size, flags); + } + +on_return: + //pj_lock_release(ssock->write_mutex); + return status; +} + + +/** + * Send datagram using the socket. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_sendto (pj_ssl_sock_t *ssock, + pj_ioqueue_op_key_t *send_key, + const void *data, + pj_ssize_t *size, + unsigned flags, + const pj_sockaddr_t *addr, + int addr_len) +{ + PJ_UNUSED_ARG(ssock); + PJ_UNUSED_ARG(send_key); + PJ_UNUSED_ARG(data); + PJ_UNUSED_ARG(size); + PJ_UNUSED_ARG(flags); + PJ_UNUSED_ARG(addr); + PJ_UNUSED_ARG(addr_len); + + return PJ_ENOTSUP; +} + + +/** + * Starts asynchronous socket accept() operations on this secure socket. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_start_accept (pj_ssl_sock_t *ssock, + pj_pool_t *pool, + const pj_sockaddr_t *localaddr, + int addr_len) +{ + pj_activesock_cb asock_cb; + pj_activesock_cfg asock_cfg; + pj_status_t status; + + PJ_ASSERT_RETURN(ssock && pool && localaddr && addr_len, PJ_EINVAL); + + /* Create socket */ + status = pj_sock_socket(ssock->param.sock_af, ssock->param.sock_type, 0, + &ssock->sock); + if (status != PJ_SUCCESS) + goto on_error; + + /* Apply SO_REUSEADDR */ + if (ssock->param.reuse_addr) { + int enabled = 1; + status = pj_sock_setsockopt(ssock->sock, pj_SOL_SOCKET(), + pj_SO_REUSEADDR(), + &enabled, sizeof(enabled)); + if (status != PJ_SUCCESS) { + PJ_PERROR(4,(ssock->pool->obj_name, status, + "Warning: error applying SO_REUSEADDR")); + } + } + + /* Apply QoS, if specified */ + status = pj_sock_apply_qos2(ssock->sock, ssock->param.qos_type, + &ssock->param.qos_params, 2, + ssock->pool->obj_name, NULL); + + if (status != PJ_SUCCESS && !ssock->param.qos_ignore_error) + goto on_error; + + /* Apply socket options, if specified */ + if (ssock->param.sockopt_params.cnt) { + status = pj_sock_setsockopt_params(ssock->sock, + &ssock->param.sockopt_params); + + if (status != PJ_SUCCESS && !ssock->param.sockopt_ignore_error) + goto on_error; + } + + /* Bind socket */ + status = pj_sock_bind(ssock->sock, localaddr, addr_len); + if (status != PJ_SUCCESS) + goto on_error; + + /* Start listening to the address */ + status = pj_sock_listen(ssock->sock, PJ_SOMAXCONN); + if (status != PJ_SUCCESS) + goto on_error; + + /* Create active socket */ + pj_activesock_cfg_default(&asock_cfg); + asock_cfg.async_cnt = ssock->param.async_cnt; + asock_cfg.concurrency = ssock->param.concurrency; + asock_cfg.whole_data = PJ_TRUE; + asock_cfg.grp_lock = ssock->param.grp_lock; + + pj_bzero(&asock_cb, sizeof(asock_cb)); + asock_cb.on_accept_complete = asock_on_accept_complete; + + status = pj_activesock_create(pool, + ssock->sock, + ssock->param.sock_type, + &asock_cfg, + ssock->param.ioqueue, + &asock_cb, + ssock, + &ssock->asock); + + if (status != PJ_SUCCESS) + goto on_error; + + /* Start accepting */ + status = pj_activesock_start_accept(ssock->asock, pool); + if (status != PJ_SUCCESS) + goto on_error; + + /* Update local address */ + ssock->addr_len = addr_len; + status = pj_sock_getsockname(ssock->sock, &ssock->local_addr, + &ssock->addr_len); + if (status != PJ_SUCCESS) + pj_sockaddr_cp(&ssock->local_addr, localaddr); + + ssock->is_server = PJ_TRUE; + + return PJ_SUCCESS; + +on_error: + reset_ssl_sock_state(ssock); + return status; +} + + +/** + * Starts asynchronous socket connect() operation. + */ +PJ_DECL(pj_status_t) pj_ssl_sock_start_connect(pj_ssl_sock_t *ssock, + pj_pool_t *pool, + const pj_sockaddr_t *localaddr, + const pj_sockaddr_t *remaddr, + int addr_len) +{ + pj_activesock_cb asock_cb; + pj_activesock_cfg asock_cfg; + pj_status_t status; + + PJ_ASSERT_RETURN(ssock && pool && localaddr && remaddr && addr_len, + PJ_EINVAL); + + /* Create socket */ + status = pj_sock_socket(ssock->param.sock_af, ssock->param.sock_type, 0, + &ssock->sock); + if (status != PJ_SUCCESS) + goto on_error; + + /* Apply QoS, if specified */ + status = pj_sock_apply_qos2(ssock->sock, ssock->param.qos_type, + &ssock->param.qos_params, 2, + ssock->pool->obj_name, NULL); + if (status != PJ_SUCCESS && !ssock->param.qos_ignore_error) + goto on_error; + + /* Apply socket options, if specified */ + if (ssock->param.sockopt_params.cnt) { + status = pj_sock_setsockopt_params(ssock->sock, + &ssock->param.sockopt_params); + + if (status != PJ_SUCCESS && !ssock->param.sockopt_ignore_error) + goto on_error; + } + + /* Bind socket */ + status = pj_sock_bind(ssock->sock, localaddr, addr_len); + if (status != PJ_SUCCESS) + goto on_error; + + /* Create active socket */ + pj_activesock_cfg_default(&asock_cfg); + asock_cfg.async_cnt = ssock->param.async_cnt; + asock_cfg.concurrency = ssock->param.concurrency; + asock_cfg.whole_data = PJ_TRUE; + asock_cfg.grp_lock = ssock->param.grp_lock; + + pj_bzero(&asock_cb, sizeof(asock_cb)); + asock_cb.on_connect_complete = asock_on_connect_complete; + asock_cb.on_data_read = asock_on_data_read; + asock_cb.on_data_sent = asock_on_data_sent; + + status = pj_activesock_create(pool, + ssock->sock, + ssock->param.sock_type, + &asock_cfg, + ssock->param.ioqueue, + &asock_cb, + ssock, + &ssock->asock); + + if (status != PJ_SUCCESS) + goto on_error; + + /* Save remote address */ + pj_sockaddr_cp(&ssock->rem_addr, remaddr); + + /* Start timer */ + if (ssock->param.timer_heap && (ssock->param.timeout.sec != 0 || + ssock->param.timeout.msec != 0)) + { + pj_assert(ssock->timer.id == TIMER_NONE); + ssock->timer.id = TIMER_HANDSHAKE_TIMEOUT; + status = pj_timer_heap_schedule(ssock->param.timer_heap, + &ssock->timer, + &ssock->param.timeout); + if (status != PJ_SUCCESS) + ssock->timer.id = TIMER_NONE; + } + + status = pj_activesock_start_connect(ssock->asock, pool, remaddr, + addr_len); + + if (status == PJ_SUCCESS) + asock_on_connect_complete(ssock->asock, PJ_SUCCESS); + else if (status != PJ_EPENDING) + goto on_error; + + /* Update local address */ + ssock->addr_len = addr_len; + status = pj_sock_getsockname(ssock->sock, &ssock->local_addr, + &ssock->addr_len); + /* Note that we may not get an IP address here. This can + * happen for example on Windows, where getsockname() + * would return 0.0.0.0 if socket has just started the + * async connect. In this case, just leave the local + * address with 0.0.0.0 for now; it will be updated + * once the socket is established. + */ + + /* Update SSL state */ + ssock->is_server = PJ_FALSE; + + return PJ_EPENDING; + +on_error: + reset_ssl_sock_state(ssock); + return status; +} + + +PJ_DEF(pj_status_t) pj_ssl_sock_renegotiate(pj_ssl_sock_t *ssock) +{ + int ret; + pj_status_t status; + + PJ_ASSERT_RETURN(ssock, PJ_EINVAL); + + if (ssock->ssl_state != SSL_STATE_ESTABLISHED) + return PJ_EINVALIDOP; + + if (SSL_renegotiate_pending(ssock->ossl_ssl)) + return PJ_EPENDING; + + ret = SSL_renegotiate(ssock->ossl_ssl); + if (ret <= 0) { + status = GET_SSL_STATUS(ssock); + } else { + status = do_handshake(ssock); + } + + return status; +} + + +/* Put back deprecation warning setting */ +#if defined(PJ_DARWINOS) && PJ_DARWINOS==1 +# pragma GCC diagnostic pop +#endif + + +#endif /* PJ_HAS_SSL_SOCK */ + diff --git a/pjlib/src/pj/ssl_sock_symbian.cpp b/pjlib/src/pj/ssl_sock_symbian.cpp new file mode 100644 index 0000000..d88c1c6 --- /dev/null +++ b/pjlib/src/pj/ssl_sock_symbian.cpp @@ -0,0 +1,1457 @@ +/* $Id: ssl_sock_symbian.cpp 4973 2015-01-15 06:55:02Z nanang $ */ +/* + * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "os_symbian.h" +#include +#include +#include + +#define THIS_FILE "ssl_sock_symbian.cpp" + + +/* Cipher name structure */ +typedef struct cipher_name_t { + pj_ssl_cipher cipher; + const char *name; +} cipher_name_t; + +/* Cipher name constants */ +static cipher_name_t cipher_names[] = +{ + {PJ_TLS_UNKNOWN_CIPHER, "UNKNOWN"}, + {PJ_TLS_NULL_WITH_NULL_NULL, "NULL"}, + + /* TLS/SSLv3 */ + {PJ_TLS_RSA_WITH_NULL_MD5, "TLS_RSA_WITH_NULL_MD5"}, + {PJ_TLS_RSA_WITH_NULL_SHA, "TLS_RSA_WITH_NULL_SHA"}, + {PJ_TLS_RSA_WITH_NULL_SHA256, "TLS_RSA_WITH_NULL_SHA256"}, + {PJ_TLS_RSA_WITH_RC4_128_MD5, "TLS_RSA_WITH_RC4_128_MD5"}, + {PJ_TLS_RSA_WITH_RC4_128_SHA, "TLS_RSA_WITH_RC4_128_SHA"}, + {PJ_TLS_RSA_WITH_3DES_EDE_CBC_SHA, "TLS_RSA_WITH_3DES_EDE_CBC_SHA"}, + {PJ_TLS_RSA_WITH_AES_128_CBC_SHA, "TLS_RSA_WITH_AES_128_CBC_SHA"}, + {PJ_TLS_RSA_WITH_AES_256_CBC_SHA, "TLS_RSA_WITH_AES_256_CBC_SHA"}, + {PJ_TLS_RSA_WITH_AES_128_CBC_SHA256, "TLS_RSA_WITH_AES_128_CBC_SHA256"}, + {PJ_TLS_RSA_WITH_AES_256_CBC_SHA256, "TLS_RSA_WITH_AES_256_CBC_SHA256"}, + {PJ_TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA, "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA"}, + {PJ_TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA, "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA"}, + {PJ_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"}, + {PJ_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA"}, + {PJ_TLS_DH_DSS_WITH_AES_128_CBC_SHA, "TLS_DH_DSS_WITH_AES_128_CBC_SHA"}, + {PJ_TLS_DH_RSA_WITH_AES_128_CBC_SHA, "TLS_DH_RSA_WITH_AES_128_CBC_SHA"}, + {PJ_TLS_DHE_DSS_WITH_AES_128_CBC_SHA, "TLS_DHE_DSS_WITH_AES_128_CBC_SHA"}, + {PJ_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, "TLS_DHE_RSA_WITH_AES_128_CBC_SHA"}, + {PJ_TLS_DH_DSS_WITH_AES_256_CBC_SHA, "TLS_DH_DSS_WITH_AES_256_CBC_SHA"}, + {PJ_TLS_DH_RSA_WITH_AES_256_CBC_SHA, "TLS_DH_RSA_WITH_AES_256_CBC_SHA"}, + {PJ_TLS_DHE_DSS_WITH_AES_256_CBC_SHA, "TLS_DHE_DSS_WITH_AES_256_CBC_SHA"}, + {PJ_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, "TLS_DHE_RSA_WITH_AES_256_CBC_SHA"}, + {PJ_TLS_DH_DSS_WITH_AES_128_CBC_SHA256, "TLS_DH_DSS_WITH_AES_128_CBC_SHA256"}, + {PJ_TLS_DH_RSA_WITH_AES_128_CBC_SHA256, "TLS_DH_RSA_WITH_AES_128_CBC_SHA256"}, + {PJ_TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256"}, + {PJ_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"}, + {PJ_TLS_DH_DSS_WITH_AES_256_CBC_SHA256, "TLS_DH_DSS_WITH_AES_256_CBC_SHA256"}, + {PJ_TLS_DH_RSA_WITH_AES_256_CBC_SHA256, "TLS_DH_RSA_WITH_AES_256_CBC_SHA256"}, + {PJ_TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256"}, + {PJ_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256"}, + {PJ_TLS_DH_anon_WITH_RC4_128_MD5, "TLS_DH_anon_WITH_RC4_128_MD5"}, + {PJ_TLS_DH_anon_WITH_3DES_EDE_CBC_SHA, "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA"}, + {PJ_TLS_DH_anon_WITH_AES_128_CBC_SHA, "TLS_DH_anon_WITH_AES_128_CBC_SHA"}, + {PJ_TLS_DH_anon_WITH_AES_256_CBC_SHA, "TLS_DH_anon_WITH_AES_256_CBC_SHA"}, + {PJ_TLS_DH_anon_WITH_AES_128_CBC_SHA256, "TLS_DH_anon_WITH_AES_128_CBC_SHA256"}, + {PJ_TLS_DH_anon_WITH_AES_256_CBC_SHA256, "TLS_DH_anon_WITH_AES_256_CBC_SHA256"}, + + /* TLS (deprecated) */ + {PJ_TLS_RSA_EXPORT_WITH_RC4_40_MD5, "TLS_RSA_EXPORT_WITH_RC4_40_MD5"}, + {PJ_TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5, "TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5"}, + {PJ_TLS_RSA_WITH_IDEA_CBC_SHA, "TLS_RSA_WITH_IDEA_CBC_SHA"}, + {PJ_TLS_RSA_EXPORT_WITH_DES40_CBC_SHA, "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA"}, + {PJ_TLS_RSA_WITH_DES_CBC_SHA, "TLS_RSA_WITH_DES_CBC_SHA"}, + {PJ_TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA, "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA"}, + {PJ_TLS_DH_DSS_WITH_DES_CBC_SHA, "TLS_DH_DSS_WITH_DES_CBC_SHA"}, + {PJ_TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA, "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA"}, + {PJ_TLS_DH_RSA_WITH_DES_CBC_SHA, "TLS_DH_RSA_WITH_DES_CBC_SHA"}, + {PJ_TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"}, + {PJ_TLS_DHE_DSS_WITH_DES_CBC_SHA, "TLS_DHE_DSS_WITH_DES_CBC_SHA"}, + {PJ_TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"}, + {PJ_TLS_DHE_RSA_WITH_DES_CBC_SHA, "TLS_DHE_RSA_WITH_DES_CBC_SHA"}, + {PJ_TLS_DH_anon_EXPORT_WITH_RC4_40_MD5, "TLS_DH_anon_EXPORT_WITH_RC4_40_MD5"}, + {PJ_TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA, "TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA"}, + {PJ_TLS_DH_anon_WITH_DES_CBC_SHA, "TLS_DH_anon_WITH_DES_CBC_SHA"}, + + /* SSLv3 */ + {PJ_SSL_FORTEZZA_KEA_WITH_NULL_SHA, "SSL_FORTEZZA_KEA_WITH_NULL_SHA"}, + {PJ_SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA,"SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA"}, + {PJ_SSL_FORTEZZA_KEA_WITH_RC4_128_SHA, "SSL_FORTEZZA_KEA_WITH_RC4_128_SHA"}, + + /* SSLv2 */ + {PJ_SSL_CK_RC4_128_WITH_MD5, "SSL_CK_RC4_128_WITH_MD5"}, + {PJ_SSL_CK_RC4_128_EXPORT40_WITH_MD5, "SSL_CK_RC4_128_EXPORT40_WITH_MD5"}, + {PJ_SSL_CK_RC2_128_CBC_WITH_MD5, "SSL_CK_RC2_128_CBC_WITH_MD5"}, + {PJ_SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5, "SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5"}, + {PJ_SSL_CK_IDEA_128_CBC_WITH_MD5, "SSL_CK_IDEA_128_CBC_WITH_MD5"}, + {PJ_SSL_CK_DES_64_CBC_WITH_MD5, "SSL_CK_DES_64_CBC_WITH_MD5"}, + {PJ_SSL_CK_DES_192_EDE3_CBC_WITH_MD5, "SSL_CK_DES_192_EDE3_CBC_WITH_MD5"} +}; + + +/* Get cipher name string */ +static const char* get_cipher_name(pj_ssl_cipher cipher) +{ + unsigned i, n; + + n = PJ_ARRAY_SIZE(cipher_names); + for (i = 0; i < n; ++i) { + if (cipher == cipher_names[i].cipher) + return cipher_names[i].name; + } + + return "CIPHER_UNKNOWN"; +} + +typedef void (*CPjSSLSocket_cb)(int err, void *key); + +class CPjSSLSocketReader : public CActive +{ +public: + static CPjSSLSocketReader *NewL(CSecureSocket &sock) + { + CPjSSLSocketReader *self = new (ELeave) + CPjSSLSocketReader(sock); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + + ~CPjSSLSocketReader() { + Cancel(); + } + + /* Asynchronous read from the socket. */ + int Read(CPjSSLSocket_cb cb, void *key, TPtr8 &data, TUint flags) + { + PJ_ASSERT_RETURN(!IsActive(), PJ_EBUSY); + + cb_ = cb; + key_ = key; + sock_.RecvOneOrMore(data, iStatus, len_received_); + SetActive(); + + return PJ_EPENDING; + } + +private: + CSecureSocket &sock_; + CPjSSLSocket_cb cb_; + void *key_; + TSockXfrLength len_received_; /* not really useful? */ + + void DoCancel() { + sock_.CancelAll(); + } + + void RunL() { + (*cb_)(iStatus.Int(), key_); + } + + CPjSSLSocketReader(CSecureSocket &sock) : + CActive(0), sock_(sock), cb_(NULL), key_(NULL) + {} + + void ConstructL() { + CActiveScheduler::Add(this); + } +}; + +class CPjSSLSocket : public CActive +{ +public: + enum ssl_state { + SSL_STATE_NULL, + SSL_STATE_CONNECTING, + SSL_STATE_HANDSHAKING, + SSL_STATE_ESTABLISHED + }; + + static CPjSSLSocket *NewL(const TDesC8 &ssl_proto, + pj_qos_type qos_type, + const pj_qos_params &qos_params) + { + CPjSSLSocket *self = new (ELeave) CPjSSLSocket(qos_type, qos_params); + CleanupStack::PushL(self); + self->ConstructL(ssl_proto); + CleanupStack::Pop(self); + return self; + } + + ~CPjSSLSocket() { + Cancel(); + CleanupSubObjects(); + } + + int Connect(CPjSSLSocket_cb cb, void *key, const TInetAddr &local_addr, + const TInetAddr &rem_addr, + const TDesC8 &servername = TPtrC8(NULL,0), + const TDesC8 &ciphers = TPtrC8(NULL,0)); + int Send(CPjSSLSocket_cb cb, void *key, const TDesC8 &aDesc, TUint flags); + int SendSync(const TDesC8 &aDesc, TUint flags); + + CPjSSLSocketReader* GetReader(); + enum ssl_state GetState() const { return state_; } + const TInetAddr* GetLocalAddr() const { return &local_addr_; } + int GetCipher(TDes8 &cipher) const { + if (securesock_) + return securesock_->CurrentCipherSuite(cipher); + return KErrNotFound; + } + const CX509Certificate *GetPeerCert() { + if (securesock_) + return securesock_->ServerCert(); + return NULL; + } + +private: + enum ssl_state state_; + pj_sock_t sock_; + CSecureSocket *securesock_; + bool is_connected_; + + pj_qos_type qos_type_; + pj_qos_params qos_params_; + + CPjSSLSocketReader *reader_; + TBuf<32> ssl_proto_; + TInetAddr rem_addr_; + TPtrC8 servername_; + TPtrC8 ciphers_; + TInetAddr local_addr_; + TSockXfrLength sent_len_; + + CPjSSLSocket_cb cb_; + void *key_; + + void DoCancel(); + void RunL(); + + CPjSSLSocket(pj_qos_type qos_type, const pj_qos_params &qos_params) : + CActive(0), state_(SSL_STATE_NULL), sock_(PJ_INVALID_SOCKET), + securesock_(NULL), is_connected_(false), + qos_type_(qos_type), qos_params_(qos_params), + reader_(NULL), cb_(NULL), key_(NULL) + {} + + void ConstructL(const TDesC8 &ssl_proto) { + ssl_proto_.Copy(ssl_proto); + CActiveScheduler::Add(this); + } + + void CleanupSubObjects() { + delete reader_; + reader_ = NULL; + if (securesock_) { + if (state_ == SSL_STATE_ESTABLISHED) + securesock_->Close(); + delete securesock_; + securesock_ = NULL; + } + if (sock_ != PJ_INVALID_SOCKET) { + pj_sock_close(sock_); + sock_ = PJ_INVALID_SOCKET; + } + } +}; + +int CPjSSLSocket::Connect(CPjSSLSocket_cb cb, void *key, + const TInetAddr &local_addr, + const TInetAddr &rem_addr, + const TDesC8 &servername, + const TDesC8 &ciphers) +{ + pj_status_t status; + + PJ_ASSERT_RETURN(state_ == SSL_STATE_NULL, PJ_EINVALIDOP); + + status = pj_sock_socket(rem_addr.Family(), pj_SOCK_STREAM(), 0, &sock_); + if (status != PJ_SUCCESS) + return status; + + // Apply QoS + status = pj_sock_apply_qos2(sock_, qos_type_, &qos_params_, + 2, THIS_FILE, NULL); + + RSocket &rSock = ((CPjSocket*)sock_)->Socket(); + + local_addr_ = local_addr; + + if (!local_addr_.IsUnspecified()) { + TInt err = rSock.Bind(local_addr_); + if (err != KErrNone) + return PJ_RETURN_OS_ERROR(err); + } + + cb_ = cb; + key_ = key; + rem_addr_ = rem_addr; + + /* Note: the following members only keep the pointer, not the data */ + servername_.Set(servername); + ciphers_.Set(ciphers); + + rSock.Connect(rem_addr_, iStatus); + SetActive(); + state_ = SSL_STATE_CONNECTING; + + rSock.LocalName(local_addr_); + + return PJ_EPENDING; +} + +int CPjSSLSocket::Send(CPjSSLSocket_cb cb, void *key, const TDesC8 &aDesc, + TUint flags) +{ + PJ_UNUSED_ARG(flags); + + PJ_ASSERT_RETURN(state_ == SSL_STATE_ESTABLISHED, PJ_EINVALIDOP); + + if (IsActive()) + return PJ_EBUSY; + + cb_ = cb; + key_ = key; + + securesock_->Send(aDesc, iStatus, sent_len_); + SetActive(); + + return PJ_EPENDING; +} + +int CPjSSLSocket::SendSync(const TDesC8 &aDesc, TUint flags) +{ + PJ_UNUSED_ARG(flags); + + PJ_ASSERT_RETURN(state_ == SSL_STATE_ESTABLISHED, PJ_EINVALIDOP); + + TRequestStatus reqStatus; + securesock_->Send(aDesc, reqStatus, sent_len_); + User::WaitForRequest(reqStatus); + + return PJ_RETURN_OS_ERROR(reqStatus.Int()); +} + +CPjSSLSocketReader* CPjSSLSocket::GetReader() +{ + PJ_ASSERT_RETURN(state_ == SSL_STATE_ESTABLISHED, NULL); + + if (reader_) + return reader_; + + TRAPD(err, reader_ = CPjSSLSocketReader::NewL(*securesock_)); + if (err != KErrNone) + return NULL; + + return reader_; +} + +void CPjSSLSocket::DoCancel() +{ + /* Operation to be cancelled depends on current state */ + switch (state_) { + case SSL_STATE_CONNECTING: + { + RSocket &rSock = ((CPjSocket*)sock_)->Socket(); + + rSock.CancelConnect(); + CleanupSubObjects(); + state_ = SSL_STATE_NULL; + } + break; + case SSL_STATE_HANDSHAKING: + { + securesock_->CancelHandshake(); + CleanupSubObjects(); + state_ = SSL_STATE_NULL; + } + break; + case SSL_STATE_ESTABLISHED: + securesock_->CancelSend(); + break; + default: + break; + } +} + +void CPjSSLSocket::RunL() +{ + switch (state_) { + case SSL_STATE_CONNECTING: + if (iStatus != KErrNone) { + CleanupSubObjects(); + state_ = SSL_STATE_NULL; + /* Dispatch connect failure notification */ + if (cb_) (*cb_)(iStatus.Int(), key_); + } else { + RSocket &rSock = ((CPjSocket*)sock_)->Socket(); + + /* Get local addr */ + rSock.LocalName(local_addr_); + + /* Prepare and start handshake */ + securesock_ = CSecureSocket::NewL(rSock, ssl_proto_); + securesock_->SetDialogMode(EDialogModeAttended); + if (servername_.Length() > 0) + securesock_->SetOpt(KSoSSLDomainName, KSolInetSSL, + servername_); + if (ciphers_.Length() > 0) + securesock_->SetAvailableCipherSuites(ciphers_); + + // FlushSessionCache() seems to also fire signals to all + // completed AOs (something like CActiveScheduler::RunIfReady()) + // which may cause problem, e.g: we've experienced that when + // SSL timeout is set to 1s, the SSL timeout timer fires up + // at this point and securesock_ instance gets deleted here! + // So be careful using this. And we don't think we need it here. + //securesock_->FlushSessionCache(); + + securesock_->StartClientHandshake(iStatus); + SetActive(); + state_ = SSL_STATE_HANDSHAKING; + } + break; + case SSL_STATE_HANDSHAKING: + if (iStatus == KErrNone) { + state_ = SSL_STATE_ESTABLISHED; + } else { + state_ = SSL_STATE_NULL; + CleanupSubObjects(); + } + /* Dispatch connect status notification */ + if (cb_) (*cb_)(iStatus.Int(), key_); + break; + case SSL_STATE_ESTABLISHED: + /* Dispatch data sent notification */ + if (cb_) (*cb_)(iStatus.Int(), key_); + break; + default: + pj_assert(0); + break; + } +} + +typedef void (*CPjTimer_cb)(void *user_data); + +class CPjTimer : public CActive +{ +public: + CPjTimer(const pj_time_val *delay, CPjTimer_cb cb, void *user_data) : + CActive(0), cb_(cb), user_data_(user_data) + { + CActiveScheduler::Add(this); + + rtimer_.CreateLocal(); + pj_int32_t interval = PJ_TIME_VAL_MSEC(*delay) * 1000; + if (interval < 0) { + interval = 0; + } + rtimer_.After(iStatus, interval); + SetActive(); + } + + ~CPjTimer() { Cancel(); } + +private: + RTimer rtimer_; + CPjTimer_cb cb_; + void *user_data_; + + void RunL() { if (cb_) (*cb_)(user_data_); } + void DoCancel() { rtimer_.Cancel(); } +}; + +/* + * Structure of recv/read state. + */ +typedef struct read_state_t { + TPtr8 *read_buf; + TPtr8 *orig_buf; + pj_uint32_t flags; +} read_state_t; + +/* + * Structure of send/write data. + */ +typedef struct write_data_t { + pj_size_t len; + pj_ioqueue_op_key_t *key; + pj_size_t data_len; + char data[1]; +} write_data_t; + +/* + * Structure of send/write state. + */ +typedef struct write_state_t { + char *buf; + pj_size_t max_len; + char *start; + pj_size_t len; + write_data_t *current_data; + TPtrC8 send_ptr; +} write_state_t; + +/* + * Secure socket structure definition. + */ +struct pj_ssl_sock_t +{ + pj_pool_t *pool; + pj_ssl_sock_cb cb; + void *user_data; + + pj_bool_t established; + write_state_t write_state; + read_state_t read_state; + CPjTimer *connect_timer; + + CPjSSLSocket *sock; + int sock_af; + int sock_type; + pj_sockaddr local_addr; + pj_sockaddr rem_addr; + + /* QoS settings */ + pj_qos_type qos_type; + pj_qos_params qos_params; + pj_bool_t qos_ignore_error; + + + pj_ssl_sock_proto proto; + pj_time_val timeout; + pj_str_t servername; + pj_str_t ciphers; + pj_ssl_cert_info remote_cert_info; +}; + + +static pj_str_t get_cert_name(char *buf, unsigned buf_len, + const CX500DistinguishedName &name) +{ + TInt i; + TUint8 *p; + TInt l = buf_len; + + p = (TUint8*)buf; + for(i = 0; i < name.Count(); ++i) { + const CX520AttributeTypeAndValue &attr = name.Element(i); + + /* Print element separator */ + *p++ = '/'; + if (0 == --l) break; + + /* Print the type. */ + TPtr8 type(p, l); + type.Copy(attr.Type()); + p += type.Length(); + l -= type.Length(); + if (0 >= --l) break; + + /* Print equal sign */ + *p++ = '='; + if (0 == --l) break; + + /* Print the value. Let's just get the raw data here */ + TPtr8 value(p, l); + value.Copy(attr.EncodedValue().Mid(2)); + p += value.Length(); + l -= value.Length(); + if (0 >= --l) break; + } + + pj_str_t src; + pj_strset(&src, buf, buf_len - l); + + return src; +} + +/* Get certificate info from CX509Certificate. + */ +static void get_cert_info(pj_pool_t *pool, pj_ssl_cert_info *ci, + const CX509Certificate *x) +{ + enum { tmp_buf_len = 512 }; + char *tmp_buf; + unsigned len; + + pj_assert(pool && ci && x); + + /* Init */ + tmp_buf = new char[tmp_buf_len]; + pj_bzero(ci, sizeof(*ci)); + + /* Version */ + ci->version = x->Version(); + + /* Serial number */ + len = x->SerialNumber().Length(); + if (len > sizeof(ci->serial_no)) + len = sizeof(ci->serial_no); + pj_memcpy(ci->serial_no + sizeof(ci->serial_no) - len, + x->SerialNumber().Ptr(), len); + + /* Subject */ + { + HBufC *subject = NULL; + TRAPD(err, subject = x->SubjectL()); + if (err == KErrNone) { + TPtr16 ptr16(subject->Des()); + len = ptr16.Length(); + TPtr8 ptr8((TUint8*)pj_pool_alloc(pool, len), len); + ptr8.Copy(ptr16); + pj_strset(&ci->subject.cn, (char*)ptr8.Ptr(), ptr8.Length()); + } + pj_str_t tmp = get_cert_name(tmp_buf, tmp_buf_len, + x->SubjectName()); + pj_strdup(pool, &ci->subject.info, &tmp); + } + + /* Issuer */ + { + HBufC *issuer = NULL; + TRAPD(err, issuer = x->IssuerL()); + if (err == KErrNone) { + TPtr16 ptr16(issuer->Des()); + len = ptr16.Length(); + TPtr8 ptr8((TUint8*)pj_pool_alloc(pool, len), len); + ptr8.Copy(ptr16); + pj_strset(&ci->issuer.cn, (char*)ptr8.Ptr(), ptr8.Length()); + } + pj_str_t tmp = get_cert_name(tmp_buf, tmp_buf_len, + x->IssuerName()); + pj_strdup(pool, &ci->issuer.info, &tmp); + } + + /* Validity */ + const CValidityPeriod &valid_period = x->ValidityPeriod(); + TTime base_time(TDateTime(1970, EJanuary, 0, 0, 0, 0, 0)); + TTimeIntervalSeconds tmp_sec; + valid_period.Start().SecondsFrom(base_time, tmp_sec); + ci->validity.start.sec = tmp_sec.Int(); + valid_period.Finish().SecondsFrom(base_time, tmp_sec); + ci->validity.end.sec = tmp_sec.Int(); + + /* Deinit */ + delete [] tmp_buf; +} + + +/* Update certificates info. This function should be called after handshake + * or renegotiation successfully completed. + */ +static void update_certs_info(pj_ssl_sock_t *ssock) +{ + const CX509Certificate *x; + + pj_assert(ssock && ssock->sock && + ssock->sock->GetState() == CPjSSLSocket::SSL_STATE_ESTABLISHED); + + /* Active remote certificate */ + x = ssock->sock->GetPeerCert(); + if (x) { + get_cert_info(ssock->pool, &ssock->remote_cert_info, x); + } else { + pj_bzero(&ssock->remote_cert_info, sizeof(pj_ssl_cert_info)); + } +} + + +/* Available ciphers */ +static unsigned ciphers_num_ = 0; +static struct ciphers_t +{ + pj_ssl_cipher id; + const char *name; +} ciphers_[64]; + +/* + * Get cipher list supported by SSL/TLS backend. + */ +PJ_DEF(pj_status_t) pj_ssl_cipher_get_availables (pj_ssl_cipher ciphers[], + unsigned *cipher_num) +{ + unsigned i; + + PJ_ASSERT_RETURN(ciphers && cipher_num, PJ_EINVAL); + + if (ciphers_num_ == 0) { + RSocket sock; + CSecureSocket *secure_sock; + TPtrC16 proto(_L16("TLS1.0")); + + secure_sock = CSecureSocket::NewL(sock, proto); + if (secure_sock) { + TBuf8<128> ciphers_buf(0); + secure_sock->AvailableCipherSuites(ciphers_buf); + + ciphers_num_ = ciphers_buf.Length() / 2; + if (ciphers_num_ > PJ_ARRAY_SIZE(ciphers_)) + ciphers_num_ = PJ_ARRAY_SIZE(ciphers_); + for (i = 0; i < ciphers_num_; ++i) { + ciphers_[i].id = (pj_ssl_cipher)(ciphers_buf[i*2]*10 + + ciphers_buf[i*2+1]); + ciphers_[i].name = get_cipher_name(ciphers_[i].id); + } + } + + delete secure_sock; + } + + if (ciphers_num_ == 0) { + *cipher_num = 0; + return PJ_ENOTFOUND; + } + + *cipher_num = PJ_MIN(*cipher_num, ciphers_num_); + for (i = 0; i < *cipher_num; ++i) + ciphers[i] = ciphers_[i].id; + + return PJ_SUCCESS; +} + + +/* Get cipher name string */ +PJ_DEF(const char*) pj_ssl_cipher_name(pj_ssl_cipher cipher) +{ + unsigned i; + + if (ciphers_num_ == 0) { + pj_ssl_cipher c[1]; + i = 0; + pj_ssl_cipher_get_availables(c, &i); + } + + for (i = 0; i < ciphers_num_; ++i) { + if (cipher == ciphers_[i].id) + return ciphers_[i].name; + } + + return NULL; +} + + +/* Get cipher identifier */ +PJ_DEF(pj_ssl_cipher) pj_ssl_cipher_id(const char *cipher_name) +{ + unsigned i; + + if (ciphers_num_ == 0) { + pj_ssl_cipher c[1]; + i = 0; + pj_ssl_cipher_get_availables(c, &i); + } + + for (i = 0; i < ciphers_num_; ++i) { + if (!pj_ansi_stricmp(ciphers_[i].name, cipher_name)) + return ciphers_[i].id; + } + + return PJ_TLS_UNKNOWN_CIPHER; +} + + +/* Check if the specified cipher is supported by SSL/TLS backend. */ +PJ_DEF(pj_bool_t) pj_ssl_cipher_is_supported(pj_ssl_cipher cipher) +{ + unsigned i; + + if (ciphers_num_ == 0) { + pj_ssl_cipher c[1]; + i = 0; + pj_ssl_cipher_get_availables(c, &i); + } + + for (i = 0; i < ciphers_num_; ++i) { + if (cipher == ciphers_[i].id) + return PJ_TRUE; + } + + return PJ_FALSE; +} + + +/* + * Create SSL socket instance. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_create (pj_pool_t *pool, + const pj_ssl_sock_param *param, + pj_ssl_sock_t **p_ssock) +{ + pj_ssl_sock_t *ssock; + + PJ_ASSERT_RETURN(param->async_cnt == 1, PJ_EINVAL); + PJ_ASSERT_RETURN(pool && param && p_ssock, PJ_EINVAL); + + /* Allocate secure socket */ + ssock = PJ_POOL_ZALLOC_T(pool, pj_ssl_sock_t); + + /* Allocate write buffer */ + ssock->write_state.buf = (char*)pj_pool_alloc(pool, + param->send_buffer_size); + ssock->write_state.max_len = param->send_buffer_size; + ssock->write_state.start = ssock->write_state.buf; + + /* Init secure socket */ + ssock->pool = pool; + ssock->sock_af = param->sock_af; + ssock->sock_type = param->sock_type; + ssock->cb = param->cb; + ssock->user_data = param->user_data; + ssock->timeout = param->timeout; + if (param->ciphers_num > 0) { + /* Cipher list in Symbian is represented as array of two-octets. */ + ssock->ciphers.slen = param->ciphers_num*2; + ssock->ciphers.ptr = (char*)pj_pool_alloc(pool, ssock->ciphers.slen); + pj_uint8_t *c = (pj_uint8_t*)ssock->ciphers.ptr; + for (unsigned i = 0; i < param->ciphers_num; ++i) { + *c++ = (pj_uint8_t)(param->ciphers[i] & 0xFF00) >> 8; + *c++ = (pj_uint8_t)(param->ciphers[i] & 0xFF); + } + } + pj_strdup_with_null(pool, &ssock->servername, ¶m->server_name); + + ssock->qos_type = param->qos_type; + ssock->qos_ignore_error = param->qos_ignore_error; + pj_memcpy(&ssock->qos_params, ¶m->qos_params, + sizeof(param->qos_params)); + + /* Finally */ + *p_ssock = ssock; + + return PJ_SUCCESS; +} + + +PJ_DEF(pj_status_t) pj_ssl_cert_load_from_files(pj_pool_t *pool, + const pj_str_t *CA_file, + const pj_str_t *cert_file, + const pj_str_t *privkey_file, + const pj_str_t *privkey_pass, + pj_ssl_cert_t **p_cert) +{ + return pj_ssl_cert_load_from_files2(pool, CA_file, NULL, cert_file, + privkey_file, privkey_pass, p_cert); +} + +PJ_DEF(pj_status_t) pj_ssl_cert_load_from_files2(pj_pool_t *pool, + const pj_str_t *CA_file, + const pj_str_t *CA_path, + const pj_str_t *cert_file, + const pj_str_t *privkey_file, + const pj_str_t *privkey_pass, + pj_ssl_cert_t **p_cert) +{ + PJ_UNUSED_ARG(pool); + PJ_UNUSED_ARG(CA_file); + PJ_UNUSED_ARG(CA_path); + PJ_UNUSED_ARG(cert_file); + PJ_UNUSED_ARG(privkey_file); + PJ_UNUSED_ARG(privkey_pass); + PJ_UNUSED_ARG(p_cert); + return PJ_ENOTSUP; +} + +/* + * Set SSL socket credential. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_set_certificate( + pj_ssl_sock_t *ssock, + pj_pool_t *pool, + const pj_ssl_cert_t *cert) +{ + PJ_UNUSED_ARG(ssock); + PJ_UNUSED_ARG(pool); + PJ_UNUSED_ARG(cert); + return PJ_ENOTSUP; +} + +/* + * Close the SSL socket. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_close(pj_ssl_sock_t *ssock) +{ + PJ_ASSERT_RETURN(ssock, PJ_EINVAL); + + delete ssock->connect_timer; + ssock->connect_timer = NULL; + + delete ssock->sock; + ssock->sock = NULL; + + delete ssock->read_state.read_buf; + delete ssock->read_state.orig_buf; + ssock->read_state.read_buf = NULL; + ssock->read_state.orig_buf = NULL; + + return PJ_SUCCESS; +} + + +/* + * Associate arbitrary data with the SSL socket. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_set_user_data (pj_ssl_sock_t *ssock, + void *user_data) +{ + PJ_ASSERT_RETURN(ssock, PJ_EINVAL); + + ssock->user_data = user_data; + + return PJ_SUCCESS; +} + + +/* + * Retrieve the user data previously associated with this SSL + * socket. + */ +PJ_DEF(void*) pj_ssl_sock_get_user_data(pj_ssl_sock_t *ssock) +{ + PJ_ASSERT_RETURN(ssock, NULL); + + return ssock->user_data; +} + + +/* + * Retrieve the local address and port used by specified SSL socket. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_get_info (pj_ssl_sock_t *ssock, + pj_ssl_sock_info *info) +{ + PJ_ASSERT_RETURN(ssock && info, PJ_EINVAL); + + pj_bzero(info, sizeof(*info)); + + info->established = ssock->established; + + /* Local address */ + if (ssock->sock) { + const TInetAddr* local_addr_ = ssock->sock->GetLocalAddr(); + int addrlen = sizeof(pj_sockaddr); + pj_status_t status; + + status = PjSymbianOS::Addr2pj(*local_addr_, info->local_addr, &addrlen); + if (status != PJ_SUCCESS) + return status; + } else { + pj_sockaddr_cp(&info->local_addr, &ssock->local_addr); + } + + if (info->established) { + /* Cipher suite */ + TBuf8<4> cipher; + if (ssock->sock->GetCipher(cipher) == KErrNone) { + info->cipher = (pj_ssl_cipher)cipher[1]; + } + + /* Remote address */ + pj_sockaddr_cp((pj_sockaddr_t*)&info->remote_addr, + (pj_sockaddr_t*)&ssock->rem_addr); + + /* Certificates info */ + info->remote_cert_info = &ssock->remote_cert_info; + } + + /* Protocol */ + info->proto = ssock->proto; + + return PJ_SUCCESS; +} + + +/* + * Starts read operation on this SSL socket. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_start_read (pj_ssl_sock_t *ssock, + pj_pool_t *pool, + unsigned buff_size, + pj_uint32_t flags) +{ + PJ_ASSERT_RETURN(ssock && pool && buff_size, PJ_EINVAL); + PJ_ASSERT_RETURN(ssock->established, PJ_EINVALIDOP); + + /* Reading is already started */ + if (ssock->read_state.orig_buf) { + return PJ_SUCCESS; + } + + void *readbuf[1]; + readbuf[0] = pj_pool_alloc(pool, buff_size); + return pj_ssl_sock_start_read2(ssock, pool, buff_size, readbuf, flags); +} + +static void read_cb(int err, void *key) +{ + pj_ssl_sock_t *ssock = (pj_ssl_sock_t*)key; + pj_status_t status; + + status = (err == KErrNone)? PJ_SUCCESS : PJ_RETURN_OS_ERROR(err); + + /* Check connection status */ + if (err == KErrEof || !PjSymbianOS::Instance()->IsConnectionUp() || + !ssock->established) + { + status = PJ_EEOF; + } + + /* Notify data arrival */ + if (ssock->cb.on_data_read) { + pj_size_t remainder = 0; + char *data = (char*)ssock->read_state.orig_buf->Ptr(); + pj_size_t data_len = ssock->read_state.read_buf->Length() + + ssock->read_state.read_buf->Ptr() - + ssock->read_state.orig_buf->Ptr(); + + if (data_len > 0) { + /* Notify received data */ + pj_bool_t ret = (*ssock->cb.on_data_read)(ssock, data, data_len, + status, &remainder); + if (!ret) { + /* We've been destroyed */ + return; + } + + /* Calculate available data for next READ operation */ + if (remainder > 0) { + pj_size_t data_maxlen = ssock->read_state.orig_buf->MaxLength(); + + /* There is some data left unconsumed by application, we give + * smaller buffer for next READ operation. + */ + ssock->read_state.read_buf->Set((TUint8*)data+remainder, 0, + data_maxlen - remainder); + } else { + /* Give all buffer for next READ operation. + */ + ssock->read_state.read_buf->Set(*ssock->read_state.orig_buf); + } + } + } + + if (status == PJ_SUCCESS) { + /* Perform the "next" READ operation */ + CPjSSLSocketReader *reader = ssock->sock->GetReader(); + ssock->read_state.read_buf->SetLength(0); + status = reader->Read(&read_cb, ssock, *ssock->read_state.read_buf, + ssock->read_state.flags); + } + + /* Connection closed or something goes wrong */ + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + /* Notify error */ + if (ssock->cb.on_data_read) { + pj_bool_t ret = (*ssock->cb.on_data_read)(ssock, NULL, 0, + status, NULL); + if (!ret) { + /* We've been destroyed */ + return; + } + } + + delete ssock->read_state.read_buf; + delete ssock->read_state.orig_buf; + ssock->read_state.read_buf = NULL; + ssock->read_state.orig_buf = NULL; + ssock->established = PJ_FALSE; + } +} + +/* + * Same as #pj_ssl_sock_start_read(), except that the application + * supplies the buffers for the read operation so that the acive socket + * does not have to allocate the buffers. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_start_read2 (pj_ssl_sock_t *ssock, + pj_pool_t *pool, + unsigned buff_size, + void *readbuf[], + pj_uint32_t flags) +{ + PJ_ASSERT_RETURN(ssock && buff_size && readbuf, PJ_EINVAL); + PJ_ASSERT_RETURN(ssock->established, PJ_EINVALIDOP); + + /* Return failure if access point is marked as down by app. */ + PJ_SYMBIAN_CHECK_CONNECTION(); + + /* Reading is already started */ + if (ssock->read_state.orig_buf) { + return PJ_SUCCESS; + } + + PJ_UNUSED_ARG(pool); + + /* Get reader instance */ + CPjSSLSocketReader *reader = ssock->sock->GetReader(); + if (!reader) + return PJ_ENOMEM; + + /* We manage two buffer pointers here: + * 1. orig_buf keeps the orginal buffer address (and its max length). + * 2. read_buf provides buffer for READ operation, mind that there may be + * some remainder data left by application. + */ + ssock->read_state.read_buf = new TPtr8((TUint8*)readbuf[0], 0, buff_size); + ssock->read_state.orig_buf = new TPtr8((TUint8*)readbuf[0], 0, buff_size); + ssock->read_state.flags = flags; + + pj_status_t status; + status = reader->Read(&read_cb, ssock, *ssock->read_state.read_buf, + ssock->read_state.flags); + + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + delete ssock->read_state.read_buf; + delete ssock->read_state.orig_buf; + ssock->read_state.read_buf = NULL; + ssock->read_state.orig_buf = NULL; + + return status; + } + + return PJ_SUCCESS; +} + +/* + * Same as pj_ssl_sock_start_read(), except that this function is used + * only for datagram sockets, and it will trigger \a on_data_recvfrom() + * callback instead. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_start_recvfrom (pj_ssl_sock_t *ssock, + pj_pool_t *pool, + unsigned buff_size, + pj_uint32_t flags) +{ + PJ_UNUSED_ARG(ssock); + PJ_UNUSED_ARG(pool); + PJ_UNUSED_ARG(buff_size); + PJ_UNUSED_ARG(flags); + return PJ_ENOTSUP; +} + +/* + * Same as #pj_ssl_sock_start_recvfrom() except that the recvfrom() + * operation takes the buffer from the argument rather than creating + * new ones. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_start_recvfrom2 (pj_ssl_sock_t *ssock, + pj_pool_t *pool, + unsigned buff_size, + void *readbuf[], + pj_uint32_t flags) +{ + PJ_UNUSED_ARG(ssock); + PJ_UNUSED_ARG(pool); + PJ_UNUSED_ARG(buff_size); + PJ_UNUSED_ARG(readbuf); + PJ_UNUSED_ARG(flags); + return PJ_ENOTSUP; +} + +static void send_cb(int err, void *key) +{ + pj_ssl_sock_t *ssock = (pj_ssl_sock_t*)key; + write_state_t *st = &ssock->write_state; + + /* Check connection status */ + if (err != KErrNone || !PjSymbianOS::Instance()->IsConnectionUp() || + !ssock->established) + { + ssock->established = PJ_FALSE; + return; + } + + /* Remove sent data from buffer */ + st->start += st->current_data->len; + st->len -= st->current_data->len; + + /* Reset current outstanding send */ + st->current_data = NULL; + + /* Let's check if there is pending data to send */ + if (st->len) { + write_data_t *wdata = (write_data_t*)st->start; + pj_status_t status; + + st->send_ptr.Set((TUint8*)wdata->data, (TInt)wdata->data_len); + st->current_data = wdata; + status = ssock->sock->Send(&send_cb, ssock, st->send_ptr, 0); + if (status != PJ_EPENDING) { + ssock->established = PJ_FALSE; + st->len = 0; + return; + } + } else { + /* Buffer empty, reset the start position */ + st->start = st->buf; + } +} + +/* + * Send data using the socket. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_send (pj_ssl_sock_t *ssock, + pj_ioqueue_op_key_t *send_key, + const void *data, + pj_ssize_t *size, + unsigned flags) +{ + PJ_CHECK_STACK(); + PJ_ASSERT_RETURN(ssock && data && size, PJ_EINVAL); + PJ_ASSERT_RETURN(ssock->write_state.max_len == 0 || + ssock->write_state.max_len >= (pj_size_t)*size, + PJ_ETOOSMALL); + + /* Check connection status */ + if (!PjSymbianOS::Instance()->IsConnectionUp() || !ssock->established) + { + ssock->established = PJ_FALSE; + return PJ_ECANCELLED; + } + + write_state_t *st = &ssock->write_state; + + /* Synchronous mode */ + if (st->max_len == 0) { + st->send_ptr.Set((TUint8*)data, (TInt)*size); + return ssock->sock->SendSync(st->send_ptr, flags); + } + + /* CSecureSocket only allows one outstanding send operation, so + * we use buffering mechanism to allow application to perform send + * operations at any time. + */ + + pj_size_t needed_len = *size + sizeof(write_data_t) - 1; + + /* Align needed_len to be multiplication of 4 */ + needed_len = ((needed_len + 3) >> 2) << 2; + + /* Block until there is buffer slot available and contiguous! */ + while (st->start + st->len + needed_len > st->buf + st->max_len) { + pj_symbianos_poll(-1, -1); + } + + /* Push back the send data into the buffer */ + write_data_t *wdata = (write_data_t*)(st->start + st->len); + + wdata->len = needed_len; + wdata->key = send_key; + wdata->data_len = (pj_size_t)*size; + pj_memcpy(wdata->data, data, *size); + st->len += needed_len; + + /* If no outstanding send, send it */ + if (st->current_data == NULL) { + pj_status_t status; + + wdata = (write_data_t*)st->start; + st->current_data = wdata; + st->send_ptr.Set((TUint8*)wdata->data, (TInt)wdata->data_len); + status = ssock->sock->Send(&send_cb, ssock, st->send_ptr, flags); + + if (status != PJ_EPENDING) { + *size = -status; + return status; + } + } + + return PJ_SUCCESS; +} + +/* + * Send datagram using the socket. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_sendto (pj_ssl_sock_t *ssock, + pj_ioqueue_op_key_t *send_key, + const void *data, + pj_ssize_t *size, + unsigned flags, + const pj_sockaddr_t *addr, + int addr_len) +{ + PJ_UNUSED_ARG(ssock); + PJ_UNUSED_ARG(send_key); + PJ_UNUSED_ARG(data); + PJ_UNUSED_ARG(size); + PJ_UNUSED_ARG(flags); + PJ_UNUSED_ARG(addr); + PJ_UNUSED_ARG(addr_len); + return PJ_ENOTSUP; +} + +/* + * Starts asynchronous socket accept() operations on this SSL socket. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_start_accept (pj_ssl_sock_t *ssock, + pj_pool_t *pool, + const pj_sockaddr_t *local_addr, + int addr_len) +{ + PJ_UNUSED_ARG(ssock); + PJ_UNUSED_ARG(pool); + PJ_UNUSED_ARG(local_addr); + PJ_UNUSED_ARG(addr_len); + + return PJ_ENOTSUP; +} + +static void connect_cb(int err, void *key) +{ + pj_ssl_sock_t *ssock = (pj_ssl_sock_t*)key; + pj_status_t status; + + if (ssock->connect_timer) { + delete ssock->connect_timer; + ssock->connect_timer = NULL; + } + + status = (err == KErrNone)? PJ_SUCCESS : PJ_RETURN_OS_ERROR(err); + if (status == PJ_SUCCESS) { + ssock->established = PJ_TRUE; + update_certs_info(ssock); + } else { + delete ssock->sock; + ssock->sock = NULL; + if (err == KErrTimedOut) status = PJ_ETIMEDOUT; + } + + if (ssock->cb.on_connect_complete) { + pj_bool_t ret = (*ssock->cb.on_connect_complete)(ssock, status); + if (!ret) { + /* We've been destroyed */ + return; + } + } +} + +static void connect_timer_cb(void *key) +{ + connect_cb(KErrTimedOut, key); +} + +/* + * Starts asynchronous socket connect() operation and SSL/TLS handshaking + * for this socket. Once the connection is done (either successfully or not), + * the \a on_connect_complete() callback will be called. + */ +PJ_DEF(pj_status_t) pj_ssl_sock_start_connect (pj_ssl_sock_t *ssock, + pj_pool_t *pool, + const pj_sockaddr_t *localaddr, + const pj_sockaddr_t *remaddr, + int addr_len) +{ + CPjSSLSocket *sock = NULL; + pj_status_t status; + + PJ_ASSERT_RETURN(ssock && pool && localaddr && remaddr && addr_len, + PJ_EINVAL); + + /* Check connection status */ + PJ_SYMBIAN_CHECK_CONNECTION(); + + if (ssock->sock != NULL) { + CPjSSLSocket::ssl_state state = ssock->sock->GetState(); + switch (state) { + case CPjSSLSocket::SSL_STATE_ESTABLISHED: + return PJ_SUCCESS; + default: + return PJ_EPENDING; + } + } + + /* Set SSL protocol */ + TPtrC8 proto; + + if (ssock->proto == PJ_SSL_SOCK_PROTO_DEFAULT) + ssock->proto = PJ_SSL_SOCK_PROTO_TLS1; + + /* CSecureSocket only support TLS1.0 and SSL3.0 */ + if (ssock->proto & PJ_SSL_SOCK_PROTO_TLS1==PJ_SSL_SOCK_PROTO_TLS1) { + proto.Set((const TUint8*)"TLS1.0", 6); + } else if (ssock->proto & PJ_SSL_SOCK_PROTO_SSL3==PJ_SSL_SOCK_PROTO_SSL3) { + proto.Set((const TUint8*)"SSL3.0", 6); + } else { + return PJ_ENOTSUP; + } + + /* Prepare addresses */ + TInetAddr localaddr_, remaddr_; + status = PjSymbianOS::pj2Addr(*(pj_sockaddr*)localaddr, addr_len, + localaddr_); + if (status != PJ_SUCCESS) + return status; + + status = PjSymbianOS::pj2Addr(*(pj_sockaddr*)remaddr, addr_len, + remaddr_); + if (status != PJ_SUCCESS) + return status; + + pj_sockaddr_cp((pj_sockaddr_t*)&ssock->rem_addr, remaddr); + + /* Init SSL engine */ + TRAPD(err, sock = CPjSSLSocket::NewL(proto, ssock->qos_type, + ssock->qos_params)); + if (err != KErrNone) + return PJ_ENOMEM; + + if (ssock->timeout.sec != 0 || ssock->timeout.msec != 0) { + ssock->connect_timer = new CPjTimer(&ssock->timeout, + &connect_timer_cb, ssock); + } + + /* Convert server name to Symbian descriptor */ + TPtrC8 servername_((TUint8*)ssock->servername.ptr, + ssock->servername.slen); + + /* Convert cipher list to Symbian descriptor */ + TPtrC8 ciphers_((TUint8*)ssock->ciphers.ptr, + ssock->ciphers.slen); + + /* Try to connect */ + status = sock->Connect(&connect_cb, ssock, localaddr_, remaddr_, + servername_, ciphers_); + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + delete sock; + return status; + } + + ssock->sock = sock; + return status; +} + + +PJ_DEF(pj_status_t) pj_ssl_sock_renegotiate(pj_ssl_sock_t *ssock) +{ + PJ_UNUSED_ARG(ssock); + return PJ_ENOTSUP; +} diff --git a/pjlib/src/pj/string.c b/pjlib/src/pj/string.c new file mode 100644 index 0000000..decd58f --- /dev/null +++ b/pjlib/src/pj/string.c @@ -0,0 +1,253 @@ +/* $Id: string.c 4704 2014-01-16 05:30:46Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include + +#if PJ_FUNCTIONS_ARE_INLINED==0 +# include +#endif + + +PJ_DEF(char*) pj_strstr(const pj_str_t *str, const pj_str_t *substr) +{ + const char *s, *ends; + + /* Special case when substr is zero */ + if (substr->slen == 0) { + return (char*)str->ptr; + } + + s = str->ptr; + ends = str->ptr + str->slen - substr->slen; + for (; s<=ends; ++s) { + if (pj_ansi_strncmp(s, substr->ptr, substr->slen)==0) + return (char*)s; + } + return NULL; +} + + +PJ_DEF(char*) pj_stristr(const pj_str_t *str, const pj_str_t *substr) +{ + const char *s, *ends; + + /* Special case when substr is zero */ + if (substr->slen == 0) { + return (char*)str->ptr; + } + + s = str->ptr; + ends = str->ptr + str->slen - substr->slen; + for (; s<=ends; ++s) { + if (pj_ansi_strnicmp(s, substr->ptr, substr->slen)==0) + return (char*)s; + } + return NULL; +} + + +PJ_DEF(pj_str_t*) pj_strltrim( pj_str_t *str ) +{ + char *end = str->ptr + str->slen; + register char *p = str->ptr; + while (p < end && pj_isspace(*p)) + ++p; + str->slen -= (p - str->ptr); + str->ptr = p; + return str; +} + +PJ_DEF(pj_str_t*) pj_strrtrim( pj_str_t *str ) +{ + char *end = str->ptr + str->slen; + register char *p = end - 1; + while (p >= str->ptr && pj_isspace(*p)) + --p; + str->slen -= ((end - p) - 1); + return str; +} + +PJ_DEF(char*) pj_create_random_string(char *str, pj_size_t len) +{ + unsigned i; + char *p = str; + + PJ_CHECK_STACK(); + + for (i=0; i> 24, p+0 ); + pj_val_to_hex_digit( (val & 0x00FF0000) >> 16, p+2 ); + pj_val_to_hex_digit( (val & 0x0000FF00) >> 8, p+4 ); + pj_val_to_hex_digit( (val & 0x000000FF) >> 0, p+6 ); + p += 8; + } + for (i=i * 8; islen > 0 && (str->ptr[0] == '+' || str->ptr[0] == '-')) { + pj_str_t s; + + s.ptr = str->ptr + 1; + s.slen = str->slen - 1; + return (str->ptr[0] == '-'? -(long)pj_strtoul(&s) : pj_strtoul(&s)); + } else + return pj_strtoul(str); +} + +PJ_DEF(unsigned long) pj_strtoul(const pj_str_t *str) +{ + unsigned long value; + unsigned i; + + PJ_CHECK_STACK(); + + value = 0; + for (i=0; i<(unsigned)str->slen; ++i) { + if (!pj_isdigit(str->ptr[i])) + break; + value = value * 10 + (str->ptr[i] - '0'); + } + return value; +} + +PJ_DEF(unsigned long) pj_strtoul2(const pj_str_t *str, pj_str_t *endptr, + unsigned base) +{ + unsigned long value; + unsigned i; + + PJ_CHECK_STACK(); + + value = 0; + if (base <= 10) { + for (i=0; i<(unsigned)str->slen; ++i) { + unsigned c = (str->ptr[i] - '0'); + if (c >= base) + break; + value = value * base + c; + } + } else if (base == 16) { + for (i=0; i<(unsigned)str->slen; ++i) { + if (!pj_isxdigit(str->ptr[i])) + break; + value = value * 16 + pj_hex_digit_to_val(str->ptr[i]); + } + } else { + pj_assert(!"Unsupported base"); + i = 0; + value = 0xFFFFFFFFUL; + } + + if (endptr) { + endptr->ptr = str->ptr + i; + endptr->slen = str->slen - i; + } + + return value; +} + +PJ_DEF(float) pj_strtof(const pj_str_t *str) +{ + pj_str_t part; + char *pdot; + float val; + + if (str->slen == 0) + return 0; + + pdot = (char*)pj_memchr(str->ptr, '.', str->slen); + part.ptr = str->ptr; + part.slen = pdot ? pdot - str->ptr : str->slen; + + if (part.slen) + val = (float)pj_strtol(&part); + else + val = 0; + + if (pdot) { + part.ptr = pdot + 1; + part.slen = (str->ptr + str->slen - pdot - 1); + if (part.slen) { + pj_str_t endptr; + float fpart, fdiv; + int i; + fpart = (float)pj_strtoul2(&part, &endptr, 10); + fdiv = 1.0; + for (i=0; i<(part.slen - endptr.slen); ++i) + fdiv = fdiv * 10; + if (val >= 0) + val += (fpart / fdiv); + else + val -= (fpart / fdiv); + } + } + return val; +} + +PJ_DEF(int) pj_utoa(unsigned long val, char *buf) +{ + return pj_utoa_pad(val, buf, 0, 0); +} + +PJ_DEF(int) pj_utoa_pad( unsigned long val, char *buf, int min_dig, int pad) +{ + char *p; + int len; + + PJ_CHECK_STACK(); + + p = buf; + do { + unsigned long digval = (unsigned long) (val % 10); + val /= 10; + *p++ = (char) (digval + '0'); + } while (val > 0); + + len = (int)(p-buf); + while (len < min_dig) { + *p++ = (char)pad; + ++len; + } + *p-- = '\0'; + + do { + char temp = *p; + *p = *buf; + *buf = temp; + --p; + ++buf; + } while (buf < p); + + return len; +} + + diff --git a/pjlib/src/pj/symbols.c b/pjlib/src/pj/symbols.c new file mode 100644 index 0000000..61e9526 --- /dev/null +++ b/pjlib/src/pj/symbols.c @@ -0,0 +1,348 @@ +/* $Id: symbols.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include + +/* + * addr_resolv.h + */ +PJ_EXPORT_SYMBOL(pj_gethostbyname) + +/* + * array.h + */ +PJ_EXPORT_SYMBOL(pj_array_insert) +PJ_EXPORT_SYMBOL(pj_array_erase) +PJ_EXPORT_SYMBOL(pj_array_find) + +/* + * config.h + */ +PJ_EXPORT_SYMBOL(pj_dump_config) + +/* + * errno.h + */ +PJ_EXPORT_SYMBOL(pj_get_os_error) +PJ_EXPORT_SYMBOL(pj_set_os_error) +PJ_EXPORT_SYMBOL(pj_get_netos_error) +PJ_EXPORT_SYMBOL(pj_set_netos_error) +PJ_EXPORT_SYMBOL(pj_strerror) + +/* + * except.h + */ +PJ_EXPORT_SYMBOL(pj_throw_exception_) +PJ_EXPORT_SYMBOL(pj_push_exception_handler_) +PJ_EXPORT_SYMBOL(pj_pop_exception_handler_) +PJ_EXPORT_SYMBOL(pj_setjmp) +PJ_EXPORT_SYMBOL(pj_longjmp) +PJ_EXPORT_SYMBOL(pj_exception_id_alloc) +PJ_EXPORT_SYMBOL(pj_exception_id_free) +PJ_EXPORT_SYMBOL(pj_exception_id_name) + + +/* + * fifobuf.h + */ +PJ_EXPORT_SYMBOL(pj_fifobuf_init) +PJ_EXPORT_SYMBOL(pj_fifobuf_max_size) +PJ_EXPORT_SYMBOL(pj_fifobuf_alloc) +PJ_EXPORT_SYMBOL(pj_fifobuf_unalloc) +PJ_EXPORT_SYMBOL(pj_fifobuf_free) + +/* + * guid.h + */ +PJ_EXPORT_SYMBOL(pj_generate_unique_string) +PJ_EXPORT_SYMBOL(pj_create_unique_string) + +/* + * hash.h + */ +PJ_EXPORT_SYMBOL(pj_hash_calc) +PJ_EXPORT_SYMBOL(pj_hash_create) +PJ_EXPORT_SYMBOL(pj_hash_get) +PJ_EXPORT_SYMBOL(pj_hash_set) +PJ_EXPORT_SYMBOL(pj_hash_count) +PJ_EXPORT_SYMBOL(pj_hash_first) +PJ_EXPORT_SYMBOL(pj_hash_next) +PJ_EXPORT_SYMBOL(pj_hash_this) + +/* + * ioqueue.h + */ +PJ_EXPORT_SYMBOL(pj_ioqueue_create) +PJ_EXPORT_SYMBOL(pj_ioqueue_destroy) +PJ_EXPORT_SYMBOL(pj_ioqueue_set_lock) +PJ_EXPORT_SYMBOL(pj_ioqueue_register_sock) +PJ_EXPORT_SYMBOL(pj_ioqueue_unregister) +PJ_EXPORT_SYMBOL(pj_ioqueue_get_user_data) +PJ_EXPORT_SYMBOL(pj_ioqueue_poll) +PJ_EXPORT_SYMBOL(pj_ioqueue_read) +PJ_EXPORT_SYMBOL(pj_ioqueue_recv) +PJ_EXPORT_SYMBOL(pj_ioqueue_recvfrom) +PJ_EXPORT_SYMBOL(pj_ioqueue_write) +PJ_EXPORT_SYMBOL(pj_ioqueue_send) +PJ_EXPORT_SYMBOL(pj_ioqueue_sendto) +#if defined(PJ_HAS_TCP) && PJ_HAS_TCP != 0 +PJ_EXPORT_SYMBOL(pj_ioqueue_accept) +PJ_EXPORT_SYMBOL(pj_ioqueue_connect) +#endif + +/* + * list.h + */ +PJ_EXPORT_SYMBOL(pj_list_insert_before) +PJ_EXPORT_SYMBOL(pj_list_insert_nodes_before) +PJ_EXPORT_SYMBOL(pj_list_insert_after) +PJ_EXPORT_SYMBOL(pj_list_insert_nodes_after) +PJ_EXPORT_SYMBOL(pj_list_merge_first) +PJ_EXPORT_SYMBOL(pj_list_merge_last) +PJ_EXPORT_SYMBOL(pj_list_erase) +PJ_EXPORT_SYMBOL(pj_list_find_node) +PJ_EXPORT_SYMBOL(pj_list_search) + + +/* + * log.h + */ +PJ_EXPORT_SYMBOL(pj_log_write) +#if PJ_LOG_MAX_LEVEL >= 1 +PJ_EXPORT_SYMBOL(pj_log_set_log_func) +PJ_EXPORT_SYMBOL(pj_log_get_log_func) +PJ_EXPORT_SYMBOL(pj_log_set_level) +PJ_EXPORT_SYMBOL(pj_log_get_level) +PJ_EXPORT_SYMBOL(pj_log_set_decor) +PJ_EXPORT_SYMBOL(pj_log_get_decor) +PJ_EXPORT_SYMBOL(pj_log_1) +#endif +#if PJ_LOG_MAX_LEVEL >= 2 +PJ_EXPORT_SYMBOL(pj_log_2) +#endif +#if PJ_LOG_MAX_LEVEL >= 3 +PJ_EXPORT_SYMBOL(pj_log_3) +#endif +#if PJ_LOG_MAX_LEVEL >= 4 +PJ_EXPORT_SYMBOL(pj_log_4) +#endif +#if PJ_LOG_MAX_LEVEL >= 5 +PJ_EXPORT_SYMBOL(pj_log_5) +#endif +#if PJ_LOG_MAX_LEVEL >= 6 +PJ_EXPORT_SYMBOL(pj_log_6) +#endif + +/* + * os.h + */ +PJ_EXPORT_SYMBOL(pj_init) +PJ_EXPORT_SYMBOL(pj_getpid) +PJ_EXPORT_SYMBOL(pj_thread_register) +PJ_EXPORT_SYMBOL(pj_thread_create) +PJ_EXPORT_SYMBOL(pj_thread_get_name) +PJ_EXPORT_SYMBOL(pj_thread_resume) +PJ_EXPORT_SYMBOL(pj_thread_this) +PJ_EXPORT_SYMBOL(pj_thread_join) +PJ_EXPORT_SYMBOL(pj_thread_destroy) +PJ_EXPORT_SYMBOL(pj_thread_sleep) +#if defined(PJ_OS_HAS_CHECK_STACK) && PJ_OS_HAS_CHECK_STACK != 0 +PJ_EXPORT_SYMBOL(pj_thread_check_stack) +PJ_EXPORT_SYMBOL(pj_thread_get_stack_max_usage) +PJ_EXPORT_SYMBOL(pj_thread_get_stack_info) +#endif +PJ_EXPORT_SYMBOL(pj_atomic_create) +PJ_EXPORT_SYMBOL(pj_atomic_destroy) +PJ_EXPORT_SYMBOL(pj_atomic_set) +PJ_EXPORT_SYMBOL(pj_atomic_get) +PJ_EXPORT_SYMBOL(pj_atomic_inc) +PJ_EXPORT_SYMBOL(pj_atomic_dec) +PJ_EXPORT_SYMBOL(pj_thread_local_alloc) +PJ_EXPORT_SYMBOL(pj_thread_local_free) +PJ_EXPORT_SYMBOL(pj_thread_local_set) +PJ_EXPORT_SYMBOL(pj_thread_local_get) +PJ_EXPORT_SYMBOL(pj_enter_critical_section) +PJ_EXPORT_SYMBOL(pj_leave_critical_section) +PJ_EXPORT_SYMBOL(pj_mutex_create) +PJ_EXPORT_SYMBOL(pj_mutex_lock) +PJ_EXPORT_SYMBOL(pj_mutex_unlock) +PJ_EXPORT_SYMBOL(pj_mutex_trylock) +PJ_EXPORT_SYMBOL(pj_mutex_destroy) +#if defined(PJ_DEBUG) && PJ_DEBUG != 0 +PJ_EXPORT_SYMBOL(pj_mutex_is_locked) +#endif +#if defined(PJ_HAS_SEMAPHORE) && PJ_HAS_SEMAPHORE != 0 +PJ_EXPORT_SYMBOL(pj_sem_create) +PJ_EXPORT_SYMBOL(pj_sem_wait) +PJ_EXPORT_SYMBOL(pj_sem_trywait) +PJ_EXPORT_SYMBOL(pj_sem_post) +PJ_EXPORT_SYMBOL(pj_sem_destroy) +#endif +PJ_EXPORT_SYMBOL(pj_gettimeofday) +PJ_EXPORT_SYMBOL(pj_time_decode) +#if defined(PJ_HAS_HIGH_RES_TIMER) && PJ_HAS_HIGH_RES_TIMER != 0 +PJ_EXPORT_SYMBOL(pj_gettickcount) +PJ_EXPORT_SYMBOL(pj_get_timestamp) +PJ_EXPORT_SYMBOL(pj_get_timestamp_freq) +PJ_EXPORT_SYMBOL(pj_elapsed_time) +PJ_EXPORT_SYMBOL(pj_elapsed_usec) +PJ_EXPORT_SYMBOL(pj_elapsed_nanosec) +PJ_EXPORT_SYMBOL(pj_elapsed_cycle) +#endif + + +/* + * pool.h + */ +PJ_EXPORT_SYMBOL(pj_pool_create) +PJ_EXPORT_SYMBOL(pj_pool_release) +PJ_EXPORT_SYMBOL(pj_pool_getobjname) +PJ_EXPORT_SYMBOL(pj_pool_reset) +PJ_EXPORT_SYMBOL(pj_pool_get_capacity) +PJ_EXPORT_SYMBOL(pj_pool_get_used_size) +PJ_EXPORT_SYMBOL(pj_pool_alloc) +PJ_EXPORT_SYMBOL(pj_pool_calloc) +PJ_EXPORT_SYMBOL(pj_pool_factory_default_policy) +PJ_EXPORT_SYMBOL(pj_pool_create_int) +PJ_EXPORT_SYMBOL(pj_pool_init_int) +PJ_EXPORT_SYMBOL(pj_pool_destroy_int) +PJ_EXPORT_SYMBOL(pj_caching_pool_init) +PJ_EXPORT_SYMBOL(pj_caching_pool_destroy) + +/* + * rand.h + */ +PJ_EXPORT_SYMBOL(pj_rand) +PJ_EXPORT_SYMBOL(pj_srand) + +/* + * rbtree.h + */ +PJ_EXPORT_SYMBOL(pj_rbtree_init) +PJ_EXPORT_SYMBOL(pj_rbtree_first) +PJ_EXPORT_SYMBOL(pj_rbtree_last) +PJ_EXPORT_SYMBOL(pj_rbtree_next) +PJ_EXPORT_SYMBOL(pj_rbtree_prev) +PJ_EXPORT_SYMBOL(pj_rbtree_insert) +PJ_EXPORT_SYMBOL(pj_rbtree_find) +PJ_EXPORT_SYMBOL(pj_rbtree_erase) +PJ_EXPORT_SYMBOL(pj_rbtree_max_height) +PJ_EXPORT_SYMBOL(pj_rbtree_min_height) + +/* + * sock.h + */ +PJ_EXPORT_SYMBOL(PJ_AF_UNIX) +PJ_EXPORT_SYMBOL(PJ_AF_INET) +PJ_EXPORT_SYMBOL(PJ_AF_INET6) +PJ_EXPORT_SYMBOL(PJ_AF_PACKET) +PJ_EXPORT_SYMBOL(PJ_AF_IRDA) +PJ_EXPORT_SYMBOL(PJ_SOCK_STREAM) +PJ_EXPORT_SYMBOL(PJ_SOCK_DGRAM) +PJ_EXPORT_SYMBOL(PJ_SOCK_RAW) +PJ_EXPORT_SYMBOL(PJ_SOCK_RDM) +PJ_EXPORT_SYMBOL(PJ_SOL_SOCKET) +PJ_EXPORT_SYMBOL(PJ_SOL_IP) +PJ_EXPORT_SYMBOL(PJ_SOL_TCP) +PJ_EXPORT_SYMBOL(PJ_SOL_UDP) +PJ_EXPORT_SYMBOL(PJ_SOL_IPV6) +PJ_EXPORT_SYMBOL(pj_ntohs) +PJ_EXPORT_SYMBOL(pj_htons) +PJ_EXPORT_SYMBOL(pj_ntohl) +PJ_EXPORT_SYMBOL(pj_htonl) +PJ_EXPORT_SYMBOL(pj_inet_ntoa) +PJ_EXPORT_SYMBOL(pj_inet_aton) +PJ_EXPORT_SYMBOL(pj_inet_addr) +PJ_EXPORT_SYMBOL(pj_sockaddr_in_set_str_addr) +PJ_EXPORT_SYMBOL(pj_sockaddr_in_init) +PJ_EXPORT_SYMBOL(pj_gethostname) +PJ_EXPORT_SYMBOL(pj_gethostaddr) +PJ_EXPORT_SYMBOL(pj_sock_socket) +PJ_EXPORT_SYMBOL(pj_sock_close) +PJ_EXPORT_SYMBOL(pj_sock_bind) +PJ_EXPORT_SYMBOL(pj_sock_bind_in) +#if defined(PJ_HAS_TCP) && PJ_HAS_TCP != 0 +PJ_EXPORT_SYMBOL(pj_sock_listen) +PJ_EXPORT_SYMBOL(pj_sock_accept) +PJ_EXPORT_SYMBOL(pj_sock_shutdown) +#endif +PJ_EXPORT_SYMBOL(pj_sock_connect) +PJ_EXPORT_SYMBOL(pj_sock_getpeername) +PJ_EXPORT_SYMBOL(pj_sock_getsockname) +PJ_EXPORT_SYMBOL(pj_sock_getsockopt) +PJ_EXPORT_SYMBOL(pj_sock_setsockopt) +PJ_EXPORT_SYMBOL(pj_sock_recv) +PJ_EXPORT_SYMBOL(pj_sock_recvfrom) +PJ_EXPORT_SYMBOL(pj_sock_send) +PJ_EXPORT_SYMBOL(pj_sock_sendto) + +/* + * sock_select.h + */ +PJ_EXPORT_SYMBOL(PJ_FD_ZERO) +PJ_EXPORT_SYMBOL(PJ_FD_SET) +PJ_EXPORT_SYMBOL(PJ_FD_CLR) +PJ_EXPORT_SYMBOL(PJ_FD_ISSET) +PJ_EXPORT_SYMBOL(pj_sock_select) + +/* + * string.h + */ +PJ_EXPORT_SYMBOL(pj_str) +PJ_EXPORT_SYMBOL(pj_strassign) +PJ_EXPORT_SYMBOL(pj_strcpy) +PJ_EXPORT_SYMBOL(pj_strcpy2) +PJ_EXPORT_SYMBOL(pj_strdup) +PJ_EXPORT_SYMBOL(pj_strdup_with_null) +PJ_EXPORT_SYMBOL(pj_strdup2) +PJ_EXPORT_SYMBOL(pj_strdup3) +PJ_EXPORT_SYMBOL(pj_strcmp) +PJ_EXPORT_SYMBOL(pj_strcmp2) +PJ_EXPORT_SYMBOL(pj_strncmp) +PJ_EXPORT_SYMBOL(pj_strncmp2) +PJ_EXPORT_SYMBOL(pj_stricmp) +PJ_EXPORT_SYMBOL(pj_stricmp2) +PJ_EXPORT_SYMBOL(pj_strnicmp) +PJ_EXPORT_SYMBOL(pj_strnicmp2) +PJ_EXPORT_SYMBOL(pj_strcat) +PJ_EXPORT_SYMBOL(pj_strltrim) +PJ_EXPORT_SYMBOL(pj_strrtrim) +PJ_EXPORT_SYMBOL(pj_strtrim) +PJ_EXPORT_SYMBOL(pj_create_random_string) +PJ_EXPORT_SYMBOL(pj_strtoul) +PJ_EXPORT_SYMBOL(pj_utoa) +PJ_EXPORT_SYMBOL(pj_utoa_pad) + +/* + * timer.h + */ +PJ_EXPORT_SYMBOL(pj_timer_heap_mem_size) +PJ_EXPORT_SYMBOL(pj_timer_heap_create) +PJ_EXPORT_SYMBOL(pj_timer_entry_init) +PJ_EXPORT_SYMBOL(pj_timer_heap_schedule) +PJ_EXPORT_SYMBOL(pj_timer_heap_cancel) +PJ_EXPORT_SYMBOL(pj_timer_heap_count) +PJ_EXPORT_SYMBOL(pj_timer_heap_earliest_time) +PJ_EXPORT_SYMBOL(pj_timer_heap_poll) + +/* + * types.h + */ +PJ_EXPORT_SYMBOL(pj_time_val_normalize) + diff --git a/pjlib/src/pj/timer.c b/pjlib/src/pj/timer.c new file mode 100644 index 0000000..7fd08fa --- /dev/null +++ b/pjlib/src/pj/timer.c @@ -0,0 +1,724 @@ +/* $Id: timer.c 4855 2014-06-04 09:23:10Z bennylp $ */ +/* + * The PJLIB's timer heap is based (or more correctly, copied and modied) + * from ACE library by Douglas C. Schmidt. ACE is an excellent OO framework + * that implements many core patterns for concurrent communication software. + * If you're looking for C++ alternative of PJLIB, then ACE is your best + * solution. + * + * You may use this file according to ACE open source terms or PJLIB open + * source terms. You can find the fine ACE library at: + * http://www.cs.wustl.edu/~schmidt/ACE.html + * + * ACE is Copyright (C)1993-2006 Douglas C. Schmidt + * + * GNU Public License: + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define THIS_FILE "timer.c" + +#define HEAP_PARENT(X) (X == 0 ? 0 : (((X) - 1) / 2)) +#define HEAP_LEFT(X) (((X)+(X))+1) + + +#define DEFAULT_MAX_TIMED_OUT_PER_POLL (64) + +enum +{ + F_DONT_CALL = 1, + F_DONT_ASSERT = 2, + F_SET_ID = 4 +}; + + +/** + * The implementation of timer heap. + */ +struct pj_timer_heap_t +{ + /** Pool from which the timer heap resize will get the storage from */ + pj_pool_t *pool; + + /** Maximum size of the heap. */ + pj_size_t max_size; + + /** Current size of the heap. */ + pj_size_t cur_size; + + /** Max timed out entries to process per poll. */ + unsigned max_entries_per_poll; + + /** Lock object. */ + pj_lock_t *lock; + + /** Autodelete lock. */ + pj_bool_t auto_delete_lock; + + /** + * Current contents of the Heap, which is organized as a "heap" of + * pj_timer_entry *'s. In this context, a heap is a "partially + * ordered, almost complete" binary tree, which is stored in an + * array. + */ + pj_timer_entry **heap; + + /** + * An array of "pointers" that allows each pj_timer_entry in the + * to be located in O(1) time. Basically, + * contains the slot in the array where an pj_timer_entry + * with timer id resides. Thus, the timer id passed back from + * is really an slot into the array. The + * array serves two purposes: negative values are + * treated as "pointers" for the , whereas positive + * values are treated as "pointers" into the array. + */ + pj_timer_id_t *timer_ids; + + /** + * "Pointer" to the first element in the freelist contained within + * the array, which is organized as a stack. + */ + pj_timer_id_t timer_ids_freelist; + + /** Callback to be called when a timer expires. */ + pj_timer_heap_callback *callback; + +}; + + + +PJ_INLINE(void) lock_timer_heap( pj_timer_heap_t *ht ) +{ + if (ht->lock) { + pj_lock_acquire(ht->lock); + } +} + +PJ_INLINE(void) unlock_timer_heap( pj_timer_heap_t *ht ) +{ + if (ht->lock) { + pj_lock_release(ht->lock); + } +} + + +static void copy_node( pj_timer_heap_t *ht, pj_size_t slot, + pj_timer_entry *moved_node ) +{ + PJ_CHECK_STACK(); + + // Insert into its new location in the heap. + ht->heap[slot] = moved_node; + + // Update the corresponding slot in the parallel array. + ht->timer_ids[moved_node->_timer_id] = (int)slot; +} + +static pj_timer_id_t pop_freelist( pj_timer_heap_t *ht ) +{ + // We need to truncate this to for backwards compatibility. + pj_timer_id_t new_id = ht->timer_ids_freelist; + + PJ_CHECK_STACK(); + + // The freelist values in the are negative, so we need + // to negate them to get the next freelist "pointer." + ht->timer_ids_freelist = + -ht->timer_ids[ht->timer_ids_freelist]; + + return new_id; + +} + +static void push_freelist (pj_timer_heap_t *ht, pj_timer_id_t old_id) +{ + PJ_CHECK_STACK(); + + // The freelist values in the are negative, so we need + // to negate them to get the next freelist "pointer." + ht->timer_ids[old_id] = -ht->timer_ids_freelist; + ht->timer_ids_freelist = old_id; +} + + +static void reheap_down(pj_timer_heap_t *ht, pj_timer_entry *moved_node, + size_t slot, size_t child) +{ + PJ_CHECK_STACK(); + + // Restore the heap property after a deletion. + + while (child < ht->cur_size) + { + // Choose the smaller of the two children. + if (child + 1 < ht->cur_size + && PJ_TIME_VAL_LT(ht->heap[child + 1]->_timer_value, ht->heap[child]->_timer_value)) + child++; + + // Perform a if the child has a larger timeout value than + // the . + if (PJ_TIME_VAL_LT(ht->heap[child]->_timer_value, moved_node->_timer_value)) + { + copy_node( ht, slot, ht->heap[child]); + slot = child; + child = HEAP_LEFT(child); + } + else + // We've found our location in the heap. + break; + } + + copy_node( ht, slot, moved_node); +} + +static void reheap_up( pj_timer_heap_t *ht, pj_timer_entry *moved_node, + size_t slot, size_t parent) +{ + // Restore the heap property after an insertion. + + while (slot > 0) + { + // If the parent node is greater than the we need + // to copy it down. + if (PJ_TIME_VAL_LT(moved_node->_timer_value, ht->heap[parent]->_timer_value)) + { + copy_node(ht, slot, ht->heap[parent]); + slot = parent; + parent = HEAP_PARENT(slot); + } + else + break; + } + + // Insert the new node into its proper resting place in the heap and + // update the corresponding slot in the parallel array. + copy_node(ht, slot, moved_node); +} + + +static pj_timer_entry * remove_node( pj_timer_heap_t *ht, size_t slot) +{ + pj_timer_entry *removed_node = ht->heap[slot]; + + // Return this timer id to the freelist. + push_freelist( ht, removed_node->_timer_id ); + + // Decrement the size of the heap by one since we're removing the + // "slot"th node. + ht->cur_size--; + + // Set the ID + removed_node->_timer_id = -1; + + // Only try to reheapify if we're not deleting the last entry. + + if (slot < ht->cur_size) + { + pj_size_t parent; + pj_timer_entry *moved_node = ht->heap[ht->cur_size]; + + // Move the end node to the location being removed and update + // the corresponding slot in the parallel array. + copy_node( ht, slot, moved_node); + + // If the time_value_> is great than or equal its + // parent it needs be moved down the heap. + parent = HEAP_PARENT (slot); + + if (PJ_TIME_VAL_GTE(moved_node->_timer_value, ht->heap[parent]->_timer_value)) + reheap_down( ht, moved_node, slot, HEAP_LEFT(slot)); + else + reheap_up( ht, moved_node, slot, parent); + } + + return removed_node; +} + +static void grow_heap(pj_timer_heap_t *ht) +{ + // All the containers will double in size from max_size_ + size_t new_size = ht->max_size * 2; + pj_timer_id_t *new_timer_ids; + pj_size_t i; + + // First grow the heap itself. + + pj_timer_entry **new_heap = 0; + + new_heap = (pj_timer_entry**) + pj_pool_alloc(ht->pool, sizeof(pj_timer_entry*) * new_size); + memcpy(new_heap, ht->heap, ht->max_size * sizeof(pj_timer_entry*)); + //delete [] this->heap_; + ht->heap = new_heap; + + // Grow the array of timer ids. + + new_timer_ids = 0; + new_timer_ids = (pj_timer_id_t*) + pj_pool_alloc(ht->pool, new_size * sizeof(pj_timer_id_t)); + + memcpy( new_timer_ids, ht->timer_ids, ht->max_size * sizeof(pj_timer_id_t)); + + //delete [] timer_ids_; + ht->timer_ids = new_timer_ids; + + // And add the new elements to the end of the "freelist". + for (i = ht->max_size; i < new_size; i++) + ht->timer_ids[i] = -((pj_timer_id_t) (i + 1)); + + ht->max_size = new_size; +} + +static void insert_node(pj_timer_heap_t *ht, pj_timer_entry *new_node) +{ + if (ht->cur_size + 2 >= ht->max_size) + grow_heap(ht); + + reheap_up( ht, new_node, ht->cur_size, HEAP_PARENT(ht->cur_size)); + ht->cur_size++; +} + + +static pj_status_t schedule_entry( pj_timer_heap_t *ht, + pj_timer_entry *entry, + const pj_time_val *future_time ) +{ + if (ht->cur_size < ht->max_size) + { + // Obtain the next unique sequence number. + // Set the entry + entry->_timer_id = pop_freelist(ht); + entry->_timer_value = *future_time; + insert_node( ht, entry); + return 0; + } + else + return -1; +} + + +static int cancel( pj_timer_heap_t *ht, + pj_timer_entry *entry, + unsigned flags) +{ + long timer_node_slot; + + PJ_CHECK_STACK(); + + // Check to see if the timer_id is out of range + if (entry->_timer_id < 0 || (pj_size_t)entry->_timer_id > ht->max_size) { + entry->_timer_id = -1; + return 0; + } + + timer_node_slot = ht->timer_ids[entry->_timer_id]; + + if (timer_node_slot < 0) { // Check to see if timer_id is still valid. + entry->_timer_id = -1; + return 0; + } + + if (entry != ht->heap[timer_node_slot]) + { + if ((flags & F_DONT_ASSERT) == 0) + pj_assert(entry == ht->heap[timer_node_slot]); + entry->_timer_id = -1; + return 0; + } + else + { + remove_node( ht, timer_node_slot); + + if ((flags & F_DONT_CALL) == 0) + // Call the close hook. + (*ht->callback)(ht, entry); + return 1; + } +} + + +/* + * Calculate memory size required to create a timer heap. + */ +PJ_DEF(pj_size_t) pj_timer_heap_mem_size(pj_size_t count) +{ + return /* size of the timer heap itself: */ + sizeof(pj_timer_heap_t) + + /* size of each entry: */ + (count+2) * (sizeof(pj_timer_entry*)+sizeof(pj_timer_id_t)) + + /* lock, pool etc: */ + 132; +} + +/* + * Create a new timer heap. + */ +PJ_DEF(pj_status_t) pj_timer_heap_create( pj_pool_t *pool, + pj_size_t size, + pj_timer_heap_t **p_heap) +{ + pj_timer_heap_t *ht; + pj_size_t i; + + PJ_ASSERT_RETURN(pool && p_heap, PJ_EINVAL); + + *p_heap = NULL; + + /* Magic? */ + size += 2; + + /* Allocate timer heap data structure from the pool */ + ht = PJ_POOL_ALLOC_T(pool, pj_timer_heap_t); + if (!ht) + return PJ_ENOMEM; + + /* Initialize timer heap sizes */ + ht->max_size = size; + ht->cur_size = 0; + ht->max_entries_per_poll = DEFAULT_MAX_TIMED_OUT_PER_POLL; + ht->timer_ids_freelist = 1; + ht->pool = pool; + + /* Lock. */ + ht->lock = NULL; + ht->auto_delete_lock = 0; + + // Create the heap array. + ht->heap = (pj_timer_entry**) + pj_pool_alloc(pool, sizeof(pj_timer_entry*) * size); + if (!ht->heap) + return PJ_ENOMEM; + + // Create the parallel + ht->timer_ids = (pj_timer_id_t *) + pj_pool_alloc( pool, sizeof(pj_timer_id_t) * size); + if (!ht->timer_ids) + return PJ_ENOMEM; + + // Initialize the "freelist," which uses negative values to + // distinguish freelist elements from "pointers" into the + // array. + for (i=0; itimer_ids[i] = -((pj_timer_id_t) (i + 1)); + + *p_heap = ht; + return PJ_SUCCESS; +} + +PJ_DEF(void) pj_timer_heap_destroy( pj_timer_heap_t *ht ) +{ + if (ht->lock && ht->auto_delete_lock) { + pj_lock_destroy(ht->lock); + ht->lock = NULL; + } +} + +PJ_DEF(void) pj_timer_heap_set_lock( pj_timer_heap_t *ht, + pj_lock_t *lock, + pj_bool_t auto_del ) +{ + if (ht->lock && ht->auto_delete_lock) + pj_lock_destroy(ht->lock); + + ht->lock = lock; + ht->auto_delete_lock = auto_del; +} + + +PJ_DEF(unsigned) pj_timer_heap_set_max_timed_out_per_poll(pj_timer_heap_t *ht, + unsigned count ) +{ + unsigned old_count = ht->max_entries_per_poll; + ht->max_entries_per_poll = count; + return old_count; +} + +PJ_DEF(pj_timer_entry*) pj_timer_entry_init( pj_timer_entry *entry, + int id, + void *user_data, + pj_timer_heap_callback *cb ) +{ + pj_assert(entry && cb); + + entry->_timer_id = -1; + entry->id = id; + entry->user_data = user_data; + entry->cb = cb; + entry->_grp_lock = NULL; + + return entry; +} + +PJ_DEF(pj_bool_t) pj_timer_entry_running( pj_timer_entry *entry ) +{ + return (entry->_timer_id >= 1); +} + +#if PJ_TIMER_DEBUG +static pj_status_t schedule_w_grp_lock_dbg(pj_timer_heap_t *ht, + pj_timer_entry *entry, + const pj_time_val *delay, + pj_bool_t set_id, + int id_val, + pj_grp_lock_t *grp_lock, + const char *src_file, + int src_line) +#else +static pj_status_t schedule_w_grp_lock(pj_timer_heap_t *ht, + pj_timer_entry *entry, + const pj_time_val *delay, + pj_bool_t set_id, + int id_val, + pj_grp_lock_t *grp_lock) +#endif +{ + pj_status_t status; + pj_time_val expires; + + PJ_ASSERT_RETURN(ht && entry && delay, PJ_EINVAL); + PJ_ASSERT_RETURN(entry->cb != NULL, PJ_EINVAL); + + /* Prevent same entry from being scheduled more than once */ + PJ_ASSERT_RETURN(entry->_timer_id < 1, PJ_EINVALIDOP); + +#if PJ_TIMER_DEBUG + entry->src_file = src_file; + entry->src_line = src_line; +#endif + pj_gettickcount(&expires); + PJ_TIME_VAL_ADD(expires, *delay); + + lock_timer_heap(ht); + status = schedule_entry(ht, entry, &expires); + if (status == PJ_SUCCESS) { + if (set_id) + entry->id = id_val; + entry->_grp_lock = grp_lock; + if (entry->_grp_lock) { + pj_grp_lock_add_ref(entry->_grp_lock); + } + } + unlock_timer_heap(ht); + + return status; +} + + +#if PJ_TIMER_DEBUG +PJ_DEF(pj_status_t) pj_timer_heap_schedule_dbg( pj_timer_heap_t *ht, + pj_timer_entry *entry, + const pj_time_val *delay, + const char *src_file, + int src_line) +{ + return schedule_w_grp_lock_dbg(ht, entry, delay, PJ_FALSE, 1, NULL, + src_file, src_line); +} + +PJ_DEF(pj_status_t) pj_timer_heap_schedule_w_grp_lock_dbg( + pj_timer_heap_t *ht, + pj_timer_entry *entry, + const pj_time_val *delay, + int id_val, + pj_grp_lock_t *grp_lock, + const char *src_file, + int src_line) +{ + return schedule_w_grp_lock_dbg(ht, entry, delay, PJ_TRUE, id_val, + grp_lock, src_file, src_line); +} + +#else +PJ_DEF(pj_status_t) pj_timer_heap_schedule( pj_timer_heap_t *ht, + pj_timer_entry *entry, + const pj_time_val *delay) +{ + return schedule_w_grp_lock(ht, entry, delay, PJ_FALSE, 1, NULL); +} + +PJ_DEF(pj_status_t) pj_timer_heap_schedule_w_grp_lock(pj_timer_heap_t *ht, + pj_timer_entry *entry, + const pj_time_val *delay, + int id_val, + pj_grp_lock_t *grp_lock) +{ + return schedule_w_grp_lock(ht, entry, delay, PJ_TRUE, id_val, grp_lock); +} +#endif + +static int cancel_timer(pj_timer_heap_t *ht, + pj_timer_entry *entry, + unsigned flags, + int id_val) +{ + int count; + + PJ_ASSERT_RETURN(ht && entry, PJ_EINVAL); + + lock_timer_heap(ht); + count = cancel(ht, entry, flags | F_DONT_CALL); + if (flags & F_SET_ID) { + entry->id = id_val; + } + if (entry->_grp_lock) { + pj_grp_lock_t *grp_lock = entry->_grp_lock; + entry->_grp_lock = NULL; + pj_grp_lock_dec_ref(grp_lock); + } + unlock_timer_heap(ht); + + return count; +} + +PJ_DEF(int) pj_timer_heap_cancel( pj_timer_heap_t *ht, + pj_timer_entry *entry) +{ + return cancel_timer(ht, entry, 0, 0); +} + +PJ_DEF(int) pj_timer_heap_cancel_if_active(pj_timer_heap_t *ht, + pj_timer_entry *entry, + int id_val) +{ + return cancel_timer(ht, entry, F_SET_ID | F_DONT_ASSERT, id_val); +} + +PJ_DEF(unsigned) pj_timer_heap_poll( pj_timer_heap_t *ht, + pj_time_val *next_delay ) +{ + pj_time_val now; + unsigned count; + + PJ_ASSERT_RETURN(ht, 0); + + lock_timer_heap(ht); + if (!ht->cur_size && next_delay) { + next_delay->sec = next_delay->msec = PJ_MAXINT32; + unlock_timer_heap(ht); + return 0; + } + + count = 0; + pj_gettickcount(&now); + + while ( ht->cur_size && + PJ_TIME_VAL_LTE(ht->heap[0]->_timer_value, now) && + count < ht->max_entries_per_poll ) + { + pj_timer_entry *node = remove_node(ht, 0); + pj_grp_lock_t *grp_lock; + + ++count; + + grp_lock = node->_grp_lock; + node->_grp_lock = NULL; + + unlock_timer_heap(ht); + + PJ_RACE_ME(5); + + if (node->cb) + (*node->cb)(ht, node); + + if (grp_lock) + pj_grp_lock_dec_ref(grp_lock); + + lock_timer_heap(ht); + } + if (ht->cur_size && next_delay) { + *next_delay = ht->heap[0]->_timer_value; + PJ_TIME_VAL_SUB(*next_delay, now); + if (next_delay->sec < 0 || next_delay->msec < 0) + next_delay->sec = next_delay->msec = 0; + } else if (next_delay) { + next_delay->sec = next_delay->msec = PJ_MAXINT32; + } + unlock_timer_heap(ht); + + return count; +} + +PJ_DEF(pj_size_t) pj_timer_heap_count( pj_timer_heap_t *ht ) +{ + PJ_ASSERT_RETURN(ht, 0); + + return ht->cur_size; +} + +PJ_DEF(pj_status_t) pj_timer_heap_earliest_time( pj_timer_heap_t * ht, + pj_time_val *timeval) +{ + pj_assert(ht->cur_size != 0); + if (ht->cur_size == 0) + return PJ_ENOTFOUND; + + lock_timer_heap(ht); + *timeval = ht->heap[0]->_timer_value; + unlock_timer_heap(ht); + + return PJ_SUCCESS; +} + +#if PJ_TIMER_DEBUG +PJ_DEF(void) pj_timer_heap_dump(pj_timer_heap_t *ht) +{ + lock_timer_heap(ht); + + PJ_LOG(3,(THIS_FILE, "Dumping timer heap:")); + PJ_LOG(3,(THIS_FILE, " Cur size: %d entries, max: %d", + (int)ht->cur_size, (int)ht->max_size)); + + if (ht->cur_size) { + unsigned i; + pj_time_val now; + + PJ_LOG(3,(THIS_FILE, " Entries: ")); + PJ_LOG(3,(THIS_FILE, " _id\tId\tElapsed\tSource")); + PJ_LOG(3,(THIS_FILE, " ----------------------------------")); + + pj_gettickcount(&now); + + for (i=0; i<(unsigned)ht->cur_size; ++i) { + pj_timer_entry *e = ht->heap[i]; + pj_time_val delta; + + if (PJ_TIME_VAL_LTE(e->_timer_value, now)) + delta.sec = delta.msec = 0; + else { + delta = e->_timer_value; + PJ_TIME_VAL_SUB(delta, now); + } + + PJ_LOG(3,(THIS_FILE, " %d\t%d\t%d.%03d\t%s:%d", + e->_timer_id, e->id, + (int)delta.sec, (int)delta.msec, + e->src_file, e->src_line)); + } + } + + unlock_timer_heap(ht); +} +#endif + diff --git a/pjlib/src/pj/timer_symbian.cpp b/pjlib/src/pj/timer_symbian.cpp new file mode 100644 index 0000000..8b18525 --- /dev/null +++ b/pjlib/src/pj/timer_symbian.cpp @@ -0,0 +1,475 @@ +/* $Id: timer_symbian.cpp 4374 2013-02-27 07:15:57Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include + +#include "os_symbian.h" + + +#define DEFAULT_MAX_TIMED_OUT_PER_POLL (64) + +// Maximum number of miliseconds that RTimer.At() supports +#define MAX_RTIMER_INTERVAL 2147 + +/* Absolute maximum number of timer entries */ +#ifndef PJ_SYMBIAN_TIMER_MAX_COUNT +# define PJ_SYMBIAN_TIMER_MAX_COUNT 65535 +#endif + +/* Get the number of free slots in the timer heap */ +#define FREECNT(th) (th->max_size - th->cur_size) + +// Forward declaration +class CPjTimerEntry; + +/** + * The implementation of timer heap. + */ +struct pj_timer_heap_t +{ + /** Maximum size of the heap. */ + pj_size_t max_size; + + /** Current size of the heap. */ + pj_size_t cur_size; + + /** Array of timer entries. A scheduled timer will occupy one slot, and + * the slot number will be saved in entry->_timer_id + */ + CPjTimerEntry **entries; + + /** Array of free slot indexes in the "entries" array */ + int *free_slots; +}; + +/** + * Active object for each timer entry. + */ +class CPjTimerEntry : public CActive +{ +public: + pj_timer_entry *entry_; + + static CPjTimerEntry* NewL( pj_timer_heap_t *timer_heap, + pj_timer_entry *entry, + const pj_time_val *delay); + + ~CPjTimerEntry(); + + virtual void RunL(); + virtual void DoCancel(); + +private: + pj_timer_heap_t *timer_heap_; + RTimer rtimer_; + pj_uint32_t interval_left_; + + CPjTimerEntry(pj_timer_heap_t *timer_heap, pj_timer_entry *entry); + void ConstructL(const pj_time_val *delay); + void Schedule(); +}; + +////////////////////////////////////////////////////////////////////////////// +/* + * Implementation. + */ + +/* Grow timer heap to the specified size */ +static pj_status_t realloc_timer_heap(pj_timer_heap_t *th, pj_size_t new_size) +{ + typedef CPjTimerEntry *entry_ptr; + CPjTimerEntry **entries = NULL; + int *free_slots = NULL; + unsigned i, j; + + if (new_size > PJ_SYMBIAN_TIMER_MAX_COUNT) { + /* Just some sanity limit */ + new_size = PJ_SYMBIAN_TIMER_MAX_COUNT; + if (new_size <= th->max_size) { + /* We've grown large enough */ + pj_assert(!"Too many timer heap entries"); + return PJ_ETOOMANY; + } + } + + /* Allocate entries, move entries from the old array if there is one */ + entries = new entry_ptr[new_size]; + if (th->entries) { + pj_memcpy(entries, th->entries, th->max_size * sizeof(th->entries[0])); + } + /* Initialize the remaining new area */ + pj_bzero(&entries[th->max_size], + (new_size - th->max_size) * sizeof(th->entries[0])); + + /* Allocate free slots array */ + free_slots = new int[new_size]; + if (th->free_slots) { + pj_memcpy(free_slots, th->free_slots, + FREECNT(th) * sizeof(th->free_slots[0])); + } + /* Initialize the remaining new area */ + for (i=FREECNT(th), j=th->max_size; jentries; + th->entries = entries; + th->max_size = new_size; + delete [] th->free_slots; + th->free_slots = free_slots; + + return PJ_SUCCESS; +} + +/* Allocate and register an entry to timer heap for newly scheduled entry */ +static pj_status_t add_entry(pj_timer_heap_t *th, CPjTimerEntry *entry) +{ + pj_status_t status; + int slot; + + /* Check that there's still capacity left in the timer heap */ + if (FREECNT(th) < 1) { + // Grow the timer heap twice the capacity + status = realloc_timer_heap(th, th->max_size * 2); + if (status != PJ_SUCCESS) + return status; + } + + /* Allocate one free slot. Use LIFO */ + slot = th->free_slots[FREECNT(th)-1]; + PJ_ASSERT_RETURN((slot >= 0) && (slot < (int)th->max_size) && + (th->entries[slot]==NULL), PJ_EBUG); + + th->free_slots[FREECNT(th)-1] = -1; + th->entries[slot] = entry; + entry->entry_->_timer_id = slot; + ++th->cur_size; + + return PJ_SUCCESS; +} + +/* Free a slot when an entry's timer has elapsed or cancel */ +static pj_status_t remove_entry(pj_timer_heap_t *th, CPjTimerEntry *entry) +{ + int slot = entry->entry_->_timer_id; + + PJ_ASSERT_RETURN(slot >= 0 && slot < (int)th->max_size, PJ_EBUG); + PJ_ASSERT_RETURN(FREECNT(th) < th->max_size, PJ_EBUG); + PJ_ASSERT_RETURN(th->entries[slot]==entry, PJ_EBUG); + PJ_ASSERT_RETURN(th->free_slots[FREECNT(th)]==-1, PJ_EBUG); + + th->entries[slot] = NULL; + th->free_slots[FREECNT(th)] = slot; + entry->entry_->_timer_id = -1; + --th->cur_size; + + return PJ_SUCCESS; +} + + +CPjTimerEntry::CPjTimerEntry(pj_timer_heap_t *timer_heap, + pj_timer_entry *entry) +: CActive(PJ_SYMBIAN_TIMER_PRIORITY), entry_(entry), timer_heap_(timer_heap), + interval_left_(0) +{ +} + +CPjTimerEntry::~CPjTimerEntry() +{ + Cancel(); + rtimer_.Close(); +} + +void CPjTimerEntry::Schedule() +{ + pj_int32_t interval; + + if (interval_left_ > MAX_RTIMER_INTERVAL) { + interval = MAX_RTIMER_INTERVAL; + } else { + interval = interval_left_; + } + + interval_left_ -= interval; + rtimer_.After(iStatus, interval * 1000); + SetActive(); +} + +void CPjTimerEntry::ConstructL(const pj_time_val *delay) +{ + rtimer_.CreateLocal(); + CActiveScheduler::Add(this); + + interval_left_ = PJ_TIME_VAL_MSEC(*delay); + Schedule(); +} + +CPjTimerEntry* CPjTimerEntry::NewL(pj_timer_heap_t *timer_heap, + pj_timer_entry *entry, + const pj_time_val *delay) +{ + CPjTimerEntry *self = new CPjTimerEntry(timer_heap, entry); + CleanupStack::PushL(self); + self->ConstructL(delay); + CleanupStack::Pop(self); + + return self; +} + +void CPjTimerEntry::RunL() +{ + if (interval_left_ > 0) { + Schedule(); + return; + } + + remove_entry(timer_heap_, this); + entry_->cb(timer_heap_, entry_); + + // Finger's crossed! + delete this; +} + +void CPjTimerEntry::DoCancel() +{ + /* It's possible that _timer_id is -1, see schedule(). In this case, + * the entry has not been added to the timer heap, so don't remove + * it. + */ + if (entry_ && entry_->_timer_id != -1) + remove_entry(timer_heap_, this); + + rtimer_.Cancel(); +} + + +////////////////////////////////////////////////////////////////////////////// + + +/* + * Calculate memory size required to create a timer heap. + */ +PJ_DEF(pj_size_t) pj_timer_heap_mem_size(pj_size_t count) +{ + return /* size of the timer heap itself: */ + sizeof(pj_timer_heap_t) + + /* size of each entry: */ + (count+2) * (sizeof(void*)+sizeof(int)) + + /* lock, pool etc: */ + 132; +} + +/* + * Create a new timer heap. + */ +PJ_DEF(pj_status_t) pj_timer_heap_create( pj_pool_t *pool, + pj_size_t size, + pj_timer_heap_t **p_heap) +{ + pj_timer_heap_t *ht; + pj_status_t status; + + PJ_ASSERT_RETURN(pool && p_heap, PJ_EINVAL); + + *p_heap = NULL; + + /* Allocate timer heap data structure from the pool */ + ht = PJ_POOL_ZALLOC_T(pool, pj_timer_heap_t); + if (!ht) + return PJ_ENOMEM; + + /* Allocate slots */ + status = realloc_timer_heap(ht, size); + if (status != PJ_SUCCESS) + return status; + + *p_heap = ht; + return PJ_SUCCESS; +} + +PJ_DEF(void) pj_timer_heap_destroy( pj_timer_heap_t *ht ) +{ + /* Cancel and delete pending active objects */ + if (ht->entries) { + unsigned i; + for (i=0; imax_size; ++i) { + if (ht->entries[i]) { + ht->entries[i]->entry_ = NULL; + ht->entries[i]->Cancel(); + delete ht->entries[i]; + ht->entries[i] = NULL; + } + } + } + + delete [] ht->entries; + delete [] ht->free_slots; + + ht->entries = NULL; + ht->free_slots = NULL; +} + +PJ_DEF(void) pj_timer_heap_set_lock( pj_timer_heap_t *ht, + pj_lock_t *lock, + pj_bool_t auto_del ) +{ + PJ_UNUSED_ARG(ht); + if (auto_del) + pj_lock_destroy(lock); +} + + +PJ_DEF(unsigned) pj_timer_heap_set_max_timed_out_per_poll(pj_timer_heap_t *ht, + unsigned count ) +{ + /* Not applicable */ + PJ_UNUSED_ARG(count); + return ht->max_size; +} + +PJ_DEF(pj_timer_entry*) pj_timer_entry_init( pj_timer_entry *entry, + int id, + void *user_data, + pj_timer_heap_callback *cb ) +{ + pj_assert(entry && cb); + + entry->_timer_id = -1; + entry->id = id; + entry->user_data = user_data; + entry->cb = cb; + + return entry; +} + +PJ_DEF(pj_status_t) pj_timer_heap_schedule( pj_timer_heap_t *ht, + pj_timer_entry *entry, + const pj_time_val *delay) +{ + CPjTimerEntry *timerObj; + pj_status_t status; + + PJ_ASSERT_RETURN(ht && entry && delay, PJ_EINVAL); + PJ_ASSERT_RETURN(entry->cb != NULL, PJ_EINVAL); + + /* Prevent same entry from being scheduled more than once */ + PJ_ASSERT_RETURN(entry->_timer_id < 1, PJ_EINVALIDOP); + + entry->_timer_id = -1; + + timerObj = CPjTimerEntry::NewL(ht, entry, delay); + status = add_entry(ht, timerObj); + if (status != PJ_SUCCESS) { + timerObj->Cancel(); + delete timerObj; + return status; + } + + return PJ_SUCCESS; +} + +PJ_DEF(pj_status_t) pj_timer_heap_schedule_w_grp_lock(pj_timer_heap_t *ht, + pj_timer_entry *entry, + const pj_time_val *delay, + int id_val, + pj_grp_lock_t *grp_lock) +{ + pj_status_t status; + + PJ_UNUSED_ARG(grp_lock); + + status = pj_timer_heap_schedule(ht, entry, delay); + + if (status == PJ_SUCCESS) + entry->id = id_val; + + return status; +} + +PJ_DEF(int) pj_timer_heap_cancel( pj_timer_heap_t *ht, + pj_timer_entry *entry) +{ + PJ_ASSERT_RETURN(ht && entry, PJ_EINVAL); + + if (entry->_timer_id >= 0 && entry->_timer_id < (int)ht->max_size) { + CPjTimerEntry *timerObj = ht->entries[entry->_timer_id]; + if (timerObj) { + timerObj->Cancel(); + delete timerObj; + return 1; + } else { + return 0; + } + } else { + return 0; + } +} + +PJ_DEF(int) pj_timer_heap_cancel_if_active(pj_timer_heap_t *ht, + pj_timer_entry *entry, + int id_val) +{ + int count = pj_timer_heap_cancel(ht, entry); + if (count == 1) + entry->id = id_val; + + return count; +} + +PJ_DEF(unsigned) pj_timer_heap_poll( pj_timer_heap_t *ht, + pj_time_val *next_delay ) +{ + /* Polling is not necessary on Symbian, since all async activities + * are registered to active scheduler. + */ + PJ_UNUSED_ARG(ht); + if (next_delay) { + next_delay->sec = 1; + next_delay->msec = 0; + } + return 0; +} + +PJ_DEF(pj_size_t) pj_timer_heap_count( pj_timer_heap_t *ht ) +{ + PJ_ASSERT_RETURN(ht, 0); + + return ht->cur_size; +} + +PJ_DEF(pj_status_t) pj_timer_heap_earliest_time( pj_timer_heap_t * ht, + pj_time_val *timeval) +{ + /* We don't support this! */ + PJ_UNUSED_ARG(ht); + + timeval->sec = 1; + timeval->msec = 0; + + return PJ_SUCCESS; +} + diff --git a/pjlib/src/pj/types.c b/pjlib/src/pj/types.c new file mode 100644 index 0000000..212afcf --- /dev/null +++ b/pjlib/src/pj/types.c @@ -0,0 +1,46 @@ +/* $Id: types.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include + +PJ_DEF(void) pj_time_val_normalize(pj_time_val *t) +{ + PJ_CHECK_STACK(); + + if (t->msec >= 1000) { + t->sec += (t->msec / 1000); + t->msec = (t->msec % 1000); + } + else if (t->msec <= -1000) { + do { + t->sec--; + t->msec += 1000; + } while (t->msec <= -1000); + } + + if (t->sec >= 1 && t->msec < 0) { + t->sec--; + t->msec += 1000; + + } else if (t->sec < 0 && t->msec > 0) { + t->sec++; + t->msec -= 1000; + } +} diff --git a/pjlib/src/pj/unicode_symbian.cpp b/pjlib/src/pj/unicode_symbian.cpp new file mode 100644 index 0000000..be109e7 --- /dev/null +++ b/pjlib/src/pj/unicode_symbian.cpp @@ -0,0 +1,76 @@ +/* $Id: unicode_symbian.cpp 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include + +#include "os_symbian.h" + + +/* + * Convert ANSI strings to Unicode strings. + */ +PJ_DEF(wchar_t*) pj_ansi_to_unicode( const char *str, pj_size_t len, + wchar_t *wbuf, pj_size_t wbuf_count) +{ + TPtrC8 aForeign((const TUint8*)str, (TInt)len); + TPtr16 aUnicode((TUint16*)wbuf, (TInt)(wbuf_count-1)); + TInt left; + + left = PjSymbianOS::Instance()->ConvertToUnicode(aUnicode, aForeign); + + if (left != 0) { + // Error, or there are unconvertable characters + *wbuf = 0; + } else { + if (len < wbuf_count) + wbuf[len] = 0; + else + wbuf[len-1] = 0; + } + + return wbuf; +} + + +/* + * Convert Unicode string to ANSI string. + */ +PJ_DEF(char*) pj_unicode_to_ansi( const wchar_t *wstr, pj_size_t len, + char *buf, pj_size_t buf_size) +{ + TPtrC16 aUnicode((const TUint16*)wstr, (TInt)len); + TPtr8 aForeign((TUint8*)buf, (TInt)(buf_size-1)); + TInt left; + + left = PjSymbianOS::Instance()->ConvertFromUnicode(aForeign, aUnicode); + + if (left != 0) { + // Error, or there are unconvertable characters + buf[0] = '\0'; + } else { + if (len < buf_size) + buf[len] = '\0'; + else + buf[len-1] = '\0'; + } + + return buf; +} + + diff --git a/pjlib/src/pj/unicode_win32.c b/pjlib/src/pj/unicode_win32.c new file mode 100644 index 0000000..dda63be --- /dev/null +++ b/pjlib/src/pj/unicode_win32.c @@ -0,0 +1,60 @@ +/* $Id: unicode_win32.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + + +PJ_DEF(wchar_t*) pj_ansi_to_unicode(const char *s, int len, + wchar_t *buf, int buf_count) +{ + PJ_ASSERT_RETURN(s && buf, NULL); + + len = MultiByteToWideChar(CP_ACP, 0, s, len, + buf, buf_count); + if (buf_count) { + if (len < buf_count) + buf[len] = 0; + else + buf[len-1] = 0; + } + + return buf; +} + + +PJ_DEF(char*) pj_unicode_to_ansi( const wchar_t *wstr, pj_ssize_t len, + char *buf, int buf_size) +{ + PJ_ASSERT_RETURN(wstr && buf, NULL); + + len = WideCharToMultiByte(CP_ACP, 0, wstr, (int)len, buf, buf_size, + NULL, NULL); + if (buf_size) { + if (len < buf_size) + buf[len] = '\0'; + else + buf[len-1] = '\0'; + } + + return buf; +} + diff --git a/pjlib/src/pjlib++-test/main.cpp b/pjlib/src/pjlib++-test/main.cpp new file mode 100644 index 0000000..1675644 --- /dev/null +++ b/pjlib/src/pjlib++-test/main.cpp @@ -0,0 +1,62 @@ +/* $Id */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class My_Async_Op : public Pj_Async_Op +{ +}; + +class My_Event_Handler : public Pj_Event_Handler +{ +}; + +int main() +{ + Pjlib lib; + Pj_Caching_Pool mem; + Pj_Pool the_pool; + Pj_Pool *pool = &the_pool; + + the_pool.attach(mem.create_pool(4000,4000)); + + Pj_Semaphore_Lock lsem(pool); + Pj_Semaphore_Lock *plsem; + + plsem = new(pool) Pj_Semaphore_Lock(pool); + delete plsem; + + Pj_Proactor proactor(pool, 100, 100); + + My_Event_Handler *event_handler = new(the_pool) My_Event_Handler; + proactor.register_socket_handler(pool, event_handler); + proactor.unregister_handler(event_handler); + + return 0; +} + diff --git a/pjlib/src/pjlib-samples/except.c b/pjlib/src/pjlib-samples/except.c new file mode 100644 index 0000000..2e7aa33 --- /dev/null +++ b/pjlib/src/pjlib-samples/except.c @@ -0,0 +1,82 @@ +/* $Id: except.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + +/** + * \page page_pjlib_samples_except_c Example: Exception Handling + * + * Below is sample program to demonstrate how to use exception handling. + * + * \includelineno pjlib-samples/except.c + */ + +static pj_exception_id_t NO_MEMORY, OTHER_EXCEPTION; + +static void randomly_throw_exception() +{ + if (pj_rand() % 2) + PJ_THROW(OTHER_EXCEPTION); +} + +static void *my_malloc(size_t size) +{ + void *ptr = malloc(size); + if (!ptr) + PJ_THROW(NO_MEMORY); + return ptr; +} + +static int test_exception() +{ + PJ_USE_EXCEPTION; + + PJ_TRY { + void *data = my_malloc(200); + free(data); + randomly_throw_exception(); + } + PJ_CATCH_ANY { + pj_exception_id_t x_id; + + x_id = PJ_GET_EXCEPTION(); + printf("Caught exception %d (%s)\n", + x_id, pj_exception_id_name(x_id)); + } + PJ_END + return 1; +} + +int main() +{ + pj_status_t rc; + + // Error handling is omited for clarity. + + rc = pj_init(); + + rc = pj_exception_id_alloc("No Memory", &NO_MEMORY); + rc = pj_exception_id_alloc("Other Exception", &OTHER_EXCEPTION); + + return test_exception(); +} + diff --git a/pjlib/src/pjlib-samples/list.c b/pjlib/src/pjlib-samples/list.c new file mode 100644 index 0000000..dece342 --- /dev/null +++ b/pjlib/src/pjlib-samples/list.c @@ -0,0 +1,72 @@ +/* $Id: list.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include + +/** + * \page page_pjlib_samples_list_c Example: List Manipulation + * + * Below is sample program to demonstrate how to manipulate linked list. + * + * \includelineno pjlib-samples/list.c + */ + +struct my_node +{ + // This must be the first member declared in the struct! + PJ_DECL_LIST_MEMBER(struct my_node); + int value; +}; + + +int main() +{ + struct my_node nodes[10]; + struct my_node list; + struct my_node *it; + int i; + + // Initialize the list as empty. + pj_list_init(&list); + + // Insert nodes. + for (i=0; i<10; ++i) { + nodes[i].value = i; + pj_list_insert_before(&list, &nodes[i]); + } + + // Iterate list nodes. + it = list.next; + while (it != &list) { + PJ_LOG(3,("list", "value = %d", it->value)); + it = it->next; + } + + // Erase all nodes. + for (i=0; i<10; ++i) { + pj_list_erase(&nodes[i]); + } + + // List must be empty by now. + pj_assert( pj_list_empty(&list) ); + + return 0; +}; diff --git a/pjlib/src/pjlib-samples/log.c b/pjlib/src/pjlib-samples/log.c new file mode 100644 index 0000000..c571ec5 --- /dev/null +++ b/pjlib/src/pjlib-samples/log.c @@ -0,0 +1,43 @@ +/* $Id: log.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include + +/** + * \page page_pjlib_samples_log_c Example: Log, Hello World + * + * Very simple program to write log. + * + * \includelineno pjlib-samples/log.c + */ + +int main() +{ + pj_status_t rc; + + // Error handling omited for clarity + + // Must initialize PJLIB first! + rc = pj_init(); + + PJ_LOG(3, ("main.c", "Hello world!")); + + return 0; +} + diff --git a/pjlib/src/pjlib-test/activesock.c b/pjlib/src/pjlib-test/activesock.c new file mode 100644 index 0000000..7a6dcca --- /dev/null +++ b/pjlib/src/pjlib-test/activesock.c @@ -0,0 +1,520 @@ +/* $Id: activesock.c 4487 2013-04-23 05:37:41Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include + +/** + * \page page_pjlib_activesock_test Test: Active Socket + * + * This file is pjlib-test/activesock.c + * + * \include pjlib-test/activesock.c + */ + +#if INCLUDE_ACTIVESOCK_TEST + +#define THIS_FILE "activesock.c" + + +/******************************************************************* + * Simple UDP echo server. + */ +struct udp_echo_srv +{ + pj_activesock_t *asock; + pj_bool_t echo_enabled; + pj_uint16_t port; + pj_ioqueue_op_key_t send_key; + pj_status_t status; + unsigned rx_cnt; + unsigned rx_err_cnt, tx_err_cnt; +}; + +static void udp_echo_err(const char *title, pj_status_t status) +{ + char errmsg[PJ_ERR_MSG_SIZE]; + + pj_strerror(status, errmsg, sizeof(errmsg)); + PJ_LOG(3,(THIS_FILE, " error: %s: %s", title, errmsg)); +} + +static pj_bool_t udp_echo_srv_on_data_recvfrom(pj_activesock_t *asock, + void *data, + pj_size_t size, + const pj_sockaddr_t *src_addr, + int addr_len, + pj_status_t status) +{ + struct udp_echo_srv *srv; + pj_ssize_t sent; + + + srv = (struct udp_echo_srv*) pj_activesock_get_user_data(asock); + + if (status != PJ_SUCCESS) { + srv->status = status; + srv->rx_err_cnt++; + udp_echo_err("recvfrom() callback", status); + return PJ_TRUE; + } + + srv->rx_cnt++; + + /* Send back if echo is enabled */ + if (srv->echo_enabled) { + sent = size; + srv->status = pj_activesock_sendto(asock, &srv->send_key, data, + &sent, 0, + src_addr, addr_len); + if (srv->status != PJ_SUCCESS) { + srv->tx_err_cnt++; + udp_echo_err("sendto()", status); + } + } + + return PJ_TRUE; +} + + +static pj_status_t udp_echo_srv_create(pj_pool_t *pool, + pj_ioqueue_t *ioqueue, + pj_bool_t enable_echo, + struct udp_echo_srv **p_srv) +{ + struct udp_echo_srv *srv; + pj_sock_t sock_fd = PJ_INVALID_SOCKET; + pj_sockaddr addr; + pj_activesock_cb activesock_cb; + pj_status_t status; + + srv = PJ_POOL_ZALLOC_T(pool, struct udp_echo_srv); + srv->echo_enabled = enable_echo; + + pj_sockaddr_in_init(&addr.ipv4, NULL, 0); + + pj_bzero(&activesock_cb, sizeof(activesock_cb)); + activesock_cb.on_data_recvfrom = &udp_echo_srv_on_data_recvfrom; + + status = pj_activesock_create_udp(pool, &addr, NULL, ioqueue, &activesock_cb, + srv, &srv->asock, &addr); + if (status != PJ_SUCCESS) { + pj_sock_close(sock_fd); + udp_echo_err("pj_activesock_create()", status); + return status; + } + + srv->port = pj_ntohs(addr.ipv4.sin_port); + + pj_ioqueue_op_key_init(&srv->send_key, sizeof(srv->send_key)); + + status = pj_activesock_start_recvfrom(srv->asock, pool, 32, 0); + if (status != PJ_SUCCESS) { + pj_activesock_close(srv->asock); + udp_echo_err("pj_activesock_start_recvfrom()", status); + return status; + } + + + *p_srv = srv; + return PJ_SUCCESS; +} + +static void udp_echo_srv_destroy(struct udp_echo_srv *srv) +{ + pj_activesock_close(srv->asock); +} + +/******************************************************************* + * UDP ping pong test (send packet back and forth between two UDP echo + * servers. + */ +static int udp_ping_pong_test(void) +{ + pj_ioqueue_t *ioqueue = NULL; + pj_pool_t *pool = NULL; + struct udp_echo_srv *srv1=NULL, *srv2=NULL; + pj_bool_t need_send = PJ_TRUE; + unsigned data = 0; + int count, ret; + pj_status_t status; + + pool = pj_pool_create(mem, "pingpong", 512, 512, NULL); + if (!pool) + return -10; + + status = pj_ioqueue_create(pool, 4, &ioqueue); + if (status != PJ_SUCCESS) { + ret = -20; + udp_echo_err("pj_ioqueue_create()", status); + goto on_return; + } + + status = udp_echo_srv_create(pool, ioqueue, PJ_TRUE, &srv1); + if (status != PJ_SUCCESS) { + ret = -30; + goto on_return; + } + + status = udp_echo_srv_create(pool, ioqueue, PJ_TRUE, &srv2); + if (status != PJ_SUCCESS) { + ret = -40; + goto on_return; + } + + /* initiate the first send */ + for (count=0; count<1000; ++count) { + unsigned last_rx1, last_rx2; + unsigned i; + + if (need_send) { + pj_str_t loopback; + pj_sockaddr_in addr; + pj_ssize_t sent; + + ++data; + + sent = sizeof(data); + loopback = pj_str("127.0.0.1"); + pj_sockaddr_in_init(&addr, &loopback, srv2->port); + status = pj_activesock_sendto(srv1->asock, &srv1->send_key, + &data, &sent, 0, + &addr, sizeof(addr)); + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + ret = -50; + udp_echo_err("sendto()", status); + goto on_return; + } + + need_send = PJ_FALSE; + } + + last_rx1 = srv1->rx_cnt; + last_rx2 = srv2->rx_cnt; + + for (i=0; i<10 && last_rx1 == srv1->rx_cnt && last_rx2 == srv2->rx_cnt; ++i) { + pj_time_val delay = {0, 10}; +#ifdef PJ_SYMBIAN + PJ_UNUSED_ARG(delay); + pj_symbianos_poll(-1, 100); +#else + pj_ioqueue_poll(ioqueue, &delay); +#endif + } + + if (srv1->rx_err_cnt+srv1->tx_err_cnt != 0 || + srv2->rx_err_cnt+srv2->tx_err_cnt != 0) + { + /* Got error */ + ret = -60; + goto on_return; + } + + if (last_rx1 == srv1->rx_cnt && last_rx2 == srv2->rx_cnt) { + /* Packet lost */ + ret = -70; + udp_echo_err("packets have been lost", PJ_ETIMEDOUT); + goto on_return; + } + } + + ret = 0; + +on_return: + if (srv2) + udp_echo_srv_destroy(srv2); + if (srv1) + udp_echo_srv_destroy(srv1); + if (ioqueue) + pj_ioqueue_destroy(ioqueue); + if (pool) + pj_pool_release(pool); + + return ret; +} + + + +#define SIGNATURE 0xdeadbeef +struct tcp_pkt +{ + pj_uint32_t signature; + pj_uint32_t seq; + char fill[513]; +}; + +struct tcp_state +{ + pj_bool_t err; + pj_bool_t sent; + pj_uint32_t next_recv_seq; + pj_uint8_t pkt[600]; +}; + +struct send_key +{ + pj_ioqueue_op_key_t op_key; +}; + + +static pj_bool_t tcp_on_data_read(pj_activesock_t *asock, + void *data, + pj_size_t size, + pj_status_t status, + pj_size_t *remainder) +{ + struct tcp_state *st = (struct tcp_state*) pj_activesock_get_user_data(asock); + char *next = (char*) data; + + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + PJ_LOG(1,("", " err: status=%d", status)); + st->err = PJ_TRUE; + return PJ_FALSE; + } + + while (size >= sizeof(struct tcp_pkt)) { + struct tcp_pkt *tcp_pkt = (struct tcp_pkt*) next; + + if (tcp_pkt->signature != SIGNATURE) { + PJ_LOG(1,("", " err: invalid signature at seq=%d", + st->next_recv_seq)); + st->err = PJ_TRUE; + return PJ_FALSE; + } + if (tcp_pkt->seq != st->next_recv_seq) { + PJ_LOG(1,("", " err: wrong sequence")); + st->err = PJ_TRUE; + return PJ_FALSE; + } + + st->next_recv_seq++; + next += sizeof(struct tcp_pkt); + size -= sizeof(struct tcp_pkt); + } + + if (size) { + pj_memmove(data, next, size); + *remainder = size; + } + + return PJ_TRUE; +} + +static pj_bool_t tcp_on_data_sent(pj_activesock_t *asock, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t sent) +{ + struct tcp_state *st=(struct tcp_state*)pj_activesock_get_user_data(asock); + + PJ_UNUSED_ARG(op_key); + + st->sent = 1; + + if (sent < 1) { + st->err = PJ_TRUE; + return PJ_FALSE; + } + + return PJ_TRUE; +} + +static int tcp_perf_test(void) +{ + enum { COUNT=10000 }; + pj_pool_t *pool = NULL; + pj_ioqueue_t *ioqueue = NULL; + pj_sock_t sock1=PJ_INVALID_SOCKET, sock2=PJ_INVALID_SOCKET; + pj_activesock_t *asock1 = NULL, *asock2 = NULL; + pj_activesock_cb cb; + struct tcp_state *state1, *state2; + unsigned i; + pj_status_t status; + + pool = pj_pool_create(mem, "tcpperf", 256, 256, NULL); + + status = app_socketpair(pj_AF_INET(), pj_SOCK_STREAM(), 0, &sock1, + &sock2); + if (status != PJ_SUCCESS) { + status = -100; + goto on_return; + } + + status = pj_ioqueue_create(pool, 4, &ioqueue); + if (status != PJ_SUCCESS) { + status = -110; + goto on_return; + } + + pj_bzero(&cb, sizeof(cb)); + cb.on_data_read = &tcp_on_data_read; + cb.on_data_sent = &tcp_on_data_sent; + + state1 = PJ_POOL_ZALLOC_T(pool, struct tcp_state); + status = pj_activesock_create(pool, sock1, pj_SOCK_STREAM(), NULL, ioqueue, + &cb, state1, &asock1); + if (status != PJ_SUCCESS) { + status = -120; + goto on_return; + } + + state2 = PJ_POOL_ZALLOC_T(pool, struct tcp_state); + status = pj_activesock_create(pool, sock2, pj_SOCK_STREAM(), NULL, ioqueue, + &cb, state2, &asock2); + if (status != PJ_SUCCESS) { + status = -130; + goto on_return; + } + + status = pj_activesock_start_read(asock1, pool, 1000, 0); + if (status != PJ_SUCCESS) { + status = -140; + goto on_return; + } + + /* Send packet as quickly as possible */ + for (i=0; ierr && !state2->err; ++i) { + struct tcp_pkt *pkt; + struct send_key send_key[2], *op_key; + pj_ssize_t len; + + pkt = (struct tcp_pkt*)state2->pkt; + pkt->signature = SIGNATURE; + pkt->seq = i; + pj_memset(pkt->fill, 'a', sizeof(pkt->fill)); + + op_key = &send_key[i%2]; + pj_ioqueue_op_key_init(&op_key->op_key, sizeof(*op_key)); + + state2->sent = PJ_FALSE; + len = sizeof(*pkt); + status = pj_activesock_send(asock2, &op_key->op_key, pkt, &len, 0); + if (status == PJ_EPENDING) { + do { +#if PJ_SYMBIAN + pj_symbianos_poll(-1, -1); +#else + pj_ioqueue_poll(ioqueue, NULL); +#endif + } while (!state2->sent); + } else { +#if PJ_SYMBIAN + /* The Symbian socket always returns PJ_SUCCESS for TCP send, + * eventhough the remote end hasn't received the data yet. + * If we continue sending, eventually send() will block, + * possibly because the send buffer is full. So we need to + * poll the ioqueue periodically, to let receiver gets the + * data. + */ + pj_symbianos_poll(-1, 0); +#endif + if (status != PJ_SUCCESS) { + PJ_LOG(1,("", " err: send status=%d", status)); + status = -180; + break; + } else if (status == PJ_SUCCESS) { + if (len != sizeof(*pkt)) { + PJ_LOG(1,("", " err: shouldn't report partial sent")); + status = -190; + break; + } + } + } + +#ifndef PJ_SYMBIAN + for (;;) { + pj_time_val timeout = {0, 10}; + if (pj_ioqueue_poll(ioqueue, &timeout) < 1) + break; + } +#endif + + } + + /* Wait until everything has been sent/received */ + if (state1->next_recv_seq < COUNT) { +#ifdef PJ_SYMBIAN + while (pj_symbianos_poll(-1, 1000) == PJ_TRUE) + ; +#else + pj_time_val delay = {0, 100}; + while (pj_ioqueue_poll(ioqueue, &delay) > 0) + ; +#endif + } + + if (status == PJ_EPENDING) + status = PJ_SUCCESS; + + if (status != 0) + goto on_return; + + if (state1->err) { + status = -183; + goto on_return; + } + if (state2->err) { + status = -186; + goto on_return; + } + if (state1->next_recv_seq != COUNT) { + PJ_LOG(3,("", " err: only %u packets received, expecting %u", + state1->next_recv_seq, COUNT)); + status = -195; + goto on_return; + } + +on_return: + if (asock2) + pj_activesock_close(asock2); + if (asock1) + pj_activesock_close(asock1); + if (ioqueue) + pj_ioqueue_destroy(ioqueue); + if (pool) + pj_pool_release(pool); + + return status; +} + + + +int activesock_test(void) +{ + int ret; + + PJ_LOG(3,("", "..udp ping/pong test")); + ret = udp_ping_pong_test(); + if (ret != 0) + return ret; + + PJ_LOG(3,("", "..tcp perf test")); + ret = tcp_perf_test(); + if (ret != 0) + return ret; + + return 0; +} + +#else /* INCLUDE_ACTIVESOCK_TEST */ +/* To prevent warning about "translation unit is empty" + * when this test is disabled. + */ +int dummy_active_sock_test; +#endif /* INCLUDE_ACTIVESOCK_TEST */ + diff --git a/pjlib/src/pjlib-test/atomic.c b/pjlib/src/pjlib-test/atomic.c new file mode 100644 index 0000000..f9cddf4 --- /dev/null +++ b/pjlib/src/pjlib-test/atomic.c @@ -0,0 +1,109 @@ +/* $Id: atomic.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include + +/** + * \page page_pjlib_atomic_test Test: Atomic Variable + * + * This file provides implementation of \b atomic_test(). It tests the + * functionality of the atomic variable API. + * + * \section atomic_test_sec Scope of the Test + * + * API tested: + * - pj_atomic_create() + * - pj_atomic_get() + * - pj_atomic_inc() + * - pj_atomic_dec() + * - pj_atomic_set() + * - pj_atomic_destroy() + * + * + * This file is pjlib-test/atomic.c + * + * \include pjlib-test/atomic.c + */ + + +#if INCLUDE_ATOMIC_TEST + +int atomic_test(void) +{ + pj_pool_t *pool; + pj_atomic_t *atomic_var; + pj_status_t rc; + + pool = pj_pool_create(mem, NULL, 4096, 0, NULL); + if (!pool) + return -10; + + /* create() */ + rc = pj_atomic_create(pool, 111, &atomic_var); + if (rc != 0) { + return -20; + } + + /* get: check the value. */ + if (pj_atomic_get(atomic_var) != 111) + return -30; + + /* increment. */ + pj_atomic_inc(atomic_var); + if (pj_atomic_get(atomic_var) != 112) + return -40; + + /* decrement. */ + pj_atomic_dec(atomic_var); + if (pj_atomic_get(atomic_var) != 111) + return -50; + + /* set */ + pj_atomic_set(atomic_var, 211); + if (pj_atomic_get(atomic_var) != 211) + return -60; + + /* add */ + pj_atomic_add(atomic_var, 10); + if (pj_atomic_get(atomic_var) != 221) + return -60; + + /* check the value again. */ + if (pj_atomic_get(atomic_var) != 221) + return -70; + + /* destroy */ + rc = pj_atomic_destroy(atomic_var); + if (rc != 0) + return -80; + + pj_pool_release(pool); + + return 0; +} + + +#else +/* To prevent warning about "translation unit is empty" + * when this test is disabled. + */ +int dummy_atomic_test; +#endif /* INCLUDE_ATOMIC_TEST */ + diff --git a/pjlib/src/pjlib-test/echo_clt.c b/pjlib/src/pjlib-test/echo_clt.c new file mode 100644 index 0000000..0ce27dc --- /dev/null +++ b/pjlib/src/pjlib-test/echo_clt.c @@ -0,0 +1,269 @@ +/* $Id: echo_clt.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include + +#if INCLUDE_ECHO_CLIENT + +enum { BUF_SIZE = 512 }; + +struct client +{ + int sock_type; + const char *server; + int port; +}; + +static pj_atomic_t *totalBytes; +static pj_atomic_t *timeout_counter; +static pj_atomic_t *invalid_counter; + +#define MSEC_PRINT_DURATION 1000 + +static int wait_socket(pj_sock_t sock, unsigned msec_timeout) +{ + pj_fd_set_t fdset; + pj_time_val timeout; + + timeout.sec = 0; + timeout.msec = msec_timeout; + pj_time_val_normalize(&timeout); + + PJ_FD_ZERO(&fdset); + PJ_FD_SET(sock, &fdset); + + return pj_sock_select(FD_SETSIZE, &fdset, NULL, NULL, &timeout); +} + +static int echo_client_thread(void *arg) +{ + pj_sock_t sock; + char send_buf[BUF_SIZE]; + char recv_buf[BUF_SIZE]; + pj_sockaddr_in addr; + pj_str_t s; + pj_status_t rc; + pj_uint32_t buffer_id; + pj_uint32_t buffer_counter; + struct client *client = arg; + pj_status_t last_recv_err = PJ_SUCCESS, last_send_err = PJ_SUCCESS; + unsigned counter = 0; + + rc = app_socket(pj_AF_INET(), client->sock_type, 0, -1, &sock); + if (rc != PJ_SUCCESS) { + app_perror("...unable to create socket", rc); + return -10; + } + + rc = pj_sockaddr_in_init( &addr, pj_cstr(&s, client->server), + (pj_uint16_t)client->port); + if (rc != PJ_SUCCESS) { + app_perror("...unable to resolve server", rc); + return -15; + } + + rc = pj_sock_connect(sock, &addr, sizeof(addr)); + if (rc != PJ_SUCCESS) { + app_perror("...connect() error", rc); + pj_sock_close(sock); + return -20; + } + + PJ_LOG(3,("", "...socket connected to %s:%d", + pj_inet_ntoa(addr.sin_addr), + pj_ntohs(addr.sin_port))); + + pj_memset(send_buf, 'A', BUF_SIZE); + send_buf[BUF_SIZE-1]='\0'; + + /* Give other thread chance to initialize themselves! */ + pj_thread_sleep(200); + + //PJ_LOG(3,("", "...thread %p running", pj_thread_this())); + + buffer_id = (pj_uint32_t) pj_thread_this(); + buffer_counter = 0; + + *(pj_uint32_t*)send_buf = buffer_id; + + for (;;) { + int rc; + pj_ssize_t bytes; + + ++counter; + + //while (wait_socket(sock,0) > 0) + // ; + + /* Send a packet. */ + bytes = BUF_SIZE; + *(pj_uint32_t*)(send_buf+4) = ++buffer_counter; + rc = pj_sock_send(sock, send_buf, &bytes, 0); + if (rc != PJ_SUCCESS || bytes != BUF_SIZE) { + if (rc != last_send_err) { + app_perror("...send() error", rc); + PJ_LOG(3,("", "...ignoring subsequent error..")); + last_send_err = rc; + pj_thread_sleep(100); + } + continue; + } + + rc = wait_socket(sock, 500); + if (rc == 0) { + PJ_LOG(3,("", "...timeout")); + bytes = 0; + pj_atomic_inc(timeout_counter); + } else if (rc < 0) { + rc = pj_get_netos_error(); + app_perror("...select() error", rc); + break; + } else { + /* Receive back the original packet. */ + bytes = 0; + do { + pj_ssize_t received = BUF_SIZE - bytes; + rc = pj_sock_recv(sock, recv_buf+bytes, &received, 0); + if (rc != PJ_SUCCESS || received == 0) { + if (rc != last_recv_err) { + app_perror("...recv() error", rc); + PJ_LOG(3,("", "...ignoring subsequent error..")); + last_recv_err = rc; + pj_thread_sleep(100); + } + bytes = 0; + received = 0; + break; + } + bytes += received; + } while (bytes != BUF_SIZE && bytes != 0); + } + + if (bytes == 0) + continue; + + if (pj_memcmp(send_buf, recv_buf, BUF_SIZE) != 0) { + recv_buf[BUF_SIZE-1] = '\0'; + PJ_LOG(3,("", "...error: buffer %u has changed!\n" + "send_buf=%s\n" + "recv_buf=%s\n", + counter, send_buf, recv_buf)); + pj_atomic_inc(invalid_counter); + } + + /* Accumulate total received. */ + pj_atomic_add(totalBytes, bytes); + } + + pj_sock_close(sock); + return 0; +} + +int echo_client(int sock_type, const char *server, int port) +{ + pj_pool_t *pool; + pj_thread_t *thread[ECHO_CLIENT_MAX_THREADS]; + pj_status_t rc; + struct client client; + int i; + pj_atomic_value_t last_received; + pj_timestamp last_report; + + client.sock_type = sock_type; + client.server = server; + client.port = port; + + pool = pj_pool_create( mem, NULL, 4000, 4000, NULL ); + + rc = pj_atomic_create(pool, 0, &totalBytes); + if (rc != PJ_SUCCESS) { + PJ_LOG(3,("", "...error: unable to create atomic variable", rc)); + return -30; + } + rc = pj_atomic_create(pool, 0, &invalid_counter); + rc = pj_atomic_create(pool, 0, &timeout_counter); + + PJ_LOG(3,("", "Echo client started")); + PJ_LOG(3,("", " Destination: %s:%d", + ECHO_SERVER_ADDRESS, ECHO_SERVER_START_PORT)); + PJ_LOG(3,("", " Press Ctrl-C to exit")); + + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include +#include +#include +#include +#include + +#if INCLUDE_ERRNO_TEST + +#define THIS_FILE "errno" + +#if (defined(PJ_WIN32) && PJ_WIN32 != 0) || \ + (defined(PJ_WIN64) && PJ_WIN64 != 0) +# include +#endif + +#if defined(PJ_HAS_ERRNO_H) && PJ_HAS_ERRNO_H != 0 +# include +#endif + +static void trim_newlines(char *s) +{ + while (*s) { + if (*s == '\r' || *s == '\n') + *s = ' '; + ++s; + } +} + +int my_strncasecmp(const char *s1, const char *s2, int max_len) +{ + while (*s1 && *s2 && max_len > 0) { + if (pj_tolower(*s1) != pj_tolower(*s2)) + return -1; + ++s1; + ++s2; + --max_len; + } + return 0; +} + +const char *my_stristr(const char *whole, const char *part) +{ + int part_len = (int)strlen(part); + while (*whole) { + if (my_strncasecmp(whole, part, part_len) == 0) + return whole; + ++whole; + } + return NULL; +} + +int errno_test(void) +{ + enum { CUT = 6 }; + pj_status_t rc = 0; + char errbuf[256]; + + PJ_LOG(3,(THIS_FILE, "...errno test: check the msg carefully")); + + PJ_UNUSED_ARG(rc); + + /* + * Windows platform error. + */ +# ifdef ERROR_INVALID_DATA + rc = PJ_STATUS_FROM_OS(ERROR_INVALID_DATA); + pj_set_os_error(rc); + + /* Whole */ + pj_strerror(rc, errbuf, sizeof(errbuf)); + trim_newlines(errbuf); + PJ_LOG(3,(THIS_FILE, "...msg for rc=ERROR_INVALID_DATA: '%s'", errbuf)); + if (my_stristr(errbuf, "invalid") == NULL) { + PJ_LOG(3, (THIS_FILE, + "...error: expecting \"invalid\" string in the msg")); +#ifndef PJ_WIN32_WINCE + return -20; +#endif + } + + /* Cut version. */ + pj_strerror(rc, errbuf, CUT); + PJ_LOG(3,(THIS_FILE, "...msg for rc=ERROR_INVALID_DATA (cut): '%s'", errbuf)); +# endif + + /* + * Unix errors + */ +# if defined(EINVAL) && !defined(PJ_SYMBIAN) + rc = PJ_STATUS_FROM_OS(EINVAL); + pj_set_os_error(rc); + + /* Whole */ + pj_strerror(rc, errbuf, sizeof(errbuf)); + trim_newlines(errbuf); + PJ_LOG(3,(THIS_FILE, "...msg for rc=EINVAL: '%s'", errbuf)); + if (my_stristr(errbuf, "invalid") == NULL) { + PJ_LOG(3, (THIS_FILE, + "...error: expecting \"invalid\" string in the msg")); + return -30; + } + + /* Cut */ + pj_strerror(rc, errbuf, CUT); + PJ_LOG(3,(THIS_FILE, "...msg for rc=EINVAL (cut): '%s'", errbuf)); +# endif + + /* + * Windows WSA errors + */ +# ifdef WSAEINVAL + rc = PJ_STATUS_FROM_OS(WSAEINVAL); + pj_set_os_error(rc); + + /* Whole */ + pj_strerror(rc, errbuf, sizeof(errbuf)); + trim_newlines(errbuf); + PJ_LOG(3,(THIS_FILE, "...msg for rc=WSAEINVAL: '%s'", errbuf)); + if (my_stristr(errbuf, "invalid") == NULL) { + PJ_LOG(3, (THIS_FILE, + "...error: expecting \"invalid\" string in the msg")); + return -40; + } + + /* Cut */ + pj_strerror(rc, errbuf, CUT); + PJ_LOG(3,(THIS_FILE, "...msg for rc=WSAEINVAL (cut): '%s'", errbuf)); +# endif + + pj_strerror(PJ_EBUG, errbuf, sizeof(errbuf)); + PJ_LOG(3,(THIS_FILE, "...msg for rc=PJ_EBUG: '%s'", errbuf)); + if (my_stristr(errbuf, "BUG") == NULL) { + PJ_LOG(3, (THIS_FILE, + "...error: expecting \"BUG\" string in the msg")); + return -20; + } + + pj_strerror(PJ_EBUG, errbuf, CUT); + PJ_LOG(3,(THIS_FILE, "...msg for rc=PJ_EBUG, cut at %d chars: '%s'", + CUT, errbuf)); + + /* Perror */ + pj_perror(3, THIS_FILE, PJ_SUCCESS, "...testing %s", "pj_perror"); + PJ_PERROR(3,(THIS_FILE, PJ_SUCCESS, "...testing %s", "PJ_PERROR")); + + return 0; +} + + +#endif /* INCLUDE_ERRNO_TEST */ + + diff --git a/pjlib/src/pjlib-test/exception.c b/pjlib/src/pjlib-test/exception.c new file mode 100644 index 0000000..6d80331 --- /dev/null +++ b/pjlib/src/pjlib-test/exception.c @@ -0,0 +1,286 @@ +/* $Id: exception.c 5060 2015-04-10 11:47:48Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + + +/** + * \page page_pjlib_exception_test Test: Exception Handling + * + * This file provides implementation of \b exception_test(). It tests the + * functionality of the exception handling API. + * + * @note This test use static ID not acquired through proper registration. + * This is not recommended, since it may create ID collissions. + * + * \section exception_test_sec Scope of the Test + * + * Some scenarios tested: + * - no exception situation + * - basic TRY/CATCH + * - multiple exception handlers + * - default handlers + * + * + * This file is pjlib-test/exception.c + * + * \include pjlib-test/exception.c + */ + + +#if INCLUDE_EXCEPTION_TEST + +#include + +#ifdef _MSC_VER +#pragma warning(disable:4702) // warning C4702: unreachable code +#endif + +#define ID_1 1 +#define ID_2 2 + +static int throw_id_1(void) +{ + PJ_THROW( ID_1 ); + PJ_UNREACHED(return -1;) +} + +static int throw_id_2(void) +{ + PJ_THROW( ID_2 ); + PJ_UNREACHED(return -1;) +} + +static int try_catch_test(void) +{ + PJ_USE_EXCEPTION; + int rc = -200; + + PJ_TRY { + PJ_THROW(ID_1); + } + PJ_CATCH_ANY { + rc = 0; + } + PJ_END; + return rc; +} + +static int throw_in_handler(void) +{ + PJ_USE_EXCEPTION; + int rc = 0; + + PJ_TRY { + PJ_THROW(ID_1); + } + PJ_CATCH_ANY { + if (PJ_GET_EXCEPTION() != ID_1) + rc = -300; + else + PJ_THROW(ID_2); + } + PJ_END; + return rc; +} + +static int return_in_handler(void) +{ + PJ_USE_EXCEPTION; + + PJ_TRY { + PJ_THROW(ID_1); + } + PJ_CATCH_ANY { + return 0; + } + PJ_END; + return -400; +} + + +static int test(void) +{ + int rc = 0; + PJ_USE_EXCEPTION; + + /* + * No exception situation. + */ + PJ_TRY { + PJ_UNUSED_ARG(rc); + } + PJ_CATCH_ANY { + rc = -3; + } + PJ_END; + + if (rc != 0) + return rc; + + + /* + * Basic TRY/CATCH + */ + PJ_TRY { + rc = throw_id_1(); + + // should not reach here. + rc = -10; + } + PJ_CATCH_ANY { + int id = PJ_GET_EXCEPTION(); + if (id != ID_1) { + PJ_LOG(3,("", "...error: got unexpected exception %d (%s)", + id, pj_exception_id_name(id))); + if (!rc) rc = -20; + } + } + PJ_END; + + if (rc != 0) + return rc; + + /* + * Multiple exceptions handlers + */ + PJ_TRY { + rc = throw_id_2(); + // should not reach here. + rc = -25; + } + PJ_CATCH_ANY { + switch (PJ_GET_EXCEPTION()) { + case ID_1: + if (!rc) rc = -30; break; + case ID_2: + if (!rc) rc = 0; break; + default: + if (!rc) rc = -40; + break; + } + } + PJ_END; + + if (rc != 0) + return rc; + + /* + * Test default handler. + */ + PJ_TRY { + rc = throw_id_1(); + // should not reach here + rc = -50; + } + PJ_CATCH_ANY { + switch (PJ_GET_EXCEPTION()) { + case ID_1: + if (!rc) rc = 0; + break; + default: + if (!rc) rc = -60; + break; + } + } + PJ_END; + + if (rc != 0) + return rc; + + /* + * Nested handlers + */ + PJ_TRY { + rc = try_catch_test(); + } + PJ_CATCH_ANY { + rc = -70; + } + PJ_END; + + if (rc != 0) + return rc; + + /* + * Throwing exception inside handler + */ + rc = -80; + PJ_TRY { + int rc2; + rc2 = throw_in_handler(); + if (rc2) + rc = rc2; + } + PJ_CATCH_ANY { + if (PJ_GET_EXCEPTION() == ID_2) { + rc = 0; + } else { + rc = -90; + } + } + PJ_END; + + if (rc != 0) + return rc; + + + /* + * Return from handler. Returning from the function inside a handler + * should be okay (though returning from the function inside the + * PJ_TRY block IS NOT OKAY!!). We want to test to see if handler + * is cleaned up properly, but not sure how to do this. + */ + PJ_TRY { + int rc2; + rc2 = return_in_handler(); + if (rc2) + rc = rc2; + } + PJ_CATCH_ANY { + rc = -100; + } + PJ_END; + + + return 0; +} + +int exception_test(void) +{ + int i, rc; + enum { LOOP = 10 }; + + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + +/* To prevent warning about "translation unit is empty" + * when this test is disabled. + */ +int dummy_fifobuf_test; + +#if INCLUDE_FIFOBUF_TEST + +#include + +int fifobuf_test() +{ + enum { SIZE = 1024, MAX_ENTRIES = 128, + MIN_SIZE = 4, MAX_SIZE = 64, + LOOP=10000 }; + pj_pool_t *pool; + pj_fifobuf_t fifo; + unsigned available = SIZE; + void *entries[MAX_ENTRIES]; + void *buffer; + int i; + + pool = pj_pool_create(mem, NULL, SIZE+256, 0, NULL); + if (!pool) + return -10; + + buffer = pj_pool_alloc(pool, SIZE); + if (!buffer) + return -20; + + pj_fifobuf_init (&fifo, buffer, SIZE); + + // Test 1 + for (i=0; i=MIN_SIZE+4 && count < MAX_ENTRIES;) { + int size = MIN_SIZE+(pj_rand() % MAX_SIZE); + entries[count] = pj_fifobuf_alloc (&fifo, size); + if (entries[count]) { + available -= (size+4); + ++count; + } + } + for (j=0; j + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include + +#if INCLUDE_FILE_TEST + +#define FILENAME "testfil1.txt" +#define NEWNAME "testfil2.txt" +#define INCLUDE_FILE_TIME_TEST 0 + +static char buffer[11] = {'H', 'e', 'l', 'l', 'o', ' ', + 'W', 'o', 'r', 'l', 'd' }; + +static int file_test_internal(void) +{ + enum { FILE_MAX_AGE = 1000 }; + pj_oshandle_t fd = 0; + pj_status_t status; + char readbuf[sizeof(buffer)+16]; + pj_file_stat stat; + pj_time_val start_time; + pj_ssize_t size; + pj_off_t pos; + + PJ_LOG(3,("", "..file io test..")); + + /* Get time. */ + pj_gettimeofday(&start_time); + + /* Delete original file if exists. */ + if (pj_file_exists(FILENAME)) + pj_file_delete(FILENAME); + + /* + * Write data to the file. + */ + status = pj_file_open(NULL, FILENAME, PJ_O_WRONLY, &fd); + if (status != PJ_SUCCESS) { + app_perror("...file_open() error", status); + return -10; + } + + size = sizeof(buffer); + status = pj_file_write(fd, buffer, &size); + if (status != PJ_SUCCESS) { + app_perror("...file_write() error", status); + pj_file_close(fd); + return -20; + } + if (size != sizeof(buffer)) + return -25; + + status = pj_file_close(fd); + if (status != PJ_SUCCESS) { + app_perror("...file_close() error", status); + return -30; + } + + /* Check the file existance and size. */ + if (!pj_file_exists(FILENAME)) + return -40; + + if (pj_file_size(FILENAME) != sizeof(buffer)) + return -50; + + /* Get file stat. */ + status = pj_file_getstat(FILENAME, &stat); + if (status != PJ_SUCCESS) + return -60; + + /* Check stat size. */ + if (stat.size != sizeof(buffer)) + return -70; + +#if INCLUDE_FILE_TIME_TEST + /* Check file creation time >= start_time. */ + if (!PJ_TIME_VAL_GTE(stat.ctime, start_time)) + return -80; + /* Check file creation time is not much later. */ + PJ_TIME_VAL_SUB(stat.ctime, start_time); + if (stat.ctime.sec > FILE_MAX_AGE) + return -90; + + /* Check file modification time >= start_time. */ + if (!PJ_TIME_VAL_GTE(stat.mtime, start_time)) + return -80; + /* Check file modification time is not much later. */ + PJ_TIME_VAL_SUB(stat.mtime, start_time); + if (stat.mtime.sec > FILE_MAX_AGE) + return -90; + + /* Check file access time >= start_time. */ + if (!PJ_TIME_VAL_GTE(stat.atime, start_time)) + return -80; + /* Check file access time is not much later. */ + PJ_TIME_VAL_SUB(stat.atime, start_time); + if (stat.atime.sec > FILE_MAX_AGE) + return -90; +#endif + + /* + * Re-open the file and read data. + */ + status = pj_file_open(NULL, FILENAME, PJ_O_RDONLY, &fd); + if (status != PJ_SUCCESS) { + app_perror("...file_open() error", status); + return -100; + } + + size = 0; + while (size < (pj_ssize_t)sizeof(readbuf)) { + pj_ssize_t read; + read = 1; + status = pj_file_read(fd, &readbuf[size], &read); + if (status != PJ_SUCCESS) { + PJ_LOG(3,("", "...error reading file after %d bytes (error follows)", + size)); + app_perror("...error", status); + return -110; + } + if (read == 0) { + // EOF + break; + } + size += read; + } + + if (size != sizeof(buffer)) + return -120; + + /* + if (!pj_file_eof(fd, PJ_O_RDONLY)) + return -130; + */ + + if (pj_memcmp(readbuf, buffer, size) != 0) + return -140; + + /* Seek test. */ + status = pj_file_setpos(fd, 4, PJ_SEEK_SET); + if (status != PJ_SUCCESS) { + app_perror("...file_setpos() error", status); + return -141; + } + + /* getpos test. */ + status = pj_file_getpos(fd, &pos); + if (status != PJ_SUCCESS) { + app_perror("...file_getpos() error", status); + return -142; + } + if (pos != 4) + return -143; + + status = pj_file_close(fd); + if (status != PJ_SUCCESS) { + app_perror("...file_close() error", status); + return -150; + } + + /* + * Rename test. + */ + status = pj_file_move(FILENAME, NEWNAME); + if (status != PJ_SUCCESS) { + app_perror("...file_move() error", status); + return -160; + } + + if (pj_file_exists(FILENAME)) + return -170; + if (!pj_file_exists(NEWNAME)) + return -180; + + if (pj_file_size(NEWNAME) != sizeof(buffer)) + return -190; + + /* Delete test. */ + status = pj_file_delete(NEWNAME); + if (status != PJ_SUCCESS) { + app_perror("...file_delete() error", status); + return -200; + } + + if (pj_file_exists(NEWNAME)) + return -210; + + PJ_LOG(3,("", "...success")); + return PJ_SUCCESS; +} + + +int file_test(void) +{ + int rc = file_test_internal(); + + /* Delete test file if exists. */ + if (pj_file_exists(FILENAME)) + pj_file_delete(FILENAME); + + return rc; +} + +#else +int dummy_file_test; +#endif + diff --git a/pjlib/src/pjlib-test/hash_test.c b/pjlib/src/pjlib-test/hash_test.c new file mode 100644 index 0000000..088107d --- /dev/null +++ b/pjlib/src/pjlib-test/hash_test.c @@ -0,0 +1,163 @@ +/* $Id: hash_test.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include "test.h" + +#if INCLUDE_HASH_TEST + +#define HASH_COUNT 31 + +static int hash_test_with_key(pj_pool_t *pool, unsigned char key) +{ + pj_hash_table_t *ht; + unsigned value = 0x12345; + pj_hash_iterator_t it_buf, *it; + unsigned *entry; + + ht = pj_hash_create(pool, HASH_COUNT); + if (!ht) + return -10; + + pj_hash_set(pool, ht, &key, sizeof(key), 0, &value); + + entry = (unsigned*) pj_hash_get(ht, &key, sizeof(key), NULL); + if (!entry) + return -20; + + if (*entry != value) + return -30; + + if (pj_hash_count(ht) != 1) + return -30; + + it = pj_hash_first(ht, &it_buf); + if (it == NULL) + return -40; + + entry = (unsigned*) pj_hash_this(ht, it); + if (!entry) + return -50; + + if (*entry != value) + return -60; + + it = pj_hash_next(ht, it); + if (it != NULL) + return -70; + + /* Erase item */ + + pj_hash_set(NULL, ht, &key, sizeof(key), 0, NULL); + + if (pj_hash_get(ht, &key, sizeof(key), NULL) != NULL) + return -80; + + if (pj_hash_count(ht) != 0) + return -90; + + it = pj_hash_first(ht, &it_buf); + if (it != NULL) + return -100; + + return 0; +} + + +static int hash_collision_test(pj_pool_t *pool) +{ + enum { + COUNT = HASH_COUNT * 4 + }; + pj_hash_table_t *ht; + pj_hash_iterator_t it_buf, *it; + unsigned char *values; + unsigned i; + + ht = pj_hash_create(pool, HASH_COUNT); + if (!ht) + return -200; + + values = (unsigned char*) pj_pool_alloc(pool, COUNT); + + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include +#include + +/** + * \page page_pjlib_ioqueue_perf_test Test: I/O Queue Performance + * + * Test the performance of the I/O queue, using typical producer + * consumer test. The test should examine the effect of using multiple + * threads on the performance. + * + * This file is pjlib-test/ioq_perf.c + * + * \include pjlib-test/ioq_perf.c + */ + +#if INCLUDE_IOQUEUE_PERF_TEST + +#ifdef _MSC_VER +# pragma warning ( disable: 4204) // non-constant aggregate initializer +#endif + +#define THIS_FILE "ioq_perf" +//#define TRACE_(expr) PJ_LOG(3,expr) +#define TRACE_(expr) + + +static pj_bool_t thread_quit_flag; +static pj_status_t last_error; +static unsigned last_error_counter; + +/* Descriptor for each producer/consumer pair. */ +typedef struct test_item +{ + pj_sock_t server_fd, + client_fd; + pj_ioqueue_t *ioqueue; + pj_ioqueue_key_t *server_key, + *client_key; + pj_ioqueue_op_key_t recv_op, + send_op; + int has_pending_send; + pj_size_t buffer_size; + char *outgoing_buffer; + char *incoming_buffer; + pj_size_t bytes_sent, + bytes_recv; +} test_item; + +/* Callback when data has been read. + * Increment item->bytes_recv and ready to read the next data. + */ +static void on_read_complete(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_read) +{ + test_item *item = (test_item*)pj_ioqueue_get_user_data(key); + pj_status_t rc; + int data_is_available = 1; + + //TRACE_((THIS_FILE, " read complete, bytes_read=%d", bytes_read)); + + do { + if (thread_quit_flag) + return; + + if (bytes_read < 0) { + pj_status_t rc = (pj_status_t)-bytes_read; + char errmsg[PJ_ERR_MSG_SIZE]; + + if (rc != last_error) { + //last_error = rc; + pj_strerror(rc, errmsg, sizeof(errmsg)); + PJ_LOG(3,(THIS_FILE,"...error: read error, bytes_read=%d (%s)", + bytes_read, errmsg)); + PJ_LOG(3,(THIS_FILE, + ".....additional info: total read=%u, total sent=%u", + item->bytes_recv, item->bytes_sent)); + } else { + last_error_counter++; + } + bytes_read = 0; + + } else if (bytes_read == 0) { + PJ_LOG(3,(THIS_FILE, "...socket has closed!")); + } + + item->bytes_recv += bytes_read; + + /* To assure that the test quits, even if main thread + * doesn't have time to run. + */ + if (item->bytes_recv > item->buffer_size * 10000) + thread_quit_flag = 1; + + bytes_read = item->buffer_size; + rc = pj_ioqueue_recv( key, op_key, + item->incoming_buffer, &bytes_read, 0 ); + + if (rc == PJ_SUCCESS) { + data_is_available = 1; + } else if (rc == PJ_EPENDING) { + data_is_available = 0; + } else { + data_is_available = 0; + if (rc != last_error) { + last_error = rc; + app_perror("...error: read error(1)", rc); + } else { + last_error_counter++; + } + } + + if (!item->has_pending_send) { + pj_ssize_t sent = item->buffer_size; + rc = pj_ioqueue_send(item->client_key, &item->send_op, + item->outgoing_buffer, &sent, 0); + if (rc != PJ_SUCCESS && rc != PJ_EPENDING) { + app_perror("...error: write error", rc); + } + + item->has_pending_send = (rc==PJ_EPENDING); + } + + } while (data_is_available); +} + +/* Callback when data has been written. + * Increment item->bytes_sent and write the next data. + */ +static void on_write_complete(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_sent) +{ + test_item *item = (test_item*) pj_ioqueue_get_user_data(key); + + //TRACE_((THIS_FILE, " write complete: sent = %d", bytes_sent)); + + if (thread_quit_flag) + return; + + item->has_pending_send = 0; + item->bytes_sent += bytes_sent; + + if (bytes_sent <= 0) { + PJ_LOG(3,(THIS_FILE, "...error: sending stopped. bytes_sent=%d", + bytes_sent)); + } + else { + pj_status_t rc; + + bytes_sent = item->buffer_size; + rc = pj_ioqueue_send( item->client_key, op_key, + item->outgoing_buffer, &bytes_sent, 0); + if (rc != PJ_SUCCESS && rc != PJ_EPENDING) { + app_perror("...error: write error", rc); + } + + item->has_pending_send = (rc==PJ_EPENDING); + } +} + +struct thread_arg +{ + int id; + pj_ioqueue_t *ioqueue; + unsigned counter; +}; + +/* The worker thread. */ +static int worker_thread(void *p) +{ + struct thread_arg *arg = (struct thread_arg*) p; + const pj_time_val timeout = {0, 100}; + int rc; + + while (!thread_quit_flag) { + + ++arg->counter; + rc = pj_ioqueue_poll(arg->ioqueue, &timeout); + //TRACE_((THIS_FILE, " thread: poll returned rc=%d", rc)); + if (rc < 0) { + char errmsg[PJ_ERR_MSG_SIZE]; + pj_strerror(-rc, errmsg, sizeof(errmsg)); + PJ_LOG(3, (THIS_FILE, + "...error in pj_ioqueue_poll() in thread %d " + "after %d loop: %s [pj_status_t=%d]", + arg->id, arg->counter, errmsg, -rc)); + //return -1; + } + } + return 0; +} + +/* Calculate the bandwidth for the specific test configuration. + * The test is simple: + * - create sockpair_cnt number of producer-consumer socket pair. + * - create thread_cnt number of worker threads. + * - each producer will send buffer_size bytes data as fast and + * as soon as it can. + * - each consumer will read buffer_size bytes of data as fast + * as it could. + * - measure the total bytes received by all consumers during a + * period of time. + */ +static int perform_test(pj_bool_t allow_concur, + int sock_type, const char *type_name, + unsigned thread_cnt, unsigned sockpair_cnt, + pj_size_t buffer_size, + pj_size_t *p_bandwidth) +{ + enum { MSEC_DURATION = 5000 }; + pj_pool_t *pool; + test_item *items; + pj_thread_t **thread; + pj_ioqueue_t *ioqueue; + pj_status_t rc; + pj_ioqueue_callback ioqueue_callback; + pj_uint32_t total_elapsed_usec, total_received; + pj_highprec_t bandwidth; + pj_timestamp start, stop; + unsigned i; + + TRACE_((THIS_FILE, " starting test..")); + + ioqueue_callback.on_read_complete = &on_read_complete; + ioqueue_callback.on_write_complete = &on_write_complete; + + thread_quit_flag = 0; + + pool = pj_pool_create(mem, NULL, 4096, 4096, NULL); + if (!pool) + return -10; + + items = (test_item*) pj_pool_alloc(pool, sockpair_cnt*sizeof(test_item)); + thread = (pj_thread_t**) + pj_pool_alloc(pool, thread_cnt*sizeof(pj_thread_t*)); + + TRACE_((THIS_FILE, " creating ioqueue..")); + rc = pj_ioqueue_create(pool, sockpair_cnt*2, &ioqueue); + if (rc != PJ_SUCCESS) { + app_perror("...error: unable to create ioqueue", rc); + return -15; + } + + rc = pj_ioqueue_set_default_concurrency(ioqueue, allow_concur); + if (rc != PJ_SUCCESS) { + app_perror("...error: pj_ioqueue_set_default_concurrency()", rc); + return -16; + } + + /* Initialize each producer-consumer pair. */ + for (i=0; iid = i; + arg->ioqueue = ioqueue; + arg->counter = 0; + + rc = pj_thread_create( pool, NULL, + &worker_thread, + arg, + PJ_THREAD_DEFAULT_STACK_SIZE, + PJ_THREAD_SUSPENDED, &thread[i] ); + if (rc != PJ_SUCCESS) { + app_perror("...error: unable to create thread", rc); + return -80; + } + } + + /* Mark start time. */ + rc = pj_get_timestamp(&start); + if (rc != PJ_SUCCESS) + return -90; + + /* Start the thread. */ + TRACE_((THIS_FILE, " resuming all threads..")); + for (i=0; i best_bandwidth) + best_bandwidth = bandwidth, best_index = i; + + /* Give it a rest before next test, to allow system to close the + * sockets properly. + */ + pj_thread_sleep(500); + } + + PJ_LOG(3,(THIS_FILE, + " Best: Type=%s Threads=%d, Skt.Pairs=%d, Bandwidth=%u KB/s", + test_param[best_index].type_name, + test_param[best_index].thread_cnt, + test_param[best_index].sockpair_cnt, + best_bandwidth)); + PJ_LOG(3,(THIS_FILE, " (Note: packet size=%d, total errors=%u)", + BUF_SIZE, last_error_counter)); + return 0; +} + +/* + * main test entry. + */ +int ioqueue_perf_test(void) +{ + int rc; + + rc = ioqueue_perf_test_imp(PJ_TRUE); + if (rc != 0) + return rc; + + rc = ioqueue_perf_test_imp(PJ_FALSE); + if (rc != 0) + return rc; + + return 0; +} + +#else +/* To prevent warning about "translation unit is empty" + * when this test is disabled. + */ +int dummy_uiq_perf_test; +#endif /* INCLUDE_IOQUEUE_PERF_TEST */ + + diff --git a/pjlib/src/pjlib-test/ioq_tcp.c b/pjlib/src/pjlib-test/ioq_tcp.c new file mode 100644 index 0000000..aa9e1ef --- /dev/null +++ b/pjlib/src/pjlib-test/ioq_tcp.c @@ -0,0 +1,972 @@ +/* $Id: ioq_tcp.c 4550 2013-07-02 11:45:57Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + +/** + * \page page_pjlib_ioqueue_tcp_test Test: I/O Queue (TCP) + * + * This file provides implementation to test the + * functionality of the I/O queue when TCP socket is used. + * + * + * This file is pjlib-test/ioq_tcp.c + * + * \include pjlib-test/ioq_tcp.c + */ + + +#if INCLUDE_TCP_IOQUEUE_TEST + +#include + +#if PJ_HAS_TCP + +#define THIS_FILE "test_tcp" +#define NON_EXISTANT_PORT 50123 +#define LOOP 100 +#define BUF_MIN_SIZE 32 +#define BUF_MAX_SIZE 2048 +#define SOCK_INACTIVE_MIN (4-2) +#define SOCK_INACTIVE_MAX (PJ_IOQUEUE_MAX_HANDLES - 2) +#define POOL_SIZE (2*BUF_MAX_SIZE + SOCK_INACTIVE_MAX*128 + 2048) + +static pj_ssize_t callback_read_size, + callback_write_size, + callback_accept_status, + callback_connect_status; +static unsigned callback_call_count; +static pj_ioqueue_key_t *callback_read_key, + *callback_write_key, + *callback_accept_key, + *callback_connect_key; +static pj_ioqueue_op_key_t *callback_read_op, + *callback_write_op, + *callback_accept_op; + +static void on_ioqueue_read(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_read) +{ + callback_read_key = key; + callback_read_op = op_key; + callback_read_size = bytes_read; + callback_call_count++; +} + +static void on_ioqueue_write(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_written) +{ + callback_write_key = key; + callback_write_op = op_key; + callback_write_size = bytes_written; + callback_call_count++; +} + +static void on_ioqueue_accept(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_sock_t sock, + int status) +{ + if (sock == PJ_INVALID_SOCKET) { + + if (status != PJ_SUCCESS) { + /* Ignore. Could be blocking error */ + app_perror(".....warning: received error in on_ioqueue_accept() callback", + status); + } else { + callback_accept_status = -61; + PJ_LOG(3,("", "..... on_ioqueue_accept() callback was given " + "invalid socket and status is %d", status)); + } + } else { + pj_sockaddr addr; + int client_addr_len; + + client_addr_len = sizeof(addr); + status = pj_sock_getsockname(sock, &addr, &client_addr_len); + if (status != PJ_SUCCESS) { + app_perror("...ERROR in pj_sock_getsockname()", status); + } + + callback_accept_key = key; + callback_accept_op = op_key; + callback_accept_status = status; + callback_call_count++; + } +} + +static void on_ioqueue_connect(pj_ioqueue_key_t *key, int status) +{ + callback_connect_key = key; + callback_connect_status = status; + callback_call_count++; +} + +static pj_ioqueue_callback test_cb = +{ + &on_ioqueue_read, + &on_ioqueue_write, + &on_ioqueue_accept, + &on_ioqueue_connect, +}; + +static int send_recv_test(pj_ioqueue_t *ioque, + pj_ioqueue_key_t *skey, + pj_ioqueue_key_t *ckey, + void *send_buf, + void *recv_buf, + pj_ssize_t bufsize, + pj_timestamp *t_elapsed) +{ + pj_status_t status; + pj_ssize_t bytes; + pj_time_val timeout; + pj_timestamp t1, t2; + int pending_op = 0; + pj_ioqueue_op_key_t read_op, write_op; + + // Start reading on the server side. + bytes = bufsize; + status = pj_ioqueue_recv(skey, &read_op, recv_buf, &bytes, 0); + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + app_perror("...pj_ioqueue_recv error", status); + return -100; + } + + if (status == PJ_EPENDING) + ++pending_op; + else { + /* Does not expect to return error or immediate data. */ + return -115; + } + + // Randomize send buffer. + pj_create_random_string((char*)send_buf, bufsize); + + // Starts send on the client side. + bytes = bufsize; + status = pj_ioqueue_send(ckey, &write_op, send_buf, &bytes, 0); + if (status != PJ_SUCCESS && bytes != PJ_EPENDING) { + return -120; + } + if (status == PJ_EPENDING) { + ++pending_op; + } + + // Begin time. + pj_get_timestamp(&t1); + + // Reset indicators + callback_read_size = callback_write_size = 0; + callback_read_key = callback_write_key = NULL; + callback_read_op = callback_write_op = NULL; + + // Poll the queue until we've got completion event in the server side. + status = 0; + while (pending_op > 0) { + timeout.sec = 1; timeout.msec = 0; +#ifdef PJ_SYMBIAN + PJ_UNUSED_ARG(ioque); + status = pj_symbianos_poll(-1, 1000); +#else + status = pj_ioqueue_poll(ioque, &timeout); +#endif + if (status > 0) { + if (callback_read_size) { + if (callback_read_size != bufsize) + return -160; + if (callback_read_key != skey) + return -161; + if (callback_read_op != &read_op) + return -162; + } + if (callback_write_size) { + if (callback_write_key != ckey) + return -163; + if (callback_write_op != &write_op) + return -164; + } + pending_op -= status; + } + if (status == 0) { + PJ_LOG(3,("", "...error: timed out")); + } + if (status < 0) { + return -170; + } + } + + // Pending op is zero. + // Subsequent poll should yield zero too. + timeout.sec = timeout.msec = 0; +#ifdef PJ_SYMBIAN + status = pj_symbianos_poll(-1, 1); +#else + status = pj_ioqueue_poll(ioque, &timeout); +#endif + if (status != 0) + return -173; + + // End time. + pj_get_timestamp(&t2); + t_elapsed->u32.lo += (t2.u32.lo - t1.u32.lo); + + // Compare recv buffer with send buffer. + if (pj_memcmp(send_buf, recv_buf, bufsize) != 0) { + return -180; + } + + // Success + return 0; +} + + +/* + * Compliance test for success scenario. + */ +static int compliance_test_0(pj_bool_t allow_concur) +{ + pj_sock_t ssock=-1, csock0=-1, csock1=-1; + pj_sockaddr_in addr, client_addr, rmt_addr; + int client_addr_len; + pj_pool_t *pool = NULL; + char *send_buf, *recv_buf; + pj_ioqueue_t *ioque = NULL; + pj_ioqueue_key_t *skey=NULL, *ckey0=NULL, *ckey1=NULL; + pj_ioqueue_op_key_t accept_op; + int bufsize = BUF_MIN_SIZE; + int status = -1; + int pending_op = 0; + pj_timestamp t_elapsed; + pj_str_t s; + pj_status_t rc; + + // Create pool. + pool = pj_pool_create(mem, NULL, POOL_SIZE, 4000, NULL); + + // Allocate buffers for send and receive. + send_buf = (char*)pj_pool_alloc(pool, bufsize); + recv_buf = (char*)pj_pool_alloc(pool, bufsize); + + // Create server socket and client socket for connecting + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, &ssock); + if (rc != PJ_SUCCESS) { + app_perror("...error creating socket", rc); + status=-1; goto on_error; + } + + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, &csock1); + if (rc != PJ_SUCCESS) { + app_perror("...error creating socket", rc); + status=-1; goto on_error; + } + + // Bind server socket. + pj_sockaddr_in_init(&addr, 0, 0); + if ((rc=pj_sock_bind(ssock, &addr, sizeof(addr))) != 0 ) { + app_perror("...bind error", rc); + status=-10; goto on_error; + } + + // Get server address. + client_addr_len = sizeof(addr); + rc = pj_sock_getsockname(ssock, &addr, &client_addr_len); + if (rc != PJ_SUCCESS) { + app_perror("...ERROR in pj_sock_getsockname()", rc); + status=-15; goto on_error; + } + addr.sin_addr = pj_inet_addr(pj_cstr(&s, "127.0.0.1")); + + // Create I/O Queue. + rc = pj_ioqueue_create(pool, PJ_IOQUEUE_MAX_HANDLES, &ioque); + if (rc != PJ_SUCCESS) { + app_perror("...ERROR in pj_ioqueue_create()", rc); + status=-20; goto on_error; + } + + // Concurrency + rc = pj_ioqueue_set_default_concurrency(ioque, allow_concur); + if (rc != PJ_SUCCESS) { + app_perror("...ERROR in pj_ioqueue_set_default_concurrency()", rc); + status=-21; goto on_error; + } + + // Register server socket and client socket. + rc = pj_ioqueue_register_sock(pool, ioque, ssock, NULL, &test_cb, &skey); + if (rc == PJ_SUCCESS) + rc = pj_ioqueue_register_sock(pool, ioque, csock1, NULL, &test_cb, + &ckey1); + else + ckey1 = NULL; + if (rc != PJ_SUCCESS) { + app_perror("...ERROR in pj_ioqueue_register_sock()", rc); + status=-23; goto on_error; + } + + // Server socket listen(). + if (pj_sock_listen(ssock, 5)) { + app_perror("...ERROR in pj_sock_listen()", rc); + status=-25; goto on_error; + } + + // Server socket accept() + client_addr_len = sizeof(pj_sockaddr_in); + status = pj_ioqueue_accept(skey, &accept_op, &csock0, + &client_addr, &rmt_addr, &client_addr_len); + if (status != PJ_EPENDING) { + app_perror("...ERROR in pj_ioqueue_accept()", rc); + status=-30; goto on_error; + } + if (status==PJ_EPENDING) { + ++pending_op; + } + + // Client socket connect() + status = pj_ioqueue_connect(ckey1, &addr, sizeof(addr)); + if (status!=PJ_SUCCESS && status != PJ_EPENDING) { + app_perror("...ERROR in pj_ioqueue_connect()", rc); + status=-40; goto on_error; + } + if (status==PJ_EPENDING) { + ++pending_op; + } + + // Poll until connected + callback_read_size = callback_write_size = 0; + callback_accept_status = callback_connect_status = -2; + callback_call_count = 0; + + callback_read_key = callback_write_key = + callback_accept_key = callback_connect_key = NULL; + callback_accept_op = callback_read_op = callback_write_op = NULL; + + while (pending_op) { + pj_time_val timeout = {1, 0}; + +#ifdef PJ_SYMBIAN + callback_call_count = 0; + pj_symbianos_poll(-1, PJ_TIME_VAL_MSEC(timeout)); + status = callback_call_count; +#else + status = pj_ioqueue_poll(ioque, &timeout); +#endif + if (status > 0) { + if (callback_accept_status != -2) { + if (callback_accept_status != 0) { + status=-41; goto on_error; + } + if (callback_accept_key != skey) { + status=-42; goto on_error; + } + if (callback_accept_op != &accept_op) { + status=-43; goto on_error; + } + callback_accept_status = -2; + } + + if (callback_connect_status != -2) { + if (callback_connect_status != 0) { + status=-50; goto on_error; + } + if (callback_connect_key != ckey1) { + status=-51; goto on_error; + } + callback_connect_status = -2; + } + + if (status > pending_op) { + PJ_LOG(3,(THIS_FILE, + "...error: pj_ioqueue_poll() returned %d " + "(only expecting %d)", + status, pending_op)); + return -52; + } + pending_op -= status; + + if (pending_op == 0) { + status = 0; + } + } + } + + // There's no pending operation. + // When we poll the ioqueue, there must not be events. + if (pending_op == 0) { + pj_time_val timeout = {1, 0}; +#ifdef PJ_SYMBIAN + status = pj_symbianos_poll(-1, PJ_TIME_VAL_MSEC(timeout)); +#else + status = pj_ioqueue_poll(ioque, &timeout); +#endif + if (status != 0) { + status=-60; goto on_error; + } + } + + // Check accepted socket. + if (csock0 == PJ_INVALID_SOCKET) { + status = -69; + app_perror("...accept() error", pj_get_os_error()); + goto on_error; + } + + // Register newly accepted socket. + rc = pj_ioqueue_register_sock(pool, ioque, csock0, NULL, + &test_cb, &ckey0); + if (rc != PJ_SUCCESS) { + app_perror("...ERROR in pj_ioqueue_register_sock", rc); + status = -70; + goto on_error; + } + + // Test send and receive. + t_elapsed.u32.lo = 0; + status = send_recv_test(ioque, ckey0, ckey1, send_buf, + recv_buf, bufsize, &t_elapsed); + if (status != 0) { + goto on_error; + } + + // Success + status = 0; + +on_error: + if (skey != NULL) + pj_ioqueue_unregister(skey); + else if (ssock != PJ_INVALID_SOCKET) + pj_sock_close(ssock); + + if (ckey1 != NULL) + pj_ioqueue_unregister(ckey1); + else if (csock1 != PJ_INVALID_SOCKET) + pj_sock_close(csock1); + + if (ckey0 != NULL) + pj_ioqueue_unregister(ckey0); + else if (csock0 != PJ_INVALID_SOCKET) + pj_sock_close(csock0); + + if (ioque != NULL) + pj_ioqueue_destroy(ioque); + pj_pool_release(pool); + return status; + +} + +/* + * Compliance test for failed scenario. + * In this case, the client connects to a non-existant service. + */ +static int compliance_test_1(pj_bool_t allow_concur) +{ + pj_sock_t csock1=PJ_INVALID_SOCKET; + pj_sockaddr_in addr; + pj_pool_t *pool = NULL; + pj_ioqueue_t *ioque = NULL; + pj_ioqueue_key_t *ckey1 = NULL; + int status = -1; + int pending_op = 0; + pj_str_t s; + pj_status_t rc; + + // Create pool. + pool = pj_pool_create(mem, NULL, POOL_SIZE, 4000, NULL); + + // Create I/O Queue. + rc = pj_ioqueue_create(pool, PJ_IOQUEUE_MAX_HANDLES, &ioque); + if (!ioque) { + status=-20; goto on_error; + } + + // Concurrency + rc = pj_ioqueue_set_default_concurrency(ioque, allow_concur); + if (rc != PJ_SUCCESS) { + status=-21; goto on_error; + } + + // Create client socket + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, &csock1); + if (rc != PJ_SUCCESS) { + app_perror("...ERROR in pj_sock_socket()", rc); + status=-1; goto on_error; + } + + // Register client socket. + rc = pj_ioqueue_register_sock(pool, ioque, csock1, NULL, + &test_cb, &ckey1); + if (rc != PJ_SUCCESS) { + app_perror("...ERROR in pj_ioqueue_register_sock()", rc); + status=-23; goto on_error; + } + + // Initialize remote address. + pj_sockaddr_in_init(&addr, pj_cstr(&s, "127.0.0.1"), NON_EXISTANT_PORT); + + // Client socket connect() + status = pj_ioqueue_connect(ckey1, &addr, sizeof(addr)); + if (status==PJ_SUCCESS) { + // unexpectedly success! + status = -30; + goto on_error; + } + if (status != PJ_EPENDING) { + // success + } else { + ++pending_op; + } + + callback_connect_status = -2; + callback_connect_key = NULL; + + // Poll until we've got result + while (pending_op) { + pj_time_val timeout = {1, 0}; + +#ifdef PJ_SYMBIAN + callback_call_count = 0; + pj_symbianos_poll(-1, PJ_TIME_VAL_MSEC(timeout)); + status = callback_call_count; +#else + status = pj_ioqueue_poll(ioque, &timeout); +#endif + if (status > 0) { + if (callback_connect_key==ckey1) { + if (callback_connect_status == 0) { + // unexpectedly connected! + status = -50; + goto on_error; + } + } + + if (status > pending_op) { + PJ_LOG(3,(THIS_FILE, + "...error: pj_ioqueue_poll() returned %d " + "(only expecting %d)", + status, pending_op)); + return -552; + } + + pending_op -= status; + if (pending_op == 0) { + status = 0; + } + } + } + + // There's no pending operation. + // When we poll the ioqueue, there must not be events. + if (pending_op == 0) { + pj_time_val timeout = {1, 0}; +#ifdef PJ_SYMBIAN + status = pj_symbianos_poll(-1, PJ_TIME_VAL_MSEC(timeout)); +#else + status = pj_ioqueue_poll(ioque, &timeout); +#endif + if (status != 0) { + status=-60; goto on_error; + } + } + + // Success + status = 0; + +on_error: + if (ckey1 != NULL) + pj_ioqueue_unregister(ckey1); + else if (csock1 != PJ_INVALID_SOCKET) + pj_sock_close(csock1); + + if (ioque != NULL) + pj_ioqueue_destroy(ioque); + pj_pool_release(pool); + return status; +} + + +/* + * Repeated connect/accept on the same listener socket. + */ +static int compliance_test_2(pj_bool_t allow_concur) +{ +#if defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0 + enum { MAX_PAIR = 1, TEST_LOOP = 2 }; +#else + enum { MAX_PAIR = 4, TEST_LOOP = 2 }; +#endif + + struct listener + { + pj_sock_t sock; + pj_ioqueue_key_t *key; + pj_sockaddr_in addr; + int addr_len; + } listener; + + struct server + { + pj_sock_t sock; + pj_ioqueue_key_t *key; + pj_sockaddr_in local_addr; + pj_sockaddr_in rem_addr; + int rem_addr_len; + pj_ioqueue_op_key_t accept_op; + } server[MAX_PAIR]; + + struct client + { + pj_sock_t sock; + pj_ioqueue_key_t *key; + } client[MAX_PAIR]; + + pj_pool_t *pool = NULL; + char *send_buf, *recv_buf; + pj_ioqueue_t *ioque = NULL; + int i, bufsize = BUF_MIN_SIZE; + int status; + int test_loop, pending_op = 0; + pj_timestamp t_elapsed; + pj_str_t s; + pj_status_t rc; + + listener.sock = PJ_INVALID_SOCKET; + listener.key = NULL; + + for (i=0; i 0) { + if (status > pending_op) { + PJ_LOG(3,(THIS_FILE, + "...error: pj_ioqueue_poll() returned %d " + "(only expecting %d)", + status, pending_op)); + return -110; + } + pending_op -= status; + + if (pending_op == 0) { + status = 0; + } + } + } + } + + // There's no pending operation. + // When we poll the ioqueue, there must not be events. + if (pending_op == 0) { + pj_time_val timeout = {1, 0}; +#ifdef PJ_SYMBIAN + status = pj_symbianos_poll(-1, PJ_TIME_VAL_MSEC(timeout)); +#else + status = pj_ioqueue_poll(ioque, &timeout); +#endif + if (status != 0) { + status=-120; goto on_error; + } + } + + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + + +/** + * \page page_pjlib_ioqueue_udp_test Test: I/O Queue (UDP) + * + * This file provides implementation to test the + * functionality of the I/O queue when UDP socket is used. + * + * + * This file is pjlib-test/ioq_udp.c + * + * \include pjlib-test/ioq_udp.c + */ + + +#if INCLUDE_UDP_IOQUEUE_TEST + +#include + +#include + +#define THIS_FILE "test_udp" +#define PORT 51233 +#define LOOP 2 +///#define LOOP 2 +#define BUF_MIN_SIZE 32 +#define BUF_MAX_SIZE 2048 +#define SOCK_INACTIVE_MIN (1) +#define SOCK_INACTIVE_MAX (PJ_IOQUEUE_MAX_HANDLES - 2) +#define POOL_SIZE (2*BUF_MAX_SIZE + SOCK_INACTIVE_MAX*128 + 2048) + +#undef TRACE_ +#define TRACE_(msg) PJ_LOG(3,(THIS_FILE,"....." msg)) + +#if 0 +# define TRACE__(args) PJ_LOG(3,args) +#else +# define TRACE__(args) +#endif + + +static pj_ssize_t callback_read_size, + callback_write_size, + callback_accept_status, + callback_connect_status; +static pj_ioqueue_key_t *callback_read_key, + *callback_write_key, + *callback_accept_key, + *callback_connect_key; +static pj_ioqueue_op_key_t *callback_read_op, + *callback_write_op, + *callback_accept_op; + +static void on_ioqueue_read(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_read) +{ + callback_read_key = key; + callback_read_op = op_key; + callback_read_size = bytes_read; + TRACE__((THIS_FILE, " callback_read_key = %p, bytes=%d", + key, bytes_read)); +} + +static void on_ioqueue_write(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_written) +{ + callback_write_key = key; + callback_write_op = op_key; + callback_write_size = bytes_written; +} + +static void on_ioqueue_accept(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_sock_t sock, int status) +{ + PJ_UNUSED_ARG(sock); + callback_accept_key = key; + callback_accept_op = op_key; + callback_accept_status = status; +} + +static void on_ioqueue_connect(pj_ioqueue_key_t *key, int status) +{ + callback_connect_key = key; + callback_connect_status = status; +} + +static pj_ioqueue_callback test_cb = +{ + &on_ioqueue_read, + &on_ioqueue_write, + &on_ioqueue_accept, + &on_ioqueue_connect, +}; + +#if defined(PJ_WIN32) || defined(PJ_WIN64) +# define S_ADDR S_un.S_addr +#else +# define S_ADDR s_addr +#endif + +/* + * compliance_test() + * To test that the basic IOQueue functionality works. It will just exchange + * data between two sockets. + */ +static int compliance_test(pj_bool_t allow_concur) +{ + pj_sock_t ssock=-1, csock=-1; + pj_sockaddr_in addr, dst_addr; + int addrlen; + pj_pool_t *pool = NULL; + char *send_buf, *recv_buf; + pj_ioqueue_t *ioque = NULL; + pj_ioqueue_key_t *skey = NULL, *ckey = NULL; + pj_ioqueue_op_key_t read_op, write_op; + int bufsize = BUF_MIN_SIZE; + pj_ssize_t bytes; + int status = -1; + pj_str_t temp; + pj_bool_t send_pending, recv_pending; + pj_status_t rc; + + pj_set_os_error(PJ_SUCCESS); + + // Create pool. + pool = pj_pool_create(mem, NULL, POOL_SIZE, 4000, NULL); + + // Allocate buffers for send and receive. + send_buf = (char*)pj_pool_alloc(pool, bufsize); + recv_buf = (char*)pj_pool_alloc(pool, bufsize); + + // Allocate sockets for sending and receiving. + TRACE_("creating sockets..."); + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &ssock); + if (rc==PJ_SUCCESS) + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &csock); + else + csock = PJ_INVALID_SOCKET; + if (rc != PJ_SUCCESS) { + app_perror("...ERROR in pj_sock_socket()", rc); + status=-1; goto on_error; + } + + // Bind server socket. + TRACE_("bind socket..."); + pj_bzero(&addr, sizeof(addr)); + addr.sin_family = pj_AF_INET(); + addr.sin_port = pj_htons(PORT); + if (pj_sock_bind(ssock, &addr, sizeof(addr))) { + status=-10; goto on_error; + } + + // Create I/O Queue. + TRACE_("create ioqueue..."); + rc = pj_ioqueue_create(pool, PJ_IOQUEUE_MAX_HANDLES, &ioque); + if (rc != PJ_SUCCESS) { + status=-20; goto on_error; + } + + // Set concurrency + TRACE_("set concurrency..."); + rc = pj_ioqueue_set_default_concurrency(ioque, allow_concur); + if (rc != PJ_SUCCESS) { + status=-21; goto on_error; + } + + // Register server and client socket. + // We put this after inactivity socket, hopefully this can represent the + // worst waiting time. + TRACE_("registering first sockets..."); + rc = pj_ioqueue_register_sock(pool, ioque, ssock, NULL, + &test_cb, &skey); + if (rc != PJ_SUCCESS) { + app_perror("...error(10): ioqueue_register error", rc); + status=-25; goto on_error; + } + TRACE_("registering second sockets..."); + rc = pj_ioqueue_register_sock( pool, ioque, csock, NULL, + &test_cb, &ckey); + if (rc != PJ_SUCCESS) { + app_perror("...error(11): ioqueue_register error", rc); + status=-26; goto on_error; + } + + // Randomize send_buf. + pj_create_random_string(send_buf, bufsize); + + // Register reading from ioqueue. + TRACE_("start recvfrom..."); + pj_bzero(&addr, sizeof(addr)); + addrlen = sizeof(addr); + bytes = bufsize; + rc = pj_ioqueue_recvfrom(skey, &read_op, recv_buf, &bytes, 0, + &addr, &addrlen); + if (rc != PJ_SUCCESS && rc != PJ_EPENDING) { + app_perror("...error: pj_ioqueue_recvfrom", rc); + status=-28; goto on_error; + } else if (rc == PJ_EPENDING) { + recv_pending = 1; + PJ_LOG(3, (THIS_FILE, + "......ok: recvfrom returned pending")); + } else { + PJ_LOG(3, (THIS_FILE, + "......error: recvfrom returned immediate ok!")); + status=-29; goto on_error; + } + + // Set destination address to send the packet. + TRACE_("set destination address..."); + temp = pj_str("127.0.0.1"); + if ((rc=pj_sockaddr_in_init(&dst_addr, &temp, PORT)) != 0) { + app_perror("...error: unable to resolve 127.0.0.1", rc); + status=-290; goto on_error; + } + + // Write must return the number of bytes. + TRACE_("start sendto..."); + bytes = bufsize; + rc = pj_ioqueue_sendto(ckey, &write_op, send_buf, &bytes, 0, &dst_addr, + sizeof(dst_addr)); + if (rc != PJ_SUCCESS && rc != PJ_EPENDING) { + app_perror("...error: pj_ioqueue_sendto", rc); + status=-30; goto on_error; + } else if (rc == PJ_EPENDING) { + send_pending = 1; + PJ_LOG(3, (THIS_FILE, + "......ok: sendto returned pending")); + } else { + send_pending = 0; + PJ_LOG(3, (THIS_FILE, + "......ok: sendto returned immediate success")); + } + + // reset callback variables. + callback_read_size = callback_write_size = 0; + callback_accept_status = callback_connect_status = -2; + callback_read_key = callback_write_key = + callback_accept_key = callback_connect_key = NULL; + callback_read_op = callback_write_op = NULL; + + // Poll if pending. + while (send_pending || recv_pending) { + int rc; + pj_time_val timeout = { 5, 0 }; + + TRACE_("poll..."); +#ifdef PJ_SYMBIAN + rc = pj_symbianos_poll(-1, PJ_TIME_VAL_MSEC(timeout)); +#else + rc = pj_ioqueue_poll(ioque, &timeout); +#endif + + if (rc == 0) { + PJ_LOG(1,(THIS_FILE, "...ERROR: timed out...")); + status=-45; goto on_error; + } else if (rc < 0) { + app_perror("...ERROR in ioqueue_poll()", -rc); + status=-50; goto on_error; + } + + if (callback_read_key != NULL) { + if (callback_read_size != bufsize) { + status=-61; goto on_error; + } + if (callback_read_key != skey) { + status=-65; goto on_error; + } + if (callback_read_op != &read_op) { + status=-66; goto on_error; + } + + if (pj_memcmp(send_buf, recv_buf, bufsize) != 0) { + status=-67; goto on_error; + } + if (addrlen != sizeof(pj_sockaddr_in)) { + status=-68; goto on_error; + } + if (addr.sin_family != pj_AF_INET()) { + status=-69; goto on_error; + } + + + recv_pending = 0; + } + + if (callback_write_key != NULL) { + if (callback_write_size != bufsize) { + status=-73; goto on_error; + } + if (callback_write_key != ckey) { + status=-75; goto on_error; + } + if (callback_write_op != &write_op) { + status=-76; goto on_error; + } + + send_pending = 0; + } + } + + // Success + status = 0; + +on_error: + if (skey) + pj_ioqueue_unregister(skey); + else if (ssock != -1) + pj_sock_close(ssock); + + if (ckey) + pj_ioqueue_unregister(ckey); + else if (csock != -1) + pj_sock_close(csock); + + if (ioque != NULL) + pj_ioqueue_destroy(ioque); + pj_pool_release(pool); + return status; + +} + + +static void on_read_complete(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_read) +{ + unsigned *p_packet_cnt = (unsigned*) pj_ioqueue_get_user_data(key); + + PJ_UNUSED_ARG(op_key); + PJ_UNUSED_ARG(bytes_read); + + (*p_packet_cnt)++; +} + +/* + * unregister_test() + * Check if callback is still called after socket has been unregistered or + * closed. + */ +static int unregister_test(pj_bool_t allow_concur) +{ + enum { RPORT = 50000, SPORT = 50001 }; + pj_pool_t *pool; + pj_ioqueue_t *ioqueue; + pj_sock_t ssock; + pj_sock_t rsock; + int addrlen; + pj_sockaddr_in addr; + pj_ioqueue_key_t *key; + pj_ioqueue_op_key_t opkey; + pj_ioqueue_callback cb; + unsigned packet_cnt; + char sendbuf[10], recvbuf[10]; + pj_ssize_t bytes; + pj_time_val timeout; + pj_status_t status; + + pool = pj_pool_create(mem, "test", 4000, 4000, NULL); + if (!pool) { + app_perror("Unable to create pool", PJ_ENOMEM); + return -100; + } + + status = pj_ioqueue_create(pool, 16, &ioqueue); + if (status != PJ_SUCCESS) { + app_perror("Error creating ioqueue", status); + return -110; + } + + // Set concurrency + TRACE_("set concurrency..."); + status = pj_ioqueue_set_default_concurrency(ioqueue, allow_concur); + if (status != PJ_SUCCESS) { + return -112; + } + + /* Create sender socket */ + status = app_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, SPORT, &ssock); + if (status != PJ_SUCCESS) { + app_perror("Error initializing socket", status); + return -120; + } + + /* Create receiver socket. */ + status = app_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, RPORT, &rsock); + if (status != PJ_SUCCESS) { + app_perror("Error initializing socket", status); + return -130; + } + + /* Register rsock to ioqueue. */ + pj_bzero(&cb, sizeof(cb)); + cb.on_read_complete = &on_read_complete; + packet_cnt = 0; + status = pj_ioqueue_register_sock(pool, ioqueue, rsock, &packet_cnt, + &cb, &key); + if (status != PJ_SUCCESS) { + app_perror("Error registering to ioqueue", status); + return -140; + } + + /* Init operation key. */ + pj_ioqueue_op_key_init(&opkey, sizeof(opkey)); + + /* Start reading. */ + bytes = sizeof(recvbuf); + status = pj_ioqueue_recv( key, &opkey, recvbuf, &bytes, 0); + if (status != PJ_EPENDING) { + app_perror("Expecting PJ_EPENDING, but got this", status); + return -150; + } + + /* Init destination address. */ + addrlen = sizeof(addr); + status = pj_sock_getsockname(rsock, &addr, &addrlen); + if (status != PJ_SUCCESS) { + app_perror("getsockname error", status); + return -160; + } + + /* Override address with 127.0.0.1, since getsockname will return + * zero in the address field. + */ + addr.sin_addr = pj_inet_addr2("127.0.0.1"); + + /* Init buffer to send */ + pj_ansi_strcpy(sendbuf, "Hello0123"); + + /* Send one packet. */ + bytes = sizeof(sendbuf); + status = pj_sock_sendto(ssock, sendbuf, &bytes, 0, + &addr, sizeof(addr)); + + if (status != PJ_SUCCESS) { + app_perror("sendto error", status); + return -170; + } + + /* Check if packet is received. */ + timeout.sec = 1; timeout.msec = 0; +#ifdef PJ_SYMBIAN + pj_symbianos_poll(-1, 1000); +#else + pj_ioqueue_poll(ioqueue, &timeout); +#endif + + if (packet_cnt != 1) { + return -180; + } + + /* Just to make sure things are settled.. */ + pj_thread_sleep(100); + + /* Start reading again. */ + bytes = sizeof(recvbuf); + status = pj_ioqueue_recv( key, &opkey, recvbuf, &bytes, 0); + if (status != PJ_EPENDING) { + app_perror("Expecting PJ_EPENDING, but got this", status); + return -190; + } + + /* Reset packet counter */ + packet_cnt = 0; + + /* Send one packet. */ + bytes = sizeof(sendbuf); + status = pj_sock_sendto(ssock, sendbuf, &bytes, 0, + &addr, sizeof(addr)); + + if (status != PJ_SUCCESS) { + app_perror("sendto error", status); + return -200; + } + + /* Now unregister and close socket. */ + pj_ioqueue_unregister(key); + + /* Poll ioqueue. */ +#ifdef PJ_SYMBIAN + pj_symbianos_poll(-1, 1000); +#else + timeout.sec = 1; timeout.msec = 0; + pj_ioqueue_poll(ioqueue, &timeout); +#endif + + /* Must NOT receive any packets after socket is closed! */ + if (packet_cnt > 0) { + PJ_LOG(3,(THIS_FILE, "....errror: not expecting to receive packet " + "after socket has been closed")); + return -210; + } + + /* Success */ + pj_sock_close(ssock); + pj_ioqueue_destroy(ioqueue); + + pj_pool_release(pool); + + return 0; +} + + +/* + * Testing with many handles. + * This will just test registering PJ_IOQUEUE_MAX_HANDLES count + * of sockets to the ioqueue. + */ +static int many_handles_test(pj_bool_t allow_concur) +{ + enum { MAX = PJ_IOQUEUE_MAX_HANDLES }; + pj_pool_t *pool; + pj_ioqueue_t *ioqueue; + pj_sock_t *sock; + pj_ioqueue_key_t **key; + pj_status_t rc; + int count, i; /* must be signed */ + + PJ_LOG(3,(THIS_FILE,"...testing with so many handles")); + + pool = pj_pool_create(mem, NULL, 4000, 4000, NULL); + if (!pool) + return PJ_ENOMEM; + + key = (pj_ioqueue_key_t**) + pj_pool_alloc(pool, MAX*sizeof(pj_ioqueue_key_t*)); + sock = (pj_sock_t*) pj_pool_alloc(pool, MAX*sizeof(pj_sock_t)); + + /* Create IOQueue */ + rc = pj_ioqueue_create(pool, MAX, &ioqueue); + if (rc != PJ_SUCCESS || ioqueue == NULL) { + app_perror("...error in pj_ioqueue_create", rc); + return -10; + } + + // Set concurrency + rc = pj_ioqueue_set_default_concurrency(ioqueue, allow_concur); + if (rc != PJ_SUCCESS) { + return -11; + } + + /* Register as many sockets. */ + for (count=0; count=0; --i) { + ///for (i=0; i= 0 && callback_read_key != skey); + + // End time. + pj_get_timestamp(&t2); + t_elapsed.u64 += (t2.u64 - t1.u64); + + if (rc < 0) { + app_perror(" error: pj_ioqueue_poll", -rc); + break; + } + + // Compare recv buffer with send buffer. + if (callback_read_size != bufsize || + pj_memcmp(send_buf, recv_buf, bufsize)) + { + rc = -10; + PJ_LOG(3,(THIS_FILE, " error: size/buffer mismatch")); + break; + } + + // Poll until all events are exhausted, before we start the next loop. + do { + pj_time_val timeout = { 0, 10 }; +#ifdef PJ_SYMBIAN + PJ_UNUSED_ARG(timeout); + rc = pj_symbianos_poll(-1, 100); +#else + rc = pj_ioqueue_poll(ioque, &timeout); +#endif + } while (rc>0); + + rc = 0; + } + + // Print results + if (rc == 0) { + pj_timestamp tzero; + pj_uint32_t usec_delay; + + tzero.u32.hi = tzero.u32.lo = 0; + usec_delay = pj_elapsed_usec( &tzero, &t_elapsed); + + PJ_LOG(3, (THIS_FILE, "...%10d %15d % 9d", + bufsize, inactive_sock_count, usec_delay)); + + } else { + PJ_LOG(2, (THIS_FILE, "...ERROR rc=%d (buf:%d, fds:%d)", + rc, bufsize, inactive_sock_count+2)); + } + + // Cleaning up. + for (i=inactive_sock_count-1; i>=0; --i) { + pj_ioqueue_unregister(keys[i]); + } + + pj_ioqueue_unregister(skey); + pj_ioqueue_unregister(ckey); + + + pj_ioqueue_destroy(ioque); + pj_pool_release( pool); + return rc; + +on_error: + PJ_LOG(1,(THIS_FILE, "...ERROR: %s", + pj_strerror(pj_get_netos_error(), errbuf, sizeof(errbuf)))); + if (ssock) + pj_sock_close(ssock); + if (csock) + pj_sock_close(csock); + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + +#if INCLUDE_IOQUEUE_UNREG_TEST +/* + * This tests the thread safety of ioqueue unregistration operation. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define THIS_FILE "ioq_unreg.c" + + +enum test_method +{ + UNREGISTER_IN_APP, + UNREGISTER_IN_CALLBACK, +}; + +static int thread_quitting; +static enum test_method test_method; +static pj_time_val time_to_unregister; + +struct sock_data +{ + pj_sock_t sock; + pj_sock_t csock; + pj_pool_t *pool; + pj_ioqueue_key_t *key; + pj_mutex_t *mutex; + pj_ioqueue_op_key_t *op_key; + char *buffer; + pj_size_t bufsize; + pj_bool_t unregistered; + pj_ssize_t received; +} sock_data; + +static void on_read_complete(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_read) +{ + pj_ssize_t size; + char *sendbuf = "Hello world"; + pj_status_t status; + + if (sock_data.unregistered) + return; + + pj_mutex_lock(sock_data.mutex); + + if (sock_data.unregistered) { + pj_mutex_unlock(sock_data.mutex); + return; + } + + if (bytes_read < 0) { + if (-bytes_read != PJ_STATUS_FROM_OS(PJ_BLOCKING_ERROR_VAL)) + app_perror("ioqueue reported recv error", (pj_status_t)-bytes_read); + } else { + sock_data.received += bytes_read; + } + + if (test_method == UNREGISTER_IN_CALLBACK) { + pj_time_val now; + + pj_gettimeofday(&now); + if (PJ_TIME_VAL_GTE(now, time_to_unregister)) { + sock_data.unregistered = 1; + pj_ioqueue_unregister(key); + pj_mutex_unlock(sock_data.mutex); + return; + } + } + + do { + size = sock_data.bufsize; + status = pj_ioqueue_recv(key, op_key, sock_data.buffer, &size, 0); + if (status != PJ_EPENDING && status != PJ_SUCCESS) + app_perror("recv() error", status); + + } while (status == PJ_SUCCESS); + + pj_mutex_unlock(sock_data.mutex); + + size = pj_ansi_strlen(sendbuf); + status = pj_sock_send(sock_data.csock, sendbuf, &size, 0); + if (status != PJ_SUCCESS) + app_perror("send() error", status); + + size = pj_ansi_strlen(sendbuf); + status = pj_sock_send(sock_data.csock, sendbuf, &size, 0); + if (status != PJ_SUCCESS) + app_perror("send() error", status); + +} + +static int worker_thread(void *arg) +{ + pj_ioqueue_t *ioqueue = (pj_ioqueue_t*) arg; + + while (!thread_quitting) { + pj_time_val timeout = { 0, 20 }; + pj_ioqueue_poll(ioqueue, &timeout); + } + + return 0; +} + +/* + * Perform unregistration test. + * + * This will create ioqueue and register a server socket. Depending + * on the test method, either the callback or the main thread will + * unregister and destroy the server socket after some period of time. + */ +static int perform_unreg_test(pj_ioqueue_t *ioqueue, + pj_pool_t *test_pool, + const char *title, + pj_bool_t other_socket) +{ + enum { WORKER_CNT = 1, MSEC = 500, QUIT_MSEC = 500 }; + int i; + pj_thread_t *thread[WORKER_CNT]; + struct sock_data osd; + pj_ioqueue_callback callback; + pj_time_val end_time; + pj_status_t status; + + + /* Sometimes its important to have other sockets registered to + * the ioqueue, because when no sockets are registered, the ioqueue + * will return from the poll early. + */ + if (other_socket) { + status = app_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, 56127, &osd.sock); + if (status != PJ_SUCCESS) { + app_perror("Error creating other socket", status); + return -12; + } + + pj_bzero(&callback, sizeof(callback)); + status = pj_ioqueue_register_sock(test_pool, ioqueue, osd.sock, + NULL, &callback, &osd.key); + if (status != PJ_SUCCESS) { + app_perror("Error registering other socket", status); + return -13; + } + + } else { + osd.key = NULL; + osd.sock = PJ_INVALID_SOCKET; + } + + /* Init both time duration of testing */ + thread_quitting = 0; + pj_gettimeofday(&time_to_unregister); + time_to_unregister.msec += MSEC; + pj_time_val_normalize(&time_to_unregister); + + end_time = time_to_unregister; + end_time.msec += QUIT_MSEC; + pj_time_val_normalize(&end_time); + + + /* Create polling thread */ + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + +/** + * \page page_pjlib_list_test Test: Linked List + * + * This file provides implementation of \b list_test(). It tests the + * functionality of the linked-list API. + * + * \section list_test_sec Scope of the Test + * + * API tested: + * - pj_list_init() + * - pj_list_insert_before() + * - pj_list_insert_after() + * - pj_list_merge_last() + * - pj_list_empty() + * - pj_list_insert_nodes_before() + * - pj_list_erase() + * - pj_list_find_node() + * - pj_list_search() + * + * + * This file is pjlib-test/list.c + * + * \include pjlib-test/list.c + */ + +#if INCLUDE_LIST_TEST + +#include + +typedef struct list_node +{ + PJ_DECL_LIST_MEMBER(struct list_node); + int value; +} list_node; + +static int compare_node(void *value, const pj_list_type *nd) +{ + list_node *node = (list_node*)nd; + return ((long)(pj_ssize_t)value == node->value) ? 0 : -1; +} + +#define PJ_SIGNED_ARRAY_SIZE(a) ((int)PJ_ARRAY_SIZE(a)) + +int list_test() +{ + list_node nodes[4]; // must be even number of nodes + list_node list; + list_node list2; + list_node *p; + int i; // don't change to unsigned! + + // + // Test insert_before(). + // + list.value = (unsigned)-1; + pj_list_init(&list); + for (i=0; inext) { + pj_assert(p->value == i); + if (p->value != i) { + return -1; + } + } + + // + // Test insert_after() + // + pj_list_init(&list); + for (i=PJ_SIGNED_ARRAY_SIZE(nodes)-1; i>=0; --i) { + pj_list_insert_after(&list, &nodes[i]); + } + // check. + for (i=0, p=list.next; inext) { + pj_assert(p->value == i); + if (p->value != i) { + return -1; + } + } + + // + // Test merge_last() + // + // Init lists + pj_list_init(&list); + pj_list_init(&list2); + for (i=0; inext) { + pj_assert(p->value == i); + if (p->value != i) { + return -1; + } + } + // check list is empty + pj_assert( pj_list_empty(&list2) ); + if (!pj_list_empty(&list2)) { + return -1; + } + + // + // Check merge_first() + // + pj_list_init(&list); + pj_list_init(&list2); + for (i=0; inext) { + pj_assert(p->value == i); + if (p->value != i) { + return -1; + } + } + // check list is empty + pj_assert( pj_list_empty(&list) ); + if (!pj_list_empty(&list)) { + return -1; + } + + // + // Test insert_nodes_before() + // + // init list + pj_list_init(&list); + for (i=0; inext) { + pj_assert(p->value == i); + if (p->value != i) { + return -1; + } + } + + // erase test. + pj_list_init(&list); + for (i=0; i=0; --i) { + int j; + pj_list_erase(&nodes[i]); + for (j=0, p=list.next; jnext) { + pj_assert(p->value == j); + if (p->value != j) { + return -1; + } + } + } + + // find and search + pj_list_init(&list); + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + +#include +#include +#include +#include + +extern int param_echo_sock_type; +extern const char *param_echo_server; +extern int param_echo_port; + + +//#if defined(PJ_WIN32) && PJ_WIN32!=0 +#if 0 +#include +static void boost(void) +{ + SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS); +} +#else +#define boost() +#endif + +#if defined(PJ_SUNOS) && PJ_SUNOS!=0 +#include +static void init_signals() +{ + struct sigaction act; + + memset(&act, 0, sizeof(act)); + act.sa_handler = SIG_IGN; + + sigaction(SIGALRM, &act, NULL); +} + +#else +#define init_signals() +#endif + +int main(int argc, char *argv[]) +{ + int rc; + int interractive = 0; + + boost(); + init_signals(); + + while (argc > 1) { + char *arg = argv[--argc]; + + if (*arg=='-' && *(arg+1)=='i') { + interractive = 1; + + } else if (*arg=='-' && *(arg+1)=='p') { + pj_str_t port = pj_str(argv[--argc]); + + param_echo_port = pj_strtoul(&port); + + } else if (*arg=='-' && *(arg+1)=='s') { + param_echo_server = argv[--argc]; + + } else if (*arg=='-' && *(arg+1)=='t') { + pj_str_t type = pj_str(argv[--argc]); + + if (pj_stricmp2(&type, "tcp")==0) + param_echo_sock_type = pj_SOCK_STREAM(); + else if (pj_stricmp2(&type, "udp")==0) + param_echo_sock_type = pj_SOCK_DGRAM(); + else { + PJ_LOG(3,("", "error: unknown socket type %s", type.ptr)); + return 1; + } + } + } + + rc = test_main(); + + if (interractive) { + char s[10]; + puts(""); + puts("Press to exit"); + if (!fgets(s, sizeof(s), stdin)) + return rc; + } + + return rc; +} + diff --git a/pjlib/src/pjlib-test/main_mod.c b/pjlib/src/pjlib-test/main_mod.c new file mode 100644 index 0000000..bb52a6f --- /dev/null +++ b/pjlib/src/pjlib-test/main_mod.c @@ -0,0 +1,40 @@ +/* $Id: main_mod.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include +#include + +int init_module(void) +{ + printk(KERN_INFO "PJLIB test module loaded. Starting tests...\n"); + + test_main(); + + /* Prevent module from loading. We've finished test anyway.. */ + return 1; +} + +void cleanup_module(void) +{ + printk(KERN_INFO "PJLIB test module unloading...\n"); +} + +MODULE_LICENSE("GPL"); + diff --git a/pjlib/src/pjlib-test/main_rtems.c b/pjlib/src/pjlib-test/main_rtems.c new file mode 100644 index 0000000..b2c8d9b --- /dev/null +++ b/pjlib/src/pjlib-test/main_rtems.c @@ -0,0 +1,326 @@ +/* $Id: main_rtems.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * - Many thanks for Zetron, Inc. and Phil Torre for + * donating this file and the RTEMS port in general! + */ + +#include "test.h" + +#include +#include +#include +#include + +extern int param_echo_sock_type; +extern const char *param_echo_server; +extern int param_echo_port; + +#include + +#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM +#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 300 +#define CONFIGURE_MAXIMUM_TASKS 50 +#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES rtems_resource_unlimited(10) +#define CONFIGURE_MAXIMUM_SEMAPHORES rtems_resource_unlimited(10) +#define CONFIGURE_MAXIMUM_TIMERS 50 +#define CONFIGURE_MAXIMUM_REGIONS 3 +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER +#define CONFIGURE_TICKS_PER_TIMESLICE 2 +//#define CONFIGURE_RTEMS_INIT_TASKS_TABLE +#define CONFIGURE_POSIX_INIT_THREAD_TABLE + + +#define CONFIGURE_MAXIMUM_POSIX_MUTEXES rtems_resource_unlimited(16) +#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES rtems_resource_unlimited(5) +#define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES rtems_resource_unlimited(16) +#define CONFIGURE_MAXIMUM_POSIX_TIMERS rtems_resource_unlimited(5) +#define CONFIGURE_MAXIMUM_POSIX_THREADS rtems_resource_unlimited(16) +#define CONFIGURE_MAXIMUM_POSIX_KEYS rtems_resource_unlimited(16) + +#define CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE 4096 + +/* Make sure that stack size is at least 4096 */ +#define SZ (4096-RTEMS_MINIMUM_STACK_SIZE) +#define CONFIGURE_EXTRA_TASK_STACKS ((SZ)<0 ? 0 : (SZ)) + +#define CONFIGURE_INIT +#define STACK_CHECKER_ON + +rtems_task Init(rtems_task_argument Argument) ; +void *POSIX_Init(void *argument); + +#include +#include + +/* Any tests that want to build a linked executable for RTEMS must include + these headers to get a default config for the network stack. */ +#include +#include "rtems_network_config.h" + +#include +#include +#include +#include + +#define THIS_FILE "main_rtems.c" + +static void* pjlib_test_main(void* unused); +static void initialize_network(); +static void test_sock(void); + +static void my_perror(pj_status_t status, const char *title) +{ + char err[PJ_ERR_MSG_SIZE]; + + pj_strerror(status, err, sizeof(err)); + printf("%s: %s [%d]\n", title, err, status); +} + +#define TEST(expr) { int rc;\ + /*PJ_LOG(3,(THIS_FILE,"%s", #expr));*/ \ + /*sleep(1);*/ \ + rc=expr; \ + if (rc) my_perror(PJ_STATUS_FROM_OS(rc),#expr); } + + + +//rtems_task Init(rtems_task_argument Argument) +void *POSIX_Init(void *argument) +{ + pthread_attr_t threadAttr; + pthread_t theThread; + struct sched_param sched_param; + size_t stack_size; + int result; + char data[1000]; + + + memset(data, 1, sizeof(data)); + + /* Set the TOD clock, so that gettimeofday() will work */ + rtems_time_of_day fakeTime = { 2006, 3, 15, 17, 30, 0, 0 }; + + if (RTEMS_SUCCESSFUL != rtems_clock_set(&fakeTime)) + { + assert(0); + } + + /* Bring up the network stack so we can run the socket tests. */ + initialize_network(); + + /* Start a POSIX thread for pjlib_test_main(), since that's what it + * thinks it is running in. + */ + + /* Initialize attribute */ + TEST( pthread_attr_init(&threadAttr) ); + + /* Looks like the rest of the attributes must be fully initialized too, + * or otherwise pthread_create will return EINVAL. + */ + + /* Specify explicit scheduling request */ + TEST( pthread_attr_setinheritsched(&threadAttr, PTHREAD_EXPLICIT_SCHED)); + + /* Timeslicing is needed by thread test, and this is accomplished by + * SCHED_RR. + */ + TEST( pthread_attr_setschedpolicy(&threadAttr, SCHED_RR)); + + /* Set priority */ + TEST( pthread_attr_getschedparam(&threadAttr, &sched_param)); + sched_param.sched_priority = NETWORK_STACK_PRIORITY - 10; + TEST( pthread_attr_setschedparam(&threadAttr, &sched_param)); + + /* Must have sufficient stack size (large size is needed by + * logger, because default settings for logger is to use message buffer + * from the stack). + */ + TEST( pthread_attr_getstacksize(&threadAttr, &stack_size)); + if (stack_size < 8192) + TEST( pthread_attr_setstacksize(&threadAttr, 8192)); + + + /* Create the thread for application */ + result = pthread_create(&theThread, &threadAttr, &pjlib_test_main, NULL); + if (result != 0) { + my_perror(PJ_STATUS_FROM_OS(result), + "Error creating pjlib_test_main thread"); + assert(!"Error creating main thread"); + } + + return NULL; +} + + + +#define boost() +#define init_signals() + +static void* +pjlib_test_main(void* unused) +{ + int rc; + + /* Drop our priority to below that of the network stack, otherwise + * select() tests will fail. */ + struct sched_param schedParam; + int schedPolicy; + + printf("pjlib_test_main thread started..\n"); + + TEST( pthread_getschedparam(pthread_self(), &schedPolicy, &schedParam) ); + + schedParam.sched_priority = NETWORK_STACK_PRIORITY - 10; + + TEST( pthread_setschedparam(pthread_self(), schedPolicy, &schedParam) ); + + boost(); + init_signals(); + + //my_test_thread("from pjlib_test_main"); + //test_sock(); + + rc = test_main(); + + return (void*)rc; +} + +# include +# include +# include +# include +# include + +/* + * Send UDP packet to some host. We can then use Ethereal to sniff the packet + * to see if this target really transmits UDP packet. + */ +static void +send_udp(const char *target) +{ + int sock, rc; + struct sockaddr_in addr; + + PJ_LOG(3,("main_rtems.c", "IP addr=%s/%s, gw=%s", + DEFAULT_IP_ADDRESS_STRING, + DEFAULT_NETMASK_STRING, + DEFAULT_GATEWAY_STRING)); + + sock = socket(AF_INET, SOCK_DGRAM, 0); + assert(sock > 0); + + memset(&addr, 0, sizeof(addr)); + addr.sin_family = AF_INET; + + rc = bind(sock, (struct sockaddr*)&addr, sizeof(addr)); + assert("bind error" && rc==0); + + addr.sin_addr.s_addr = inet_addr(target); + addr.sin_port = htons(4444); + + while(1) { + const char *data = "hello"; + + rc = sendto(sock, data, 5, 0, (struct sockaddr*)&addr, sizeof(addr)); + PJ_LOG(3,("main_rtems.c", "pinging %s..(rc=%d)", target, rc)); + sleep(1); + } +} + + +static void test_sock(void) +{ + int sock; + struct sockaddr_in addr; + int rc; + + sock = socket(AF_INET, SOCK_DGRAM, 0); + if (sock < 0) { + printf("socket() error\n"); + goto end; + } + + memset(&addr, 0, sizeof(addr)); + addr.sin_family = AF_INET; + addr.sin_addr.s_addr = inet_addr("127.0.0.1"); + addr.sin_port = htons(5000); + + rc = bind(sock, (struct sockaddr*)&addr, sizeof(addr)); + if (rc != 0) { + printf("bind() error %d\n", rc); + close(sock); + goto end; + } + + puts("Bind socket success"); + + close(sock); + +end: + while(1) sleep(1); +} + +/* + * Initialize the network stack and Ethernet driver, using the configuration + * in rtems-network-config.h + */ +static void +initialize_network() +{ + unsigned32 fd, result; + char ip_address_string[] = DEFAULT_IP_ADDRESS_STRING; + char netmask_string[] = DEFAULT_NETMASK_STRING; + char gateway_string[] = DEFAULT_GATEWAY_STRING; + + // Write the network config files to /etc/hosts and /etc/host.conf + result = mkdir("/etc", S_IRWXU | S_IRWXG | S_IRWXO); + fd = open("/etc/host.conf", O_RDWR | O_CREAT, 0744); + result = write(fd, "hosts,bind\n", 11); + result = close(fd); + fd = open("/etc/hosts", O_RDWR | O_CREAT, 0744); + result = write(fd, "127.0.0.1 localhost\n", 41); + result = write(fd, ip_address_string, strlen(ip_address_string)); + result = write(fd, " pjsip-test\n", 32); + result = close(fd); + + netdriver_config.ip_address = ip_address_string; + netdriver_config.ip_netmask = netmask_string; + rtems_bsdnet_config.gateway = gateway_string; + + if (0 != rtems_bsdnet_initialize_network()) + PJ_LOG(3,(THIS_FILE, "Error: Unable to initialize network stack!")); + else + PJ_LOG(3,(THIS_FILE, "IP addr=%s/%s, gw=%s", + ip_address_string, + netmask_string, + gateway_string)); + + //rtems_rdbg_initialize(); + //enterRdbg(); + //send_udp("192.168.0.1"); + //test_sock(); +} + + diff --git a/pjlib/src/pjlib-test/main_symbian.cpp b/pjlib/src/pjlib-test/main_symbian.cpp new file mode 100644 index 0000000..a91b671 --- /dev/null +++ b/pjlib/src/pjlib-test/main_symbian.cpp @@ -0,0 +1,133 @@ +//Auto-generated file. Please do not modify. +//#include + +//#pragma data_seg(".SYMBIAN") +//__EMULATOR_IMAGE_HEADER2 (0x1000007a,0x00000000,0x00000000,EPriorityForeground,0x00000000u,0x00000000u,0x00000000,0x00000000,0x00000000,0) +//#pragma data_seg() + +#include "test.h" +#include +#include +#include +#include +#include +#include + +#include + +#if 0 +int main() +{ + int err = 0; + int exp = 0; + + err = test_main(); + //err = test_main(); + + if (err) + return err; + return exp; + //return 0; +} + +#else +#include + +#include +#include +#include // Console + + + +// Global Variables + +LOCAL_D CConsoleBase* console; // write all messages to this + + +class MyScheduler : public CActiveScheduler +{ +public: + MyScheduler() + {} + + void Error(TInt aError) const; +}; + +void MyScheduler::Error(TInt aError) const +{ + PJ_UNUSED_ARG(aError); +} + +LOCAL_C void DoStartL() + { + // Create active scheduler (to run active objects) + CActiveScheduler* scheduler = new (ELeave) MyScheduler; + CleanupStack::PushL(scheduler); + CActiveScheduler::Install(scheduler); + + test_main(); + + CActiveScheduler::Install(NULL); + CleanupStack::Pop(scheduler); + delete scheduler; + } + +#define WRITE_TO_DEBUG_CONSOLE + +#ifdef WRITE_TO_DEBUG_CONSOLE +#include +#endif + +// Global Functions +static void log_writer(int level, const char *buf, int len) +{ + static wchar_t buf16[PJ_LOG_MAX_SIZE]; + + PJ_UNUSED_ARG(level); + + pj_ansi_to_unicode(buf, len, buf16, PJ_ARRAY_SIZE(buf16)); + buf16[len] = 0; + buf16[len+1] = 0; + + TPtrC16 aBuf((const TUint16*)buf16, (TInt)len); + console->Write(aBuf); + +#ifdef WRITE_TO_DEBUG_CONSOLE + RDebug::Print(aBuf); +#endif +} + + +GLDEF_C TInt E32Main() + { + // Create cleanup stack + __UHEAP_MARK; + CTrapCleanup* cleanup = CTrapCleanup::New(); + + // Create output console + TRAPD(createError, console = Console::NewL(_L("Console"), TSize(KConsFullScreen,KConsFullScreen))); + if (createError) + return createError; + + pj_log_set_log_func(&log_writer); + + // Run application code inside TRAP harness, wait keypress when terminated + TRAPD(mainError, DoStartL()); + if (mainError) + console->Printf(_L(" failed, leave code = %d"), mainError); + + console->Printf(_L(" [press any key]\n")); + console->Getch(); + + delete console; + delete cleanup; + + CloseSTDLIB(); + + __UHEAP_MARKEND; + + return KErrNone; + } + +#endif /* if 0 */ + diff --git a/pjlib/src/pjlib-test/main_win32.c b/pjlib/src/pjlib-test/main_win32.c new file mode 100644 index 0000000..fd107c3 --- /dev/null +++ b/pjlib/src/pjlib-test/main_win32.c @@ -0,0 +1,211 @@ +/* $Id: main_win32.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + +#include +#include +#include +#include + +#define WIN32_LEAN_AND_MEAN +#define NONAMELESSUNION +#include +#include +#include + +#define MAX_LOADSTRING 100 +#define THIS_FILE "main_win32.c" + +#define IDC_HELLO_WINCE 3 +#define ID_LOGWINDOW 104 + + +ATOM MyRegisterClass (HINSTANCE, LPTSTR); +BOOL InitInstance (HINSTANCE, int); +LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); + + +extern int param_log_decor; // in test.c + +static HINSTANCE hInst; +static HWND hwndLog; +static HFONT hFixedFont; + + +static void write_log(int level, const char *data, int len) +{ + PJ_DECL_UNICODE_TEMP_BUF(wdata,256); + + PJ_UNUSED_ARG(level); + PJ_UNUSED_ARG(len); + SendMessage(hwndLog, EM_REPLACESEL, FALSE, + (LPARAM)PJ_STRING_TO_NATIVE(data,wdata,256)); +} + + +int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, + LPTSTR lpCmdLine, int nCmdShow) +{ + MSG msg; + + PJ_UNUSED_ARG(lpCmdLine); + PJ_UNUSED_ARG(hPrevInstance); + + + if (!InitInstance (hInstance, nCmdShow)) + return FALSE; + + pj_log_set_log_func( &write_log ); + param_log_decor = PJ_LOG_HAS_NEWLINE | PJ_LOG_HAS_CR; + + // Run the test! + test_main(); + + PJ_LOG(3,(THIS_FILE,"")); + PJ_LOG(3,(THIS_FILE,"Press ESC to quit")); + + // Message loop, waiting to quit. + while (GetMessage(&msg, NULL, 0, 0)) { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + DeleteObject(hFixedFont); + return msg.wParam; +} + + +#ifdef _CONSOLE +int main() +{ + return WinMain(GetModuleHandle(NULL), NULL, NULL, SW_SHOW); +} +#endif + + +ATOM MyRegisterClass(HINSTANCE hInstance, LPTSTR szWindowClass) +{ + WNDCLASS wc; + + wc.style = CS_HREDRAW | CS_VREDRAW; + wc.lpfnWndProc = (WNDPROC) WndProc; + wc.cbClsExtra = 0; + wc.cbWndExtra = 0; + wc.hInstance = hInstance; + ///wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_HELLO_WINCE)); + wc.hIcon = NULL; + wc.hCursor = 0; + wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); + wc.lpszMenuName = 0; + wc.lpszClassName = szWindowClass; + + return RegisterClass(&wc); +} + + +BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) +{ + HWND hWnd; + TCHAR *szTitle = _T("PJSIP Test"); + TCHAR *szWindowClass = _T("PJSIP_TEST"); + LOGFONT lf; + + + memset(&lf, 0, sizeof(lf)); + lf.lfHeight = 13; +#if PJ_NATIVE_STRING_IS_UNICODE + wcscpy(lf.lfFaceName, _T("Courier New")); +#else + strcpy(lf.lfFaceName, "Lucida Console"); +#endif + + hFixedFont = CreateFontIndirect(&lf); + if (!hFixedFont) + return FALSE; + + hInst = hInstance; + + MyRegisterClass(hInstance, szWindowClass); + + hWnd = CreateWindow(szWindowClass, szTitle, WS_VISIBLE, + CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, + CW_USEDEFAULT, NULL, NULL, hInstance, NULL); + + if (!hWnd) + return FALSE; + + ShowWindow(hWnd, nCmdShow); + UpdateWindow(hWnd); + + if (hwndLog) { + SendMessage(hwndLog, WM_SETFONT, (WPARAM) hFixedFont, (LPARAM) 0); + ShowWindow(hwndLog, TRUE); + } + + return TRUE; +} + + +LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + RECT rt; + DWORD dwStyle; + + switch (message) + { + case WM_CREATE: + // Create text control. + GetClientRect(hWnd, &rt); + dwStyle = WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | + WS_BORDER | ES_LEFT | ES_MULTILINE | ES_NOHIDESEL | + ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_READONLY; + hwndLog = CreateWindow( TEXT("edit"), // class + NULL, // window text + dwStyle, // style + 0, // x-left + 0, // y-top + rt.right-rt.left, // w + rt.bottom-rt.top, // h + hWnd, // parent + (HMENU)ID_LOGWINDOW,// id + hInst, // instance + NULL); // NULL for control. + break; + case WM_ACTIVATE: + if (LOWORD(wParam) == WA_INACTIVE) + DestroyWindow(hWnd); + break; + case WM_CHAR: + if (wParam == 27) { + DestroyWindow(hWnd); + } + break; + case WM_CLOSE: + DestroyWindow(hWnd); + break; + case WM_DESTROY: + PostQuitMessage(0); + break; + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + return 0; +} + diff --git a/pjlib/src/pjlib-test/mutex.c b/pjlib/src/pjlib-test/mutex.c new file mode 100644 index 0000000..0c5fa07 --- /dev/null +++ b/pjlib/src/pjlib-test/mutex.c @@ -0,0 +1,234 @@ +/* $Id: mutex.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include + +#if INCLUDE_MUTEX_TEST + +#undef TRACE_ +//#define TRACE_(x) PJ_LOG(3,x) +#define TRACE_(x) + +/* Test witn non-recursive mutex. */ +static int simple_mutex_test(pj_pool_t *pool) +{ + pj_status_t rc; + pj_mutex_t *mutex; + + PJ_LOG(3,("", "...testing simple mutex")); + + /* Create mutex. */ + TRACE_(("", "....create mutex")); + rc = pj_mutex_create( pool, "", PJ_MUTEX_SIMPLE, &mutex); + if (rc != PJ_SUCCESS) { + app_perror("...error: pj_mutex_create", rc); + return -10; + } + + /* Normal lock/unlock cycle. */ + TRACE_(("", "....lock mutex")); + rc = pj_mutex_lock(mutex); + if (rc != PJ_SUCCESS) { + app_perror("...error: pj_mutex_lock", rc); + return -20; + } + TRACE_(("", "....unlock mutex")); + rc = pj_mutex_unlock(mutex); + if (rc != PJ_SUCCESS) { + app_perror("...error: pj_mutex_unlock", rc); + return -30; + } + + /* Lock again. */ + TRACE_(("", "....lock mutex")); + rc = pj_mutex_lock(mutex); + if (rc != PJ_SUCCESS) return -40; + + /* Try-lock should fail. It should not deadlocked. */ + TRACE_(("", "....trylock mutex")); + rc = pj_mutex_trylock(mutex); + if (rc == PJ_SUCCESS) + PJ_LOG(3,("", "...info: looks like simple mutex is recursive")); + + /* Unlock and done. */ + TRACE_(("", "....unlock mutex")); + rc = pj_mutex_unlock(mutex); + if (rc != PJ_SUCCESS) return -50; + + TRACE_(("", "....destroy mutex")); + rc = pj_mutex_destroy(mutex); + if (rc != PJ_SUCCESS) return -60; + + TRACE_(("", "....done")); + return PJ_SUCCESS; +} + + +/* Test with recursive mutex. */ +static int recursive_mutex_test(pj_pool_t *pool) +{ + pj_status_t rc; + pj_mutex_t *mutex; + + PJ_LOG(3,("", "...testing recursive mutex")); + + /* Create mutex. */ + TRACE_(("", "....create mutex")); + rc = pj_mutex_create( pool, "", PJ_MUTEX_RECURSE, &mutex); + if (rc != PJ_SUCCESS) { + app_perror("...error: pj_mutex_create", rc); + return -10; + } + + /* Normal lock/unlock cycle. */ + TRACE_(("", "....lock mutex")); + rc = pj_mutex_lock(mutex); + if (rc != PJ_SUCCESS) { + app_perror("...error: pj_mutex_lock", rc); + return -20; + } + TRACE_(("", "....unlock mutex")); + rc = pj_mutex_unlock(mutex); + if (rc != PJ_SUCCESS) { + app_perror("...error: pj_mutex_unlock", rc); + return -30; + } + + /* Lock again. */ + TRACE_(("", "....lock mutex")); + rc = pj_mutex_lock(mutex); + if (rc != PJ_SUCCESS) return -40; + + /* Try-lock should NOT fail. . */ + TRACE_(("", "....trylock mutex")); + rc = pj_mutex_trylock(mutex); + if (rc != PJ_SUCCESS) { + app_perror("...error: recursive mutex is not recursive!", rc); + return -40; + } + + /* Locking again should not fail. */ + TRACE_(("", "....lock mutex")); + rc = pj_mutex_lock(mutex); + if (rc != PJ_SUCCESS) { + app_perror("...error: recursive mutex is not recursive!", rc); + return -45; + } + + /* Unlock several times and done. */ + TRACE_(("", "....unlock mutex 3x")); + rc = pj_mutex_unlock(mutex); + if (rc != PJ_SUCCESS) return -50; + rc = pj_mutex_unlock(mutex); + if (rc != PJ_SUCCESS) return -51; + rc = pj_mutex_unlock(mutex); + if (rc != PJ_SUCCESS) return -52; + + TRACE_(("", "....destroy mutex")); + rc = pj_mutex_destroy(mutex); + if (rc != PJ_SUCCESS) return -60; + + TRACE_(("", "....done")); + return PJ_SUCCESS; +} + +#if PJ_HAS_SEMAPHORE +static int semaphore_test(pj_pool_t *pool) +{ + pj_sem_t *sem; + pj_status_t status; + + PJ_LOG(3,("", "...testing semaphore")); + + status = pj_sem_create(pool, NULL, 0, 1, &sem); + if (status != PJ_SUCCESS) { + app_perror("...error: pj_sem_create()", status); + return -151; + } + + status = pj_sem_post(sem); + if (status != PJ_SUCCESS) { + app_perror("...error: pj_sem_post()", status); + pj_sem_destroy(sem); + return -153; + } + + status = pj_sem_trywait(sem); + if (status != PJ_SUCCESS) { + app_perror("...error: pj_sem_trywait()", status); + pj_sem_destroy(sem); + return -156; + } + + status = pj_sem_post(sem); + if (status != PJ_SUCCESS) { + app_perror("...error: pj_sem_post()", status); + pj_sem_destroy(sem); + return -159; + } + + status = pj_sem_wait(sem); + if (status != PJ_SUCCESS) { + app_perror("...error: pj_sem_wait()", status); + pj_sem_destroy(sem); + return -161; + } + + status = pj_sem_destroy(sem); + if (status != PJ_SUCCESS) { + app_perror("...error: pj_sem_destroy()", status); + return -163; + } + + return 0; +} +#endif /* PJ_HAS_SEMAPHORE */ + + +int mutex_test(void) +{ + pj_pool_t *pool; + int rc; + + pool = pj_pool_create(mem, "", 4000, 4000, NULL); + + rc = simple_mutex_test(pool); + if (rc != 0) + return rc; + + rc = recursive_mutex_test(pool); + if (rc != 0) + return rc; + +#if PJ_HAS_SEMAPHORE + rc = semaphore_test(pool); + if (rc != 0) + return rc; +#endif + + pj_pool_release(pool); + + return 0; +} + +#else +int dummy_mutex_test; +#endif + diff --git a/pjlib/src/pjlib-test/os.c b/pjlib/src/pjlib-test/os.c new file mode 100644 index 0000000..87270ff --- /dev/null +++ b/pjlib/src/pjlib-test/os.c @@ -0,0 +1,116 @@ +/* $Id: os.c 3841 2011-10-24 09:28:13Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include +#include + +#if INCLUDE_OS_TEST +static int endianness_test32(void) +{ + union t + { + pj_uint32_t u32; + pj_uint16_t u16[2]; + pj_uint8_t u8[4]; + } t; + + PJ_LOG(3,("", " Testing endianness..")); + + t.u32 = 0x11223344; + +#if defined(PJ_IS_LITTLE_ENDIAN) && PJ_IS_LITTLE_ENDIAN + PJ_LOG(3,("", " Library is set to little endian")); + +# if defined(PJ_IS_BIG_ENDIAN) && PJ_IS_BIG_ENDIAN +# error Error: Both PJ_IS_LITTLE_ENDIAN and PJ_IS_BIG_ENDIAN are set! +# endif + + if ((t.u16[0] & 0xFFFF) != 0x3344 || + (t.u16[1] & 0xFFFF) != 0x1122) + { + PJ_LOG(3,("", " Error: wrong 16bit values 0x%x and 0x%x", + (t.u16[0] & 0xFFFF), (t.u16[1] & 0xFFFF))); + return 10; + } + + if ((t.u8[0] & 0xFF) != 0x44 || + (t.u8[1] & 0xFF) != 0x33 || + (t.u8[2] & 0xFF) != 0x22 || + (t.u8[3] & 0xFF) != 0x11) + { + PJ_LOG(3,("", " Error: wrong 8bit values")); + return 12; + } + +#elif defined(PJ_IS_BIG_ENDIAN) && PJ_IS_BIG_ENDIAN + PJ_LOG(3,("", " Library is set to big endian")); + + if ((t.u16[0] & 0xFFFF) != 0x1122 || + (t.u16[1] & 0xFFFF) != 0x3344) + { + PJ_LOG(3,("", " Error: wrong 16bit values 0x%x and 0x%x", + (t.u16[0] & 0xFFFF), (t.u16[1] & 0xFFFF))); + return 20; + } + + if ((t.u8[0] & 0xFF) != 0x11 || + (t.u8[1] & 0xFF) != 0x22 || + (t.u8[2] & 0xFF) != 0x33 || + (t.u8[3] & 0xFF) != 0x44) + { + PJ_LOG(3,("", " Error: wrong 8bit values")); + return 22; + } + +# if defined(PJ_IS_LITTLE_ENDIAN) && PJ_IS_LITTLE_ENDIAN +# error Error: Both PJ_IS_LITTLE_ENDIAN and PJ_IS_BIG_ENDIAN are set! +# endif + + +#else +# error Error: Endianness is not set properly! +#endif + + return 0; +} + +int os_test(void) +{ + const pj_sys_info *si; + int rc = 0; + + PJ_LOG(3,("", " Sys info:")); + si = pj_get_sys_info(); + PJ_LOG(3,("", " machine: %s", si->machine.ptr)); + PJ_LOG(3,("", " os_name: %s", si->os_name.ptr)); + PJ_LOG(3,("", " os_ver: 0x%x", si->os_ver)); + PJ_LOG(3,("", " sdk_name: %s", si->sdk_name.ptr)); + PJ_LOG(3,("", " sdk_ver: 0x%x", si->sdk_ver)); + PJ_LOG(3,("", " info: %s", si->info.ptr)); + + rc = endianness_test32(); + + return rc; +} + +#else +int dummy_os_var; +#endif + diff --git a/pjlib/src/pjlib-test/pjlib_test_reg.rss b/pjlib/src/pjlib-test/pjlib_test_reg.rss new file mode 100644 index 0000000..65326bf --- /dev/null +++ b/pjlib/src/pjlib-test/pjlib_test_reg.rss @@ -0,0 +1,12 @@ +// Symbian application registration info for pjlib-test + +#include + +UID2 KUidAppRegistrationResourceFile +UID3 0xA0000002 + +RESOURCE APP_REGISTRATION_INFO +{ + app_file="pjlib_test"; +} + diff --git a/pjlib/src/pjlib-test/pool.c b/pjlib/src/pjlib-test/pool.c new file mode 100644 index 0000000..37fbe0a --- /dev/null +++ b/pjlib/src/pjlib-test/pool.c @@ -0,0 +1,322 @@ +/* $Id: pool.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include "test.h" + +/** + * \page page_pjlib_pool_test Test: Pool + * + * This file provides implementation of \b pool_test(). It tests the + * functionality of the memory pool. + * + * + * This file is pjlib-test/pool.c + * + * \include pjlib-test/pool.c + */ + + +#if INCLUDE_POOL_TEST + +#define SIZE 4096 + +/* Normally we should throw exception when memory alloc fails. + * Here we do nothing so that the flow will go back to original caller, + * which will test the result using NULL comparison. Normally caller will + * catch the exception instead of checking for NULLs. + */ +static void null_callback(pj_pool_t *pool, pj_size_t size) +{ + PJ_UNUSED_ARG(pool); + PJ_UNUSED_ARG(size); +} + +#define GET_FREE(p) (pj_pool_get_capacity(p)-pj_pool_get_used_size(p)) + +/* Test that the capacity and used size reported by the pool is correct. + */ +static int capacity_test(void) +{ + pj_pool_t *pool = pj_pool_create(mem, NULL, SIZE, 0, &null_callback); + pj_size_t freesize; + + PJ_LOG(3,("test", "...capacity_test()")); + + if (!pool) + return -200; + + freesize = GET_FREE(pool); + + if (pj_pool_alloc(pool, freesize) == NULL) { + PJ_LOG(3,("test", "...error: wrong freesize %u reported", + freesize)); + pj_pool_release(pool); + return -210; + } + + pj_pool_release(pool); + return 0; +} + +/* Test that the alignment works. */ +static int pool_alignment_test(void) +{ + pj_pool_t *pool; + void *ptr; + enum { MEMSIZE = 64, LOOP = 100 }; + unsigned i; + + PJ_LOG(3,("test", "...alignment test")); + + pool = pj_pool_create(mem, NULL, PJ_POOL_SIZE+MEMSIZE, MEMSIZE, NULL); + if (!pool) + return -300; + +#define IS_ALIGNED(p) ((((unsigned long)(pj_ssize_t)p) & \ + (PJ_POOL_ALIGNMENT-1)) == 0) + + for (i=0; i 0) { + int size; + + if (freesize > 255) + size = ((pj_rand() & 0x000000FF) + PJ_POOL_ALIGNMENT) & + ~(PJ_POOL_ALIGNMENT - 1); + else + size = (int)freesize; + + p = pj_pool_alloc(pool, size); + if (!p) { + status=-20; goto on_error; + } + + freesize -= size; + } + + /* Check that capacity is zero. */ + if (GET_FREE(pool) != 0) { + PJ_LOG(3,("test", "....error: returned free=%u (expecting 0)", + GET_FREE(pool))); + status=-30; goto on_error; + } + + /* Try to allocate once more */ + p = pj_pool_alloc(pool, 257); + if (!p) { + status=-40; goto on_error; + } + + /* Check that capacity is NOT zero. */ + if (GET_FREE(pool) == 0) { + status=-50; goto on_error; + } + + +on_error: + pj_pool_release(pool); + return status; +} + +/* Test the buffer based pool */ +static int pool_buf_test(void) +{ + enum { STATIC_BUF_SIZE = 40 }; + /* 16 is the internal struct in pool_buf */ + static char buf[ STATIC_BUF_SIZE + sizeof(pj_pool_t) + + sizeof(pj_pool_block) + 2 * PJ_POOL_ALIGNMENT]; + pj_pool_t *pool; + void *p; + PJ_USE_EXCEPTION; + + PJ_LOG(3,("test", "...pool_buf test")); + + pool = pj_pool_create_on_buf("no name", buf, sizeof(buf)); + if (!pool) + return -70; + + /* Drain the pool */ + PJ_TRY { + if ((p=pj_pool_alloc(pool, STATIC_BUF_SIZE/2)) == NULL) + return -75; + + if ((p=pj_pool_alloc(pool, STATIC_BUF_SIZE/2)) == NULL) + return -76; + } + PJ_CATCH_ANY { + return -77; + } + PJ_END; + + /* On the next alloc, exception should be thrown */ + PJ_TRY { + p = pj_pool_alloc(pool, STATIC_BUF_SIZE); + if (p != NULL) { + /* This is unexpected, the alloc should fail */ + return -78; + } + } + PJ_CATCH_ANY { + /* This is the expected result */ + } + PJ_END; + + /* Done */ + return 0; +} + + +int pool_test(void) +{ + enum { LOOP = 2 }; + int loop; + int rc; + + rc = capacity_test(); + if (rc) return rc; + + rc = pool_alignment_test(); + if (rc) return rc; + + rc = pool_buf_alignment_test(); + if (rc) return rc; + + for (loop=0; loop + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + +#if INCLUDE_POOL_PERF_TEST + +#include +#include + +#if !PJ_HAS_HIGH_RES_TIMER +# error Need high resolution timer for this test. +#endif + +#define THIS_FILE "test" + +#define LOOP 10 +#define COUNT 1024 +static unsigned sizes[COUNT]; +static char *p[COUNT]; +#define MIN_SIZE 4 +#define MAX_SIZE 512 +static unsigned total_size; + + +static int pool_test_pool() +{ + int i; + pj_pool_t *pool = pj_pool_create(mem, NULL, total_size + 4*COUNT, 0, NULL); + if (!pool) + return -1; + + for (i=0; i= 0) { + delete [] p[i]; + --i; + } + return -1; + } + *p[i] = '\0'; + } + + for (i=0; i= 0) + free(p[i]), --i; + return -1; + } + *p[i] = '\0'; + } + + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include "test.h" + +#if INCLUDE_RAND_TEST + +#define COUNT 1024 +static int values[COUNT]; + +/* + * rand_test(), simply generates COUNT number of random number and + * check that there's no duplicate numbers. + */ +int rand_test(void) +{ + int i; + + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + +#if INCLUDE_RBTREE_TEST + +#include + +#define LOOP 32 +#define MIN_COUNT 64 +#define MAX_COUNT (LOOP * MIN_COUNT) +#define STRSIZE 16 +#define THIS_FILE "rbtree_test" + +typedef struct node_key +{ + pj_uint32_t hash; + char str[STRSIZE]; +} node_key; + +static int compare_node(const node_key *k1, const node_key *k2) +{ + if (k1->hash == k2->hash) { + return strcmp(k1->str, k2->str); + } else { + return k1->hash < k2->hash ? -1 : 1; + } +} + +void randomize_string(char *str, int len) +{ + int i; + for (i=0; ikey,(node_key*)it->key)>=0) { + ++err; + PJ_LOG(3, (THIS_FILE, "Error: %s >= %s", + (char*)prev->user_data, (char*)it->user_data)); + } + } + prev = it; + it = pj_rbtree_next(&rb, it); + } + + // Search. + for (j=0; j MAX_COUNT) + break; + } + + pj_pool_release(pool); + return err; +} + + +int rbtree_test() +{ + return test(); +} + +#endif /* INCLUDE_RBTREE_TEST */ + + diff --git a/pjlib/src/pjlib-test/rtems_network_config.h b/pjlib/src/pjlib-test/rtems_network_config.h new file mode 100644 index 0000000..b2d5652 --- /dev/null +++ b/pjlib/src/pjlib-test/rtems_network_config.h @@ -0,0 +1,149 @@ +/* $Id: rtems_network_config.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * Thanks Zetron, Inc and Phil Torre for donating PJLIB + * port to RTEMS. + */ + +/* + * Network configuration + * + ************************************************************ + * EDIT THIS FILE TO REFLECT YOUR NETWORK CONFIGURATION * + * BEFORE RUNNING ANY RTEMS PROGRAMS WHICH USE THE NETWORK! * + ************************************************************ + * + */ + +#ifndef _RTEMS_NETWORKCONFIG_H_ +#define _RTEMS_NETWORKCONFIG_H_ + + +#define DEFAULT_IP_ADDRESS_STRING "192.168.0.2" +#define DEFAULT_NETMASK_STRING "255.255.255.0" +#define DEFAULT_GATEWAY_STRING "192.168.0.1" + + + + +#ifndef RTEMS_BSP_NETWORK_DRIVER_NAME +#warning "RTEMS_BSP_NETWORK_DRIVER_NAME is not defined" +#define RTEMS_BSP_NETWORK_DRIVER_NAME "no_network1" +#endif + +#ifndef RTEMS_BSP_NETWORK_DRIVER_ATTACH +#warning "RTEMS_BSP_NETWORK_DRIVER_ATTACH is not defined" +#define RTEMS_BSP_NETWORK_DRIVER_ATTACH 0 +#endif + +#define NETWORK_STACK_PRIORITY 128 +/* #define RTEMS_USE_BOOTP */ + +/* #define RTEMS_USE_LOOPBACK */ + +#include + +/* + * Define RTEMS_SET_ETHERNET_ADDRESS if you want to specify the + * Ethernet address here. If RTEMS_SET_ETHERNET_ADDRESS is not + * defined the driver will choose an address. + */ +// NOTE: The address below is a dummy address that should only ever +// be used for testing on a private network. DO NOT LET A PRODUCT +// CONTAINING THIS ETHERNET ADDRESS OUT INTO THE FIELD! +//#define RTEMS_SET_ETHERNET_ADDRESS +#if (defined (RTEMS_SET_ETHERNET_ADDRESS)) +static char ethernet_address[6] = { 0x00, 0x80, 0x7F, 0x22, 0x61, 0x77 }; +#endif + +#define RTEMS_USE_LOOPBACK +#ifdef RTEMS_USE_LOOPBACK +/* + * Loopback interface + */ +extern int rtems_bsdnet_loopattach(struct rtems_bsdnet_ifconfig* dummy, int unused); +static struct rtems_bsdnet_ifconfig loopback_config = { + "lo0", /* name */ + rtems_bsdnet_loopattach, /* attach function */ + NULL, /* link to next interface */ + "127.0.0.1", /* IP address */ + "255.0.0.0", /* IP net mask */ +}; +#endif + +/* + * Default network interface + */ +static struct rtems_bsdnet_ifconfig netdriver_config = { + RTEMS_BSP_NETWORK_DRIVER_NAME, /* name */ + RTEMS_BSP_NETWORK_DRIVER_ATTACH, /* attach function */ + +#ifdef RTEMS_USE_LOOPBACK + &loopback_config, /* link to next interface */ +#else + NULL, /* No more interfaces */ +#endif + +#if (defined (RTEMS_USE_BOOTP)) + NULL, /* BOOTP supplies IP address */ + NULL, /* BOOTP supplies IP net mask */ +#else + "192.168.0.33", /* IP address */ + "255.255.255.0", /* IP net mask */ +#endif /* !RTEMS_USE_BOOTP */ + +#if (defined (RTEMS_SET_ETHERNET_ADDRESS)) + ethernet_address, /* Ethernet hardware address */ +#else + NULL, /* Driver supplies hardware address */ +#endif + 0 /* Use default driver parameters */ +}; + +/* + * Network configuration + */ +struct rtems_bsdnet_config rtems_bsdnet_config = { + &netdriver_config, + +#if (defined (RTEMS_USE_BOOTP)) + rtems_bsdnet_do_bootp, +#else + NULL, +#endif + + NETWORK_STACK_PRIORITY, /* Default network task priority */ + 1048576, /* Default mbuf capacity */ + 1048576, /* Default mbuf cluster capacity */ + +#if (!defined (RTEMS_USE_BOOTP)) + "testnode", /* Host name */ + "example.org", /* Domain name */ + "192.168.6.9", /* Gateway */ + "192.168.7.41", /* Log host */ + {"198.137.231.1" }, /* Name server(s) */ + {"207.202.190.162" }, /* NTP server(s) */ +#endif /* !RTEMS_USE_BOOTP */ + +}; + +#endif /* _RTEMS_NETWORKCONFIG_H_ */ + diff --git a/pjlib/src/pjlib-test/select.c b/pjlib/src/pjlib-test/select.c new file mode 100644 index 0000000..d7d891a --- /dev/null +++ b/pjlib/src/pjlib-test/select.c @@ -0,0 +1,221 @@ +/* $Id: select.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + +/** + * \page page_pjlib_select_test Test: Socket Select() + * + * This file provides implementation of \b select_test(). It tests the + * functionality of the pj_sock_select() API. + * + * + * This file is pjlib-test/select.c + * + * \include pjlib-test/select.c + */ + + +#if INCLUDE_SELECT_TEST + +#include +#include +#include +#include +#include +#include +#include + +enum +{ + READ_FDS, + WRITE_FDS, + EXCEPT_FDS +}; + +#define UDP_PORT 51232 +#define THIS_FILE "select_test" + +/* + * do_select() + * + * Perform pj_sock_select() and find out which sockets + * are signalled. + */ +static int do_select( pj_sock_t sock1, pj_sock_t sock2, + int setcount[]) +{ + pj_fd_set_t fds[3]; + pj_time_val timeout; + int i, n; + + for (i=0; i<3; ++i) { + PJ_FD_ZERO(&fds[i]); + PJ_FD_SET(sock1, &fds[i]); + PJ_FD_SET(sock2, &fds[i]); + setcount[i] = 0; + } + + timeout.sec = 1; + timeout.msec = 0; + + n = pj_sock_select(PJ_IOQUEUE_MAX_HANDLES, &fds[0], &fds[1], &fds[2], + &timeout); + if (n < 0) + return n; + if (n == 0) + return 0; + + for (i=0; i<3; ++i) { + if (PJ_FD_ISSET(sock1, &fds[i])) + setcount[i]++; + if (PJ_FD_ISSET(sock2, &fds[i])) + setcount[i]++; + } + + return n; +} + +/* + * select_test() + * + * Test main entry. + */ +int select_test() +{ + pj_sock_t udp1=PJ_INVALID_SOCKET, udp2=PJ_INVALID_SOCKET; + pj_sockaddr_in udp_addr; + int status; + int setcount[3]; + pj_str_t s; + const char data[] = "hello"; + const int datalen = 5; + pj_ssize_t sent, received; + char buf[10]; + pj_status_t rc; + + PJ_LOG(3, (THIS_FILE, "...Testing simple UDP select()")); + + // Create two UDP sockets. + rc = pj_sock_socket( pj_AF_INET(), pj_SOCK_DGRAM(), 0, &udp1); + if (rc != PJ_SUCCESS) { + app_perror("...error: unable to create socket", rc); + status=-10; goto on_return; + } + rc = pj_sock_socket( pj_AF_INET(), pj_SOCK_DGRAM(), 0, &udp2); + if (udp2 == PJ_INVALID_SOCKET) { + app_perror("...error: unable to create socket", rc); + status=-20; goto on_return; + } + + // Bind one of the UDP socket. + pj_bzero(&udp_addr, sizeof(udp_addr)); + udp_addr.sin_family = pj_AF_INET(); + udp_addr.sin_port = UDP_PORT; + udp_addr.sin_addr = pj_inet_addr(pj_cstr(&s, "127.0.0.1")); + + if (pj_sock_bind(udp2, &udp_addr, sizeof(udp_addr))) { + status=-30; goto on_return; + } + + // Send data. + sent = datalen; + rc = pj_sock_sendto(udp1, data, &sent, 0, &udp_addr, sizeof(udp_addr)); + if (rc != PJ_SUCCESS || sent != datalen) { + app_perror("...error: sendto() error", rc); + status=-40; goto on_return; + } + + // Sleep a bit. See http://trac.pjsip.org/repos/ticket/890 + pj_thread_sleep(10); + + // Check that socket is marked as reable. + // Note that select() may also report that sockets are writable. + status = do_select(udp1, udp2, setcount); + if (status < 0) { + char errbuf[128]; + pj_strerror(pj_get_netos_error(), errbuf, sizeof(errbuf)); + PJ_LOG(1,(THIS_FILE, "...error: %s", errbuf)); + status=-50; goto on_return; + } + if (status == 0) { + status=-60; goto on_return; + } + + if (setcount[READ_FDS] != 1) { + status=-70; goto on_return; + } + if (setcount[WRITE_FDS] != 0) { + if (setcount[WRITE_FDS] == 2) { + PJ_LOG(3,(THIS_FILE, "...info: system reports writable sockets")); + } else { + status=-80; goto on_return; + } + } else { + PJ_LOG(3,(THIS_FILE, + "...info: system doesn't report writable sockets")); + } + if (setcount[EXCEPT_FDS] != 0) { + status=-90; goto on_return; + } + + // Read the socket to clear readable sockets. + received = sizeof(buf); + rc = pj_sock_recv(udp2, buf, &received, 0); + if (rc != PJ_SUCCESS || received != 5) { + status=-100; goto on_return; + } + + status = 0; + + // Test timeout on the read part. + // This won't necessarily return zero, as select() may report that + // sockets are writable. + setcount[0] = setcount[1] = setcount[2] = 0; + status = do_select(udp1, udp2, setcount); + if (status != 0 && status != setcount[WRITE_FDS]) { + PJ_LOG(3,(THIS_FILE, "...error: expecting timeout but got %d sks set", + status)); + PJ_LOG(3,(THIS_FILE, " rdset: %d, wrset: %d, exset: %d", + setcount[0], setcount[1], setcount[2])); + status = -110; goto on_return; + } + if (setcount[READ_FDS] != 0) { + PJ_LOG(3,(THIS_FILE, "...error: readable socket not expected")); + status = -120; goto on_return; + } + + status = 0; + +on_return: + if (udp1 != PJ_INVALID_SOCKET) + pj_sock_close(udp1); + if (udp2 != PJ_INVALID_SOCKET) + pj_sock_close(udp2); + return status; +} + +#else +/* To prevent warning about "translation unit is empty" + * when this test is disabled. + */ +int dummy_select_test; +#endif /* INCLUDE_SELECT_TEST */ + + diff --git a/pjlib/src/pjlib-test/sleep.c b/pjlib/src/pjlib-test/sleep.c new file mode 100644 index 0000000..03bef7d --- /dev/null +++ b/pjlib/src/pjlib-test/sleep.c @@ -0,0 +1,224 @@ +/* $Id: sleep.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + +/** + * \page page_pjlib_sleep_test Test: Sleep, Time, and Timestamp + * + * This file provides implementation of \b sleep_test(). + * + * \section sleep_test_sec Scope of the Test + * + * This tests: + * - whether pj_thread_sleep() works. + * - whether pj_gettimeofday() works. + * - whether pj_get_timestamp() and friends works. + * + * API tested: + * - pj_thread_sleep() + * - pj_gettimeofday() + * - PJ_TIME_VAL_SUB() + * - PJ_TIME_VAL_LTE() + * - pj_get_timestamp() + * - pj_get_timestamp_freq() (implicitly) + * - pj_elapsed_time() + * - pj_elapsed_usec() + * + * + * This file is pjlib-test/sleep.c + * + * \include pjlib-test/sleep.c + */ + +#if INCLUDE_SLEEP_TEST + +#include + +#define THIS_FILE "sleep_test" + +static int simple_sleep_test(void) +{ + enum { COUNT = 10 }; + int i; + pj_status_t rc; + + PJ_LOG(3,(THIS_FILE, "..will write messages every 1 second:")); + + for (i=0; i duration[i] * (100+MIS)/100) + { + PJ_LOG(3,(THIS_FILE, + "...error: slept for %d ms instead of %d ms " + "(outside %d%% err window)", + msec, duration[i], MIS)); + return -30; + } + } + + + /* Test pj_thread_sleep() and pj_get_timestamp() and friends */ + for (i=0; i duration[i] * (100+MIS)/100) + { + PJ_LOG(3,(THIS_FILE, + "...error: slept for %d ms instead of %d ms " + "(outside %d%% err window)", + msec, duration[i], MIS)); + PJ_TIME_VAL_SUB(t2, t1); + PJ_LOG(3,(THIS_FILE, + "...info: gettimeofday() reported duration is " + "%d msec", + PJ_TIME_VAL_MSEC(t2))); + + return -76; + } + } + + /* All done. */ + return 0; +} + +int sleep_test() +{ + int rc; + + rc = simple_sleep_test(); + if (rc != PJ_SUCCESS) + return rc; + + rc = sleep_duration_test(); + if (rc != PJ_SUCCESS) + return rc; + + return 0; +} + +#else +/* To prevent warning about "translation unit is empty" + * when this test is disabled. + */ +int dummy_sleep_test; +#endif /* INCLUDE_SLEEP_TEST */ diff --git a/pjlib/src/pjlib-test/sock.c b/pjlib/src/pjlib-test/sock.c new file mode 100644 index 0000000..3c46bd9 --- /dev/null +++ b/pjlib/src/pjlib-test/sock.c @@ -0,0 +1,879 @@ +/* $Id: sock.c 4894 2014-08-20 06:15:23Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include "test.h" + + +/** + * \page page_pjlib_sock_test Test: Socket + * + * This file provides implementation of \b sock_test(). It tests the + * various aspects of the socket API. + * + * \section sock_test_scope_sec Scope of the Test + * + * The scope of the test: + * - verify the validity of the address structs. + * - verify that address manipulation API works. + * - simple socket creation and destruction. + * - simple socket send/recv and sendto/recvfrom. + * - UDP connect() + * - send/recv big data. + * - all for both UDP and TCP. + * + * The APIs tested in this test: + * - pj_inet_aton() + * - pj_inet_ntoa() + * - pj_inet_pton() (only if IPv6 is enabled) + * - pj_inet_ntop() (only if IPv6 is enabled) + * - pj_gethostname() + * - pj_sock_socket() + * - pj_sock_close() + * - pj_sock_send() + * - pj_sock_sendto() + * - pj_sock_recv() + * - pj_sock_recvfrom() + * - pj_sock_bind() + * - pj_sock_connect() + * - pj_sock_listen() + * - pj_sock_accept() + * - pj_gethostbyname() + * + * + * This file is pjlib-test/sock.c + * + * \include pjlib-test/sock.c + */ + +#if INCLUDE_SOCK_TEST + +#define UDP_PORT 51234 +#define TCP_PORT (UDP_PORT+10) +#define BIG_DATA_LEN 8192 +#define ADDRESS "127.0.0.1" + +static char bigdata[BIG_DATA_LEN]; +static char bigbuffer[BIG_DATA_LEN]; + +/* Macro for checking the value of "sin_len" member of sockaddr + * (it must always be zero). + */ +#if defined(PJ_SOCKADDR_HAS_LEN) && PJ_SOCKADDR_HAS_LEN!=0 +# define CHECK_SA_ZERO_LEN(addr, ret) \ + if (((pj_addr_hdr*)(addr))->sa_zero_len != 0) \ + return ret +#else +# define CHECK_SA_ZERO_LEN(addr, ret) +#endif + + +static int format_test(void) +{ + pj_str_t s = pj_str(ADDRESS); + unsigned char *p; + pj_in_addr addr; + char zero[64]; + pj_sockaddr_in addr2; + const pj_str_t *hostname; + const unsigned char A[] = {127, 0, 0, 1}; + + PJ_LOG(3,("test", "...format_test()")); + + /* pj_inet_aton() */ + if (pj_inet_aton(&s, &addr) != 1) + return -10; + + /* Check the result. */ + p = (unsigned char*)&addr; + if (p[0]!=A[0] || p[1]!=A[1] || p[2]!=A[2] || p[3]!=A[3]) { + PJ_LOG(3,("test", " error: mismatched address. p0=%d, p1=%d, " + "p2=%d, p3=%d", p[0] & 0xFF, p[1] & 0xFF, + p[2] & 0xFF, p[3] & 0xFF)); + return -15; + } + + /* pj_inet_ntoa() */ + p = (unsigned char*) pj_inet_ntoa(addr); + if (!p) + return -20; + + if (pj_strcmp2(&s, (char*)p) != 0) + return -22; + +#if defined(PJ_HAS_IPV6) && PJ_HAS_IPV6!=0 + /* pj_inet_pton() */ + /* pj_inet_ntop() */ + { + const pj_str_t s_ipv4 = pj_str("127.0.0.1"); + const pj_str_t s_ipv6 = pj_str("fe80::2ff:83ff:fe7c:8b42"); + char buf_ipv4[PJ_INET_ADDRSTRLEN]; + char buf_ipv6[PJ_INET6_ADDRSTRLEN]; + pj_in_addr ipv4; + pj_in6_addr ipv6; + + if (pj_inet_pton(pj_AF_INET(), &s_ipv4, &ipv4) != PJ_SUCCESS) + return -24; + + p = (unsigned char*)&ipv4; + if (p[0]!=A[0] || p[1]!=A[1] || p[2]!=A[2] || p[3]!=A[3]) { + return -25; + } + + if (pj_inet_pton(pj_AF_INET6(), &s_ipv6, &ipv6) != PJ_SUCCESS) + return -26; + + p = (unsigned char*)&ipv6; + if (p[0] != 0xfe || p[1] != 0x80 || p[2] != 0 || p[3] != 0 || + p[4] != 0 || p[5] != 0 || p[6] != 0 || p[7] != 0 || + p[8] != 0x02 || p[9] != 0xff || p[10] != 0x83 || p[11] != 0xff || + p[12]!=0xfe || p[13]!=0x7c || p[14] != 0x8b || p[15]!=0x42) + { + return -27; + } + + if (pj_inet_ntop(pj_AF_INET(), &ipv4, buf_ipv4, sizeof(buf_ipv4)) != PJ_SUCCESS) + return -28; + if (pj_stricmp2(&s_ipv4, buf_ipv4) != 0) + return -29; + + if (pj_inet_ntop(pj_AF_INET6(), &ipv6, buf_ipv6, sizeof(buf_ipv6)) != PJ_SUCCESS) + return -30; + if (pj_stricmp2(&s_ipv6, buf_ipv6) != 0) + return -31; + } + +#endif /* PJ_HAS_IPV6 */ + + /* Test that pj_sockaddr_in_init() initialize the whole structure, + * including sin_zero. + */ + pj_sockaddr_in_init(&addr2, 0, 1000); + pj_bzero(zero, sizeof(zero)); + if (pj_memcmp(addr2.sin_zero, zero, sizeof(addr2.sin_zero)) != 0) + return -35; + + /* pj_gethostname() */ + hostname = pj_gethostname(); + if (!hostname || !hostname->ptr || !hostname->slen) + return -40; + + PJ_LOG(3,("test", "....hostname is %.*s", + (int)hostname->slen, hostname->ptr)); + + /* pj_gethostaddr() */ + + /* Various constants */ +#if !defined(PJ_SYMBIAN) || PJ_SYMBIAN==0 + if (PJ_AF_INET==0xFFFF) return -5500; + if (PJ_AF_INET6==0xFFFF) return -5501; + + /* 0xFFFF could be a valid SOL_SOCKET (e.g: on some Win or Mac) */ + //if (PJ_SOL_SOCKET==0xFFFF) return -5503; + + if (PJ_SOL_IP==0xFFFF) return -5502; + if (PJ_SOL_TCP==0xFFFF) return -5510; + if (PJ_SOL_UDP==0xFFFF) return -5520; + if (PJ_SOL_IPV6==0xFFFF) return -5530; + + if (PJ_SO_TYPE==0xFFFF) return -5540; + if (PJ_SO_RCVBUF==0xFFFF) return -5550; + if (PJ_SO_SNDBUF==0xFFFF) return -5560; + if (PJ_TCP_NODELAY==0xFFFF) return -5570; + if (PJ_SO_REUSEADDR==0xFFFF) return -5580; + + if (PJ_MSG_OOB==0xFFFF) return -5590; + if (PJ_MSG_PEEK==0xFFFF) return -5600; +#endif + + return 0; +} + +static int parse_test(void) +{ +#define IPv4 1 +#define IPv6 2 + + struct test_t { + const char *input; + int result_af; + const char *result_ip; + pj_uint16_t result_port; + }; + struct test_t valid_tests[] = + { + /* IPv4 */ + { "10.0.0.1:80", IPv4, "10.0.0.1", 80}, + { "10.0.0.1", IPv4, "10.0.0.1", 0}, + { "10.0.0.1:", IPv4, "10.0.0.1", 0}, + { "10.0.0.1:0", IPv4, "10.0.0.1", 0}, + { ":80", IPv4, "0.0.0.0", 80}, + { ":", IPv4, "0.0.0.0", 0}, +#if !PJ_SYMBIAN + { "localhost", IPv4, "127.0.0.1", 0}, + { "localhost:", IPv4, "127.0.0.1", 0}, + { "localhost:80", IPv4, "127.0.0.1", 80}, +#endif + +#if defined(PJ_HAS_IPV6) && PJ_HAS_IPV6 + { "fe::01:80", IPv6, "fe::01:80", 0}, + { "[fe::01]:80", IPv6, "fe::01", 80}, + { "fe::01", IPv6, "fe::01", 0}, + { "[fe::01]", IPv6, "fe::01", 0}, + { "fe::01:", IPv6, "fe::01", 0}, + { "[fe::01]:", IPv6, "fe::01", 0}, + { "::", IPv6, "::0", 0}, + { "[::]", IPv6, "::", 0}, + { ":::", IPv6, "::", 0}, + { "[::]:", IPv6, "::", 0}, + { ":::80", IPv6, "::", 80}, + { "[::]:80", IPv6, "::", 80}, +#endif + }; + struct test_t invalid_tests[] = + { + /* IPv4 */ + { "10.0.0.1:abcd", IPv4}, /* port not numeric */ + { "10.0.0.1:-1", IPv4}, /* port contains illegal character */ + { "10.0.0.1:123456", IPv4}, /* port too big */ + //this actually is fine on my Mac OS 10.9 + //it will be resolved with gethostbyname() and something is returned! + //{ "1.2.3.4.5:80", IPv4}, /* invalid IP */ + { "10:0:80", IPv4}, /* hostname has colon */ + +#if defined(PJ_HAS_IPV6) && PJ_HAS_IPV6 + { "[fe::01]:abcd", IPv6}, /* port not numeric */ + { "[fe::01]:-1", IPv6}, /* port contains illegal character */ + { "[fe::01]:123456", IPv6}, /* port too big */ + { "fe::01:02::03:04:80", IPv6}, /* invalid IP */ + { "[fe::01:02::03:04]:80", IPv6}, /* invalid IP */ + { "[fe:01", IPv6}, /* Unterminated bracket */ +#endif + }; + + unsigned i; + + PJ_LOG(3,("test", "...IP address parsing")); + + for (i=0; isin_addr)); + strcpy(addr_str, pj_inet_ntoa(addr.sin_addr)); + PJ_LOG(3,("test", "...error: src address mismatch (original=%s, " + "recvfrom addr=%s)", + srcaddr_str, addr_str)); + return -152; + } + + } else { + /* Repeat recv() until all data is received. + * This applies only for non-UDP of course, since for UDP + * we would expect all data to be received in one packet. + */ + total_received = 0; + do { + received = DATA_LEN-total_received; + rc = pj_sock_recv(ss, recvdata+total_received, &received, 0); + if (rc != PJ_SUCCESS) { + app_perror("...recv error", rc); + rc = -155; goto on_error; + } + if (received <= 0) { + PJ_LOG(3,("", "...error: socket has closed! (received=%d)", + received)); + rc = -156; goto on_error; + } + if (received != DATA_LEN-total_received) { + if (sock_type != pj_SOCK_STREAM()) { + PJ_LOG(3,("", "...error: expecting %u bytes, got %u bytes", + DATA_LEN-total_received, received)); + rc = -157; goto on_error; + } + } + total_received += received; + } while (total_received < DATA_LEN); + } + + TRACE_(("test", "....memcmp()")); + if (pj_memcmp(senddata, recvdata, DATA_LEN) != 0) { + PJ_LOG(3,("","...error: received data mismatch " + "(got:'%s' expecting:'%s'", + recvdata, senddata)); + rc = -160; goto on_error; + } + + /* + * Test send/recv big data. + */ + TRACE_(("test", "....sendto()")); + if (dstaddr) { + sent = BIG_DATA_LEN; + rc = pj_sock_sendto(cs, bigdata, &sent, 0, dstaddr, addrlen); + if (rc != PJ_SUCCESS || sent != BIG_DATA_LEN) { + app_perror("...sendto error", rc); + rc = -161; goto on_error; + } + } else { + sent = BIG_DATA_LEN; + rc = pj_sock_send(cs, bigdata, &sent, 0); + if (rc != PJ_SUCCESS || sent != BIG_DATA_LEN) { + app_perror("...send error", rc); + rc = -165; goto on_error; + } + } + + TRACE_(("test", "....recv()")); + + /* Repeat recv() until all data is received. + * This applies only for non-UDP of course, since for UDP + * we would expect all data to be received in one packet. + */ + total_received = 0; + do { + received = BIG_DATA_LEN-total_received; + rc = pj_sock_recv(ss, bigbuffer+total_received, &received, 0); + if (rc != PJ_SUCCESS) { + app_perror("...recv error", rc); + rc = -170; goto on_error; + } + if (received <= 0) { + PJ_LOG(3,("", "...error: socket has closed! (received=%d)", + received)); + rc = -173; goto on_error; + } + if (received != BIG_DATA_LEN-total_received) { + if (sock_type != pj_SOCK_STREAM()) { + PJ_LOG(3,("", "...error: expecting %u bytes, got %u bytes", + BIG_DATA_LEN-total_received, received)); + rc = -176; goto on_error; + } + } + total_received += received; + } while (total_received < BIG_DATA_LEN); + + TRACE_(("test", "....memcmp()")); + if (pj_memcmp(bigdata, bigbuffer, BIG_DATA_LEN) != 0) { + PJ_LOG(3,("", "...error: received data has been altered!")); + rc = -180; goto on_error; + } + + rc = 0; + +on_error: + return rc; +} + +static int udp_test(void) +{ + pj_sock_t cs = PJ_INVALID_SOCKET, ss = PJ_INVALID_SOCKET; + pj_sockaddr_in dstaddr, srcaddr; + pj_str_t s; + pj_status_t rc = 0, retval; + + PJ_LOG(3,("test", "...udp_test()")); + + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &ss); + if (rc != 0) { + app_perror("...error: unable to create socket", rc); + return -100; + } + + rc = pj_sock_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, &cs); + if (rc != 0) + return -110; + + /* Bind server socket. */ + pj_bzero(&dstaddr, sizeof(dstaddr)); + dstaddr.sin_family = pj_AF_INET(); + dstaddr.sin_port = pj_htons(UDP_PORT); + dstaddr.sin_addr = pj_inet_addr(pj_cstr(&s, ADDRESS)); + + if ((rc=pj_sock_bind(ss, &dstaddr, sizeof(dstaddr))) != 0) { + app_perror("...bind error udp:"ADDRESS, rc); + rc = -120; goto on_error; + } + + /* Bind client socket. */ + pj_bzero(&srcaddr, sizeof(srcaddr)); + srcaddr.sin_family = pj_AF_INET(); + srcaddr.sin_port = pj_htons(UDP_PORT-1); + srcaddr.sin_addr = pj_inet_addr(pj_cstr(&s, ADDRESS)); + + if ((rc=pj_sock_bind(cs, &srcaddr, sizeof(srcaddr))) != 0) { + app_perror("...bind error", rc); + rc = -121; goto on_error; + } + + /* Test send/recv, with sendto */ + rc = send_recv_test(pj_SOCK_DGRAM(), ss, cs, &dstaddr, NULL, + sizeof(dstaddr)); + if (rc != 0) + goto on_error; + + /* Test send/recv, with sendto and recvfrom */ + rc = send_recv_test(pj_SOCK_DGRAM(), ss, cs, &dstaddr, + &srcaddr, sizeof(dstaddr)); + if (rc != 0) + goto on_error; + + /* Disable this test on Symbian since UDP connect()/send() failed + * with S60 3rd edition (including MR2). + * See http://www.pjsip.org/trac/ticket/264 + */ +#if !defined(PJ_SYMBIAN) || PJ_SYMBIAN==0 + /* connect() the sockets. */ + rc = pj_sock_connect(cs, &dstaddr, sizeof(dstaddr)); + if (rc != 0) { + app_perror("...connect() error", rc); + rc = -122; goto on_error; + } + + /* Test send/recv with send() */ + rc = send_recv_test(pj_SOCK_DGRAM(), ss, cs, NULL, NULL, 0); + if (rc != 0) + goto on_error; + + /* Test send/recv with send() and recvfrom */ + rc = send_recv_test(pj_SOCK_DGRAM(), ss, cs, NULL, &srcaddr, + sizeof(srcaddr)); + if (rc != 0) + goto on_error; +#endif + +on_error: + retval = rc; + if (cs != PJ_INVALID_SOCKET) { + rc = pj_sock_close(cs); + if (rc != PJ_SUCCESS) { + app_perror("...error in closing socket", rc); + return -1000; + } + } + if (ss != PJ_INVALID_SOCKET) { + rc = pj_sock_close(ss); + if (rc != PJ_SUCCESS) { + app_perror("...error in closing socket", rc); + return -1010; + } + } + + return retval; +} + +static int tcp_test(void) +{ + pj_sock_t cs, ss; + pj_status_t rc = 0, retval; + + PJ_LOG(3,("test", "...tcp_test()")); + + rc = app_socketpair(pj_AF_INET(), pj_SOCK_STREAM(), 0, &ss, &cs); + if (rc != PJ_SUCCESS) { + app_perror("...error: app_socketpair():", rc); + return -2000; + } + + /* Test send/recv with send() and recv() */ + retval = send_recv_test(pj_SOCK_STREAM(), ss, cs, NULL, NULL, 0); + + rc = pj_sock_close(cs); + if (rc != PJ_SUCCESS) { + app_perror("...error in closing socket", rc); + return -2000; + } + + rc = pj_sock_close(ss); + if (rc != PJ_SUCCESS) { + app_perror("...error in closing socket", rc); + return -2010; + } + + return retval; +} + +static int ioctl_test(void) +{ + return 0; +} + +static int gethostbyname_test(void) +{ + pj_str_t host; + pj_hostent he; + pj_status_t status; + + /* Testing pj_gethostbyname() with invalid host */ + host = pj_str("an-invalid-host-name"); + status = pj_gethostbyname(&host, &he); + + /* Must return failure! */ + if (status == PJ_SUCCESS) + return -20100; + else + return 0; +} + +#if 0 +#include "../pj/os_symbian.h" +static int connect_test() +{ + RSocketServ rSockServ; + RSocket rSock; + TInetAddr inetAddr; + TRequestStatus reqStatus; + char buffer[16]; + TPtrC8 data((const TUint8*)buffer, (TInt)sizeof(buffer)); + int rc; + + rc = rSockServ.Connect(); + if (rc != KErrNone) + return rc; + + rc = rSock.Open(rSockServ, KAfInet, KSockDatagram, KProtocolInetUdp); + if (rc != KErrNone) + { + rSockServ.Close(); + return rc; + } + + inetAddr.Init(KAfInet); + inetAddr.Input(_L("127.0.0.1")); + inetAddr.SetPort(80); + + rSock.Connect(inetAddr, reqStatus); + User::WaitForRequest(reqStatus); + + if (reqStatus != KErrNone) { + rSock.Close(); + rSockServ.Close(); + return rc; + } + + rSock.Send(data, 0, reqStatus); + User::WaitForRequest(reqStatus); + + if (reqStatus!=KErrNone) { + rSock.Close(); + rSockServ.Close(); + return rc; + } + + rSock.Close(); + rSockServ.Close(); + return KErrNone; +} +#endif + +int sock_test() +{ + int rc; + + pj_create_random_string(bigdata, BIG_DATA_LEN); + +// Enable this to demonstrate the error witn S60 3rd Edition MR2 +#if 0 + rc = connect_test(); + if (rc != 0) + return rc; +#endif + + rc = format_test(); + if (rc != 0) + return rc; + + rc = parse_test(); + if (rc != 0) + return rc; + + rc = purity_test(); + if (rc != 0) + return rc; + + rc = gethostbyname_test(); + if (rc != 0) + return rc; + + rc = simple_sock_test(); + if (rc != 0) + return rc; + + rc = ioctl_test(); + if (rc != 0) + return rc; + + rc = udp_test(); + if (rc != 0) + return rc; + + rc = tcp_test(); + if (rc != 0) + return rc; + + return 0; +} + + +#else +/* To prevent warning about "translation unit is empty" + * when this test is disabled. + */ +int dummy_sock_test; +#endif /* INCLUDE_SOCK_TEST */ + diff --git a/pjlib/src/pjlib-test/sock_perf.c b/pjlib/src/pjlib-test/sock_perf.c new file mode 100644 index 0000000..796d9f1 --- /dev/null +++ b/pjlib/src/pjlib-test/sock_perf.c @@ -0,0 +1,190 @@ +/* $Id: sock_perf.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include +#include + + +/** + * \page page_pjlib_sock_perf_test Test: Socket Performance + * + * Test the performance of the socket communication. This will perform + * simple producer-consumer type of test, where we calculate how long + * does it take to send certain number of packets from producer to + * consumer. + * + * This file is pjlib-test/sock_perf.c + * + * \include pjlib-test/sock_perf.c + */ + +#if INCLUDE_SOCK_PERF_TEST + +/* + * sock_producer_consumer() + * + * Simple producer-consumer benchmarking. Send loop number of + * buf_size size packets as fast as possible. + */ +static int sock_producer_consumer(int sock_type, + pj_size_t buf_size, + unsigned loop, + unsigned *p_bandwidth) +{ + pj_sock_t consumer, producer; + pj_pool_t *pool; + char *outgoing_buffer, *incoming_buffer; + pj_timestamp start, stop; + unsigned i; + pj_highprec_t elapsed, bandwidth; + pj_highprec_t total_received; + pj_status_t rc; + + /* Create pool. */ + pool = pj_pool_create(mem, NULL, 4096, 4096, NULL); + if (!pool) + return -10; + + /* Create producer-consumer pair. */ + rc = app_socketpair(pj_AF_INET(), sock_type, 0, &consumer, &producer); + if (rc != PJ_SUCCESS) { + app_perror("...error: create socket pair", rc); + return -20; + } + + /* Create buffers. */ + outgoing_buffer = (char*) pj_pool_alloc(pool, buf_size); + incoming_buffer = (char*) pj_pool_alloc(pool, buf_size); + + /* Start loop. */ + pj_get_timestamp(&start); + total_received = 0; + for (i=0; i 10) + break; + } + + /* Stop timer. */ + pj_get_timestamp(&stop); + + elapsed = pj_elapsed_usec(&start, &stop); + + /* bandwidth = total_received * 1000 / elapsed */ + bandwidth = total_received; + pj_highprec_mul(bandwidth, 1000); + pj_highprec_div(bandwidth, elapsed); + + *p_bandwidth = (pj_uint32_t)bandwidth; + + /* Close sockets. */ + pj_sock_close(consumer); + pj_sock_close(producer); + + /* Done */ + pj_pool_release(pool); + + return 0; +} + +/* + * sock_perf_test() + * + * Main test entry. + */ +int sock_perf_test(void) +{ + enum { LOOP = 64 * 1024 }; + int rc; + unsigned bandwidth; + + PJ_LOG(3,("", "...benchmarking socket " + "(2 sockets, packet=512, single threaded):")); + + /* Disable this test on Symbian since UDP connect()/send() failed + * with S60 3rd edition (including MR2). + * See http://www.pjsip.org/trac/ticket/264 + */ +#if !defined(PJ_SYMBIAN) || PJ_SYMBIAN==0 + /* Benchmarking UDP */ + rc = sock_producer_consumer(pj_SOCK_DGRAM(), 512, LOOP, &bandwidth); + if (rc != 0) return rc; + PJ_LOG(3,("", "....bandwidth UDP = %d KB/s", bandwidth)); +#endif + + /* Benchmarking TCP */ + rc = sock_producer_consumer(pj_SOCK_STREAM(), 512, LOOP, &bandwidth); + if (rc != 0) return rc; + PJ_LOG(3,("", "....bandwidth TCP = %d KB/s", bandwidth)); + + return rc; +} + + +#else +/* To prevent warning about "translation unit is empty" + * when this test is disabled. + */ +int dummy_sock_perf_test; +#endif /* INCLUDE_SOCK_PERF_TEST */ + + diff --git a/pjlib/src/pjlib-test/ssl_sock.c b/pjlib/src/pjlib-test/ssl_sock.c new file mode 100644 index 0000000..680ff91 --- /dev/null +++ b/pjlib/src/pjlib-test/ssl_sock.c @@ -0,0 +1,1448 @@ +/* $Id: ssl_sock.c 5076 2015-04-23 02:42:49Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include + + +#define CERT_DIR "../build/" +#define CERT_CA_FILE CERT_DIR "cacert.pem" +#define CERT_FILE CERT_DIR "cacert.pem" +#define CERT_PRIVKEY_FILE CERT_DIR "privkey.pem" +#define CERT_PRIVKEY_PASS "" + + +#if INCLUDE_SSLSOCK_TEST + +/* Global vars */ +static int clients_num; + +struct send_key { + pj_ioqueue_op_key_t op_key; +}; + + +static int get_cipher_list(void) { + pj_status_t status; + pj_ssl_cipher ciphers[PJ_SSL_SOCK_MAX_CIPHERS]; + unsigned cipher_num; + unsigned i; + + cipher_num = PJ_ARRAY_SIZE(ciphers); + status = pj_ssl_cipher_get_availables(ciphers, &cipher_num); + if (status != PJ_SUCCESS) { + app_perror("...FAILED to get available ciphers", status); + return status; + } + + PJ_LOG(3, ("", "...Found %u ciphers:", cipher_num)); + for (i = 0; i < cipher_num; ++i) { + const char* st; + st = pj_ssl_cipher_name(ciphers[i]); + if (st == NULL) + st = "[Unknown]"; + + PJ_LOG(3, ("", "...%3u: 0x%08x=%s", i+1, ciphers[i], st)); + } + + return PJ_SUCCESS; +} + + +struct test_state +{ + pj_pool_t *pool; /* pool */ + pj_ioqueue_t *ioqueue; /* ioqueue */ + pj_bool_t is_server; /* server role flag */ + pj_bool_t is_verbose; /* verbose flag, e.g: cert info */ + pj_bool_t echo; /* echo received data */ + pj_status_t err; /* error flag */ + pj_size_t sent; /* bytes sent */ + pj_size_t recv; /* bytes received */ + pj_uint8_t read_buf[256]; /* read buffer */ + pj_bool_t done; /* test done flag */ + char *send_str; /* data to send once connected */ + pj_size_t send_str_len; /* send data length */ + pj_bool_t check_echo; /* flag to compare sent & echoed data */ + const char *check_echo_ptr; /* pointer/cursor for comparing data */ + struct send_key send_key; /* send op key */ +}; + +static void dump_ssl_info(const pj_ssl_sock_info *si) +{ + const char *tmp_st; + + /* Print cipher name */ + tmp_st = pj_ssl_cipher_name(si->cipher); + if (tmp_st == NULL) + tmp_st = "[Unknown]"; + PJ_LOG(3, ("", ".....Cipher: %s", tmp_st)); + + /* Print remote certificate info and verification result */ + if (si->remote_cert_info && si->remote_cert_info->subject.info.slen) + { + char buf[2048]; + const char *verif_msgs[32]; + unsigned verif_msg_cnt; + + /* Dump remote TLS certificate info */ + PJ_LOG(3, ("", ".....Remote certificate info:")); + pj_ssl_cert_info_dump(si->remote_cert_info, " ", buf, sizeof(buf)); + PJ_LOG(3,("", "\n%s", buf)); + + /* Dump remote TLS certificate verification result */ + verif_msg_cnt = PJ_ARRAY_SIZE(verif_msgs); + pj_ssl_cert_get_verify_status_strings(si->verify_status, + verif_msgs, &verif_msg_cnt); + PJ_LOG(3,("", ".....Remote certificate verification result: %s", + (verif_msg_cnt == 1? verif_msgs[0]:""))); + if (verif_msg_cnt > 1) { + unsigned i; + for (i = 0; i < verif_msg_cnt; ++i) + PJ_LOG(3,("", "..... - %s", verif_msgs[i])); + } + } +} + + +static pj_bool_t ssl_on_connect_complete(pj_ssl_sock_t *ssock, + pj_status_t status) +{ + struct test_state *st = (struct test_state*) + pj_ssl_sock_get_user_data(ssock); + void *read_buf[1]; + pj_ssl_sock_info info; + char buf1[64], buf2[64]; + + if (status != PJ_SUCCESS) { + app_perror("...ERROR ssl_on_connect_complete()", status); + goto on_return; + } + + status = pj_ssl_sock_get_info(ssock, &info); + if (status != PJ_SUCCESS) { + app_perror("...ERROR pj_ssl_sock_get_info()", status); + goto on_return; + } + + pj_sockaddr_print((pj_sockaddr_t*)&info.local_addr, buf1, sizeof(buf1), 1); + pj_sockaddr_print((pj_sockaddr_t*)&info.remote_addr, buf2, sizeof(buf2), 1); + PJ_LOG(3, ("", "...Connected %s -> %s!", buf1, buf2)); + + if (st->is_verbose) + dump_ssl_info(&info); + + /* Start reading data */ + read_buf[0] = st->read_buf; + status = pj_ssl_sock_start_read2(ssock, st->pool, sizeof(st->read_buf), (void**)read_buf, 0); + if (status != PJ_SUCCESS) { + app_perror("...ERROR pj_ssl_sock_start_read2()", status); + goto on_return; + } + + /* Start sending data */ + while (st->sent < st->send_str_len) { + pj_ssize_t size; + + size = st->send_str_len - st->sent; + status = pj_ssl_sock_send(ssock, (pj_ioqueue_op_key_t*)&st->send_key, + st->send_str + st->sent, &size, 0); + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + app_perror("...ERROR pj_ssl_sock_send()", status); + goto on_return; + } + + if (status == PJ_SUCCESS) + st->sent += size; + else + break; + } + +on_return: + st->err = status; + + if (st->err != PJ_SUCCESS) { + pj_ssl_sock_close(ssock); + clients_num--; + return PJ_FALSE; + } + + return PJ_TRUE; +} + + +static pj_bool_t ssl_on_accept_complete(pj_ssl_sock_t *ssock, + pj_ssl_sock_t *newsock, + const pj_sockaddr_t *src_addr, + int src_addr_len) +{ + struct test_state *parent_st = (struct test_state*) + pj_ssl_sock_get_user_data(ssock); + struct test_state *st; + void *read_buf[1]; + pj_ssl_sock_info info; + char buf[64]; + pj_status_t status; + + PJ_UNUSED_ARG(src_addr_len); + + /* Duplicate parent test state to newly accepted test state */ + st = (struct test_state*)pj_pool_zalloc(parent_st->pool, sizeof(struct test_state)); + *st = *parent_st; + pj_ssl_sock_set_user_data(newsock, st); + + status = pj_ssl_sock_get_info(newsock, &info); + if (status != PJ_SUCCESS) { + app_perror("...ERROR pj_ssl_sock_get_info()", status); + goto on_return; + } + + pj_sockaddr_print(src_addr, buf, sizeof(buf), 1); + PJ_LOG(3, ("", "...Accepted connection from %s", buf)); + + if (st->is_verbose) + dump_ssl_info(&info); + + /* Start reading data */ + read_buf[0] = st->read_buf; + status = pj_ssl_sock_start_read2(newsock, st->pool, sizeof(st->read_buf), (void**)read_buf, 0); + if (status != PJ_SUCCESS) { + app_perror("...ERROR pj_ssl_sock_start_read2()", status); + goto on_return; + } + + /* Start sending data */ + while (st->sent < st->send_str_len) { + pj_ssize_t size; + + size = st->send_str_len - st->sent; + status = pj_ssl_sock_send(newsock, (pj_ioqueue_op_key_t*)&st->send_key, + st->send_str + st->sent, &size, 0); + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + app_perror("...ERROR pj_ssl_sock_send()", status); + goto on_return; + } + + if (status == PJ_SUCCESS) + st->sent += size; + else + break; + } + +on_return: + st->err = status; + + if (st->err != PJ_SUCCESS) { + pj_ssl_sock_close(newsock); + return PJ_FALSE; + } + + return PJ_TRUE; +} + +static pj_bool_t ssl_on_data_read(pj_ssl_sock_t *ssock, + void *data, + pj_size_t size, + pj_status_t status, + pj_size_t *remainder) +{ + struct test_state *st = (struct test_state*) + pj_ssl_sock_get_user_data(ssock); + + PJ_UNUSED_ARG(remainder); + PJ_UNUSED_ARG(data); + + if (size > 0) { + pj_size_t consumed; + + /* Set random remainder */ + *remainder = pj_rand() % 100; + + /* Apply zero remainder if: + * - remainder is less than size, or + * - connection closed/error + * - echo/check_eco set + */ + if (*remainder > size || status != PJ_SUCCESS || st->echo || st->check_echo) + *remainder = 0; + + consumed = size - *remainder; + st->recv += consumed; + + //printf("%.*s", consumed, (char*)data); + + pj_memmove(data, (char*)data + consumed, *remainder); + + /* Echo data when specified to */ + if (st->echo) { + pj_ssize_t size_ = consumed; + status = pj_ssl_sock_send(ssock, (pj_ioqueue_op_key_t*)&st->send_key, data, &size_, 0); + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + app_perror("...ERROR pj_ssl_sock_send()", status); + goto on_return; + } + + if (status == PJ_SUCCESS) + st->sent += size_; + } + + /* Verify echoed data when specified to */ + if (st->check_echo) { + if (!st->check_echo_ptr) + st->check_echo_ptr = st->send_str; + + if (pj_memcmp(st->check_echo_ptr, data, consumed)) { + status = PJ_EINVAL; + app_perror("...ERROR echoed data not exact", status); + goto on_return; + } + st->check_echo_ptr += consumed; + + /* Echo received completely */ + if (st->send_str_len == st->recv) { + pj_ssl_sock_info info; + char buf[64]; + + status = pj_ssl_sock_get_info(ssock, &info); + if (status != PJ_SUCCESS) { + app_perror("...ERROR pj_ssl_sock_get_info()", status); + goto on_return; + } + + pj_sockaddr_print((pj_sockaddr_t*)&info.local_addr, buf, sizeof(buf), 1); + PJ_LOG(3, ("", "...%s successfully recv %d bytes echo", buf, st->recv)); + st->done = PJ_TRUE; + } + } + } + + if (status != PJ_SUCCESS) { + if (status == PJ_EEOF) { + status = PJ_SUCCESS; + st->done = PJ_TRUE; + } else { + app_perror("...ERROR ssl_on_data_read()", status); + } + } + +on_return: + st->err = status; + + if (st->err != PJ_SUCCESS || st->done) { + pj_ssl_sock_close(ssock); + if (!st->is_server) + clients_num--; + return PJ_FALSE; + } + + return PJ_TRUE; +} + +static pj_bool_t ssl_on_data_sent(pj_ssl_sock_t *ssock, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t sent) +{ + struct test_state *st = (struct test_state*) + pj_ssl_sock_get_user_data(ssock); + PJ_UNUSED_ARG(op_key); + + if (sent < 0) { + st->err = (pj_status_t)-sent; + } else { + st->sent += sent; + + /* Send more if any */ + while (st->sent < st->send_str_len) { + pj_ssize_t size; + pj_status_t status; + + size = st->send_str_len - st->sent; + status = pj_ssl_sock_send(ssock, (pj_ioqueue_op_key_t*)&st->send_key, + st->send_str + st->sent, &size, 0); + if (status != PJ_SUCCESS && status != PJ_EPENDING) { + app_perror("...ERROR pj_ssl_sock_send()", status); + st->err = status; + break; + } + + if (status == PJ_SUCCESS) + st->sent += size; + else + break; + } + } + + if (st->err != PJ_SUCCESS) { + pj_ssl_sock_close(ssock); + if (!st->is_server) + clients_num--; + return PJ_FALSE; + } + + return PJ_TRUE; +} + +#define HTTP_REQ "GET / HTTP/1.0\r\n\r\n"; +#define HTTP_SERVER_ADDR "trac.pjsip.org" +#define HTTP_SERVER_PORT 443 + +static int https_client_test(unsigned ms_timeout) +{ + pj_pool_t *pool = NULL; + pj_ioqueue_t *ioqueue = NULL; + pj_timer_heap_t *timer = NULL; + pj_ssl_sock_t *ssock = NULL; + pj_ssl_sock_param param; + pj_status_t status; + struct test_state state = {0}; + pj_sockaddr local_addr, rem_addr; + pj_str_t tmp_st; + + pool = pj_pool_create(mem, "https_get", 256, 256, NULL); + + status = pj_ioqueue_create(pool, 4, &ioqueue); + if (status != PJ_SUCCESS) { + goto on_return; + } + + status = pj_timer_heap_create(pool, 4, &timer); + if (status != PJ_SUCCESS) { + goto on_return; + } + + state.pool = pool; + state.send_str = HTTP_REQ; + state.send_str_len = pj_ansi_strlen(state.send_str); + state.is_verbose = PJ_TRUE; + + pj_ssl_sock_param_default(¶m); + param.cb.on_connect_complete = &ssl_on_connect_complete; + param.cb.on_data_read = &ssl_on_data_read; + param.cb.on_data_sent = &ssl_on_data_sent; + param.ioqueue = ioqueue; + param.user_data = &state; + param.server_name = pj_str((char*)HTTP_SERVER_ADDR); + param.timer_heap = timer; + param.timeout.sec = 0; + param.timeout.msec = ms_timeout; + param.proto = PJ_SSL_SOCK_PROTO_SSL23; + pj_time_val_normalize(¶m.timeout); + + status = pj_ssl_sock_create(pool, ¶m, &ssock); + if (status != PJ_SUCCESS) { + goto on_return; + } + + pj_sockaddr_init(PJ_AF_INET, &local_addr, pj_strset2(&tmp_st, "0.0.0.0"), 0); + pj_sockaddr_init(PJ_AF_INET, &rem_addr, pj_strset2(&tmp_st, HTTP_SERVER_ADDR), HTTP_SERVER_PORT); + status = pj_ssl_sock_start_connect(ssock, pool, &local_addr, &rem_addr, sizeof(rem_addr)); + if (status == PJ_SUCCESS) { + ssl_on_connect_complete(ssock, PJ_SUCCESS); + } else if (status == PJ_EPENDING) { + status = PJ_SUCCESS; + } else { + goto on_return; + } + + /* Wait until everything has been sent/received */ + while (state.err == PJ_SUCCESS && !state.done) { +#ifdef PJ_SYMBIAN + pj_symbianos_poll(-1, 1000); +#else + pj_time_val delay = {0, 100}; + pj_ioqueue_poll(ioqueue, &delay); + pj_timer_heap_poll(timer, &delay); +#endif + } + + if (state.err) { + status = state.err; + goto on_return; + } + + PJ_LOG(3, ("", "...Done!")); + PJ_LOG(3, ("", ".....Sent/recv: %d/%d bytes", state.sent, state.recv)); + +on_return: + if (ssock && !state.err && !state.done) + pj_ssl_sock_close(ssock); + if (ioqueue) + pj_ioqueue_destroy(ioqueue); + if (timer) + pj_timer_heap_destroy(timer); + if (pool) + pj_pool_release(pool); + + return status; +} + + +static int echo_test(pj_ssl_sock_proto srv_proto, pj_ssl_sock_proto cli_proto, + pj_ssl_cipher srv_cipher, pj_ssl_cipher cli_cipher, + pj_bool_t req_client_cert, pj_bool_t client_provide_cert) +{ + pj_pool_t *pool = NULL; + pj_ioqueue_t *ioqueue = NULL; + pj_ssl_sock_t *ssock_serv = NULL; + pj_ssl_sock_t *ssock_cli = NULL; + pj_ssl_sock_param param; + struct test_state state_serv = { 0 }; + struct test_state state_cli = { 0 }; + pj_sockaddr addr, listen_addr; + pj_ssl_cipher ciphers[1]; + pj_ssl_cert_t *cert = NULL; + pj_status_t status; + + pool = pj_pool_create(mem, "ssl_echo", 256, 256, NULL); + + status = pj_ioqueue_create(pool, 4, &ioqueue); + if (status != PJ_SUCCESS) { + goto on_return; + } + + pj_ssl_sock_param_default(¶m); + param.cb.on_accept_complete = &ssl_on_accept_complete; + param.cb.on_connect_complete = &ssl_on_connect_complete; + param.cb.on_data_read = &ssl_on_data_read; + param.cb.on_data_sent = &ssl_on_data_sent; + param.ioqueue = ioqueue; + param.ciphers = ciphers; + + /* Init default bind address */ + { + pj_str_t tmp_st; + pj_sockaddr_init(PJ_AF_INET, &addr, pj_strset2(&tmp_st, "127.0.0.1"), 0); + } + + /* === SERVER === */ + param.proto = srv_proto; + param.user_data = &state_serv; + param.ciphers_num = (srv_cipher == -1)? 0 : 1; + param.require_client_cert = req_client_cert; + ciphers[0] = srv_cipher; + + state_serv.pool = pool; + state_serv.echo = PJ_TRUE; + state_serv.is_server = PJ_TRUE; + state_serv.is_verbose = PJ_TRUE; + + status = pj_ssl_sock_create(pool, ¶m, &ssock_serv); + if (status != PJ_SUCCESS) { + goto on_return; + } + + /* Set server cert */ + { + pj_str_t tmp1, tmp2, tmp3, tmp4; + + status = pj_ssl_cert_load_from_files(pool, + pj_strset2(&tmp1, (char*)CERT_CA_FILE), + pj_strset2(&tmp2, (char*)CERT_FILE), + pj_strset2(&tmp3, (char*)CERT_PRIVKEY_FILE), + pj_strset2(&tmp4, (char*)CERT_PRIVKEY_PASS), + &cert); + if (status != PJ_SUCCESS) { + goto on_return; + } + + status = pj_ssl_sock_set_certificate(ssock_serv, pool, cert); + if (status != PJ_SUCCESS) { + goto on_return; + } + } + + status = pj_ssl_sock_start_accept(ssock_serv, pool, &addr, pj_sockaddr_get_len(&addr)); + if (status != PJ_SUCCESS) { + goto on_return; + } + + /* Get listener address */ + { + pj_ssl_sock_info info; + + pj_ssl_sock_get_info(ssock_serv, &info); + pj_sockaddr_cp(&listen_addr, &info.local_addr); + } + + /* === CLIENT === */ + param.proto = cli_proto; + param.user_data = &state_cli; + param.ciphers_num = (cli_cipher == -1)? 0 : 1; + ciphers[0] = cli_cipher; + + state_cli.pool = pool; + state_cli.check_echo = PJ_TRUE; + state_cli.is_verbose = PJ_TRUE; + + { + pj_time_val now; + + pj_gettimeofday(&now); + pj_srand((unsigned)now.sec); + state_cli.send_str_len = (pj_rand() % 5 + 1) * 1024 + pj_rand() % 1024; + } + state_cli.send_str = (char*)pj_pool_alloc(pool, state_cli.send_str_len); + { + unsigned i; + for (i = 0; i < state_cli.send_str_len; ++i) + state_cli.send_str[i] = (char)(pj_rand() % 256); + } + + status = pj_ssl_sock_create(pool, ¶m, &ssock_cli); + if (status != PJ_SUCCESS) { + goto on_return; + } + + /* Set cert for client */ + { + + if (!client_provide_cert) { + pj_str_t tmp1, tmp2; + + pj_strset2(&tmp1, (char*)CERT_CA_FILE); + pj_strset2(&tmp2, NULL); + status = pj_ssl_cert_load_from_files(pool, + &tmp1, &tmp2, &tmp2, &tmp2, + &cert); + if (status != PJ_SUCCESS) { + goto on_return; + } + } + + status = pj_ssl_sock_set_certificate(ssock_cli, pool, cert); + if (status != PJ_SUCCESS) { + goto on_return; + } + } + + status = pj_ssl_sock_start_connect(ssock_cli, pool, &addr, &listen_addr, pj_sockaddr_get_len(&addr)); + if (status == PJ_SUCCESS) { + ssl_on_connect_complete(ssock_cli, PJ_SUCCESS); + } else if (status == PJ_EPENDING) { + status = PJ_SUCCESS; + } else { + goto on_return; + } + + /* Wait until everything has been sent/received or error */ + while (!state_serv.err && !state_cli.err && !state_serv.done && !state_cli.done) + { +#ifdef PJ_SYMBIAN + pj_symbianos_poll(-1, 1000); +#else + pj_time_val delay = {0, 100}; + pj_ioqueue_poll(ioqueue, &delay); +#endif + } + + /* Clean up sockets */ + { + pj_time_val delay = {0, 100}; + while (pj_ioqueue_poll(ioqueue, &delay) > 0); + } + + if (state_serv.err || state_cli.err) { + if (state_serv.err != PJ_SUCCESS) + status = state_serv.err; + else + status = state_cli.err; + + goto on_return; + } + + PJ_LOG(3, ("", "...Done!")); + PJ_LOG(3, ("", ".....Sent/recv: %d/%d bytes", state_cli.sent, state_cli.recv)); + +on_return: + if (ssock_serv) + pj_ssl_sock_close(ssock_serv); + if (ssock_cli && !state_cli.err && !state_cli.done) + pj_ssl_sock_close(ssock_cli); + if (ioqueue) + pj_ioqueue_destroy(ioqueue); + if (pool) + pj_pool_release(pool); + + return status; +} + + +static pj_bool_t asock_on_data_read(pj_activesock_t *asock, + void *data, + pj_size_t size, + pj_status_t status, + pj_size_t *remainder) +{ + struct test_state *st = (struct test_state*) + pj_activesock_get_user_data(asock); + + PJ_UNUSED_ARG(data); + PJ_UNUSED_ARG(size); + PJ_UNUSED_ARG(remainder); + + if (status != PJ_SUCCESS) { + if (status == PJ_EEOF) { + status = PJ_SUCCESS; + st->done = PJ_TRUE; + } else { + app_perror("...ERROR asock_on_data_read()", status); + } + } + + st->err = status; + + if (st->err != PJ_SUCCESS || st->done) { + pj_activesock_close(asock); + if (!st->is_server) + clients_num--; + return PJ_FALSE; + } + + return PJ_TRUE; +} + + +static pj_bool_t asock_on_connect_complete(pj_activesock_t *asock, + pj_status_t status) +{ + struct test_state *st = (struct test_state*) + pj_activesock_get_user_data(asock); + + if (status == PJ_SUCCESS) { + void *read_buf[1]; + + /* Start reading data */ + read_buf[0] = st->read_buf; + status = pj_activesock_start_read2(asock, st->pool, sizeof(st->read_buf), (void**)read_buf, 0); + if (status != PJ_SUCCESS) { + app_perror("...ERROR pj_ssl_sock_start_read2()", status); + } + } + + st->err = status; + + if (st->err != PJ_SUCCESS) { + pj_activesock_close(asock); + if (!st->is_server) + clients_num--; + return PJ_FALSE; + } + + return PJ_TRUE; +} + +static pj_bool_t asock_on_accept_complete(pj_activesock_t *asock, + pj_sock_t newsock, + const pj_sockaddr_t *src_addr, + int src_addr_len) +{ + struct test_state *st; + void *read_buf[1]; + pj_activesock_t *new_asock; + pj_activesock_cb asock_cb = { 0 }; + pj_status_t status; + + PJ_UNUSED_ARG(src_addr); + PJ_UNUSED_ARG(src_addr_len); + + st = (struct test_state*) pj_activesock_get_user_data(asock); + + asock_cb.on_data_read = &asock_on_data_read; + status = pj_activesock_create(st->pool, newsock, pj_SOCK_STREAM(), NULL, + st->ioqueue, &asock_cb, st, &new_asock); + if (status != PJ_SUCCESS) { + goto on_return; + } + + /* Start reading data */ + read_buf[0] = st->read_buf; + status = pj_activesock_start_read2(new_asock, st->pool, + sizeof(st->read_buf), + (void**)read_buf, 0); + if (status != PJ_SUCCESS) { + app_perror("...ERROR pj_ssl_sock_start_read2()", status); + } + +on_return: + st->err = status; + + if (st->err != PJ_SUCCESS) + pj_activesock_close(new_asock); + + return PJ_TRUE; +} + + +/* Raw TCP socket try to connect to SSL socket server, once + * connection established, it will just do nothing, SSL socket + * server should be able to close the connection after specified + * timeout period (set ms_timeout to 0 to disable timer). + */ +static int client_non_ssl(unsigned ms_timeout) +{ + pj_pool_t *pool = NULL; + pj_ioqueue_t *ioqueue = NULL; + pj_timer_heap_t *timer = NULL; + pj_ssl_sock_t *ssock_serv = NULL; + pj_activesock_t *asock_cli = NULL; + pj_activesock_cb asock_cb = { 0 }; + pj_sock_t sock = PJ_INVALID_SOCKET; + pj_ssl_sock_param param; + struct test_state state_serv = { 0 }; + struct test_state state_cli = { 0 }; + pj_sockaddr listen_addr; + pj_ssl_cert_t *cert = NULL; + pj_status_t status; + + pool = pj_pool_create(mem, "ssl_accept_raw_tcp", 256, 256, NULL); + + status = pj_ioqueue_create(pool, 4, &ioqueue); + if (status != PJ_SUCCESS) { + goto on_return; + } + + status = pj_timer_heap_create(pool, 4, &timer); + if (status != PJ_SUCCESS) { + goto on_return; + } + + /* Set cert */ + { + pj_str_t tmp1, tmp2, tmp3, tmp4; + status = pj_ssl_cert_load_from_files(pool, + pj_strset2(&tmp1, (char*)CERT_CA_FILE), + pj_strset2(&tmp2, (char*)CERT_FILE), + pj_strset2(&tmp3, (char*)CERT_PRIVKEY_FILE), + pj_strset2(&tmp4, (char*)CERT_PRIVKEY_PASS), + &cert); + if (status != PJ_SUCCESS) { + goto on_return; + } + } + + pj_ssl_sock_param_default(¶m); + param.cb.on_accept_complete = &ssl_on_accept_complete; + param.cb.on_data_read = &ssl_on_data_read; + param.cb.on_data_sent = &ssl_on_data_sent; + param.ioqueue = ioqueue; + param.timer_heap = timer; + param.timeout.sec = 0; + param.timeout.msec = ms_timeout; + pj_time_val_normalize(¶m.timeout); + + /* SERVER */ + param.user_data = &state_serv; + state_serv.pool = pool; + state_serv.is_server = PJ_TRUE; + state_serv.is_verbose = PJ_TRUE; + + status = pj_ssl_sock_create(pool, ¶m, &ssock_serv); + if (status != PJ_SUCCESS) { + goto on_return; + } + + status = pj_ssl_sock_set_certificate(ssock_serv, pool, cert); + if (status != PJ_SUCCESS) { + goto on_return; + } + + /* Init bind address */ + { + pj_str_t tmp_st; + pj_sockaddr_init(PJ_AF_INET, &listen_addr, pj_strset2(&tmp_st, "127.0.0.1"), 0); + } + + status = pj_ssl_sock_start_accept(ssock_serv, pool, &listen_addr, pj_sockaddr_get_len(&listen_addr)); + if (status != PJ_SUCCESS) { + goto on_return; + } + + /* Update listener address */ + { + pj_ssl_sock_info info; + + pj_ssl_sock_get_info(ssock_serv, &info); + pj_sockaddr_cp(&listen_addr, &info.local_addr); + } + + /* CLIENT */ + state_cli.pool = pool; + status = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, &sock); + if (status != PJ_SUCCESS) { + goto on_return; + } + + asock_cb.on_connect_complete = &asock_on_connect_complete; + asock_cb.on_data_read = &asock_on_data_read; + status = pj_activesock_create(pool, sock, pj_SOCK_STREAM(), NULL, + ioqueue, &asock_cb, &state_cli, &asock_cli); + if (status != PJ_SUCCESS) { + goto on_return; + } + + status = pj_activesock_start_connect(asock_cli, pool, (pj_sockaddr_t*)&listen_addr, + pj_sockaddr_get_len(&listen_addr)); + if (status == PJ_SUCCESS) { + asock_on_connect_complete(asock_cli, PJ_SUCCESS); + } else if (status == PJ_EPENDING) { + status = PJ_SUCCESS; + } else { + goto on_return; + } + + /* Wait until everything has been sent/received or error */ + while (!state_serv.err && !state_cli.err && !state_serv.done && !state_cli.done) + { +#ifdef PJ_SYMBIAN + pj_symbianos_poll(-1, 1000); +#else + pj_time_val delay = {0, 100}; + pj_ioqueue_poll(ioqueue, &delay); + pj_timer_heap_poll(timer, &delay); +#endif + } + + if (state_serv.err || state_cli.err) { + if (state_serv.err != PJ_SUCCESS) + status = state_serv.err; + else + status = state_cli.err; + + goto on_return; + } + + PJ_LOG(3, ("", "...Done!")); + +on_return: + if (ssock_serv) + pj_ssl_sock_close(ssock_serv); + if (asock_cli && !state_cli.err && !state_cli.done) + pj_activesock_close(asock_cli); + if (timer) + pj_timer_heap_destroy(timer); + if (ioqueue) + pj_ioqueue_destroy(ioqueue); + if (pool) + pj_pool_release(pool); + + return status; +} + + +/* SSL socket try to connect to raw TCP socket server, once + * connection established, SSL socket will try to perform SSL + * handshake. SSL client socket should be able to close the + * connection after specified timeout period (set ms_timeout to + * 0 to disable timer). + */ +static int server_non_ssl(unsigned ms_timeout) +{ + pj_pool_t *pool = NULL; + pj_ioqueue_t *ioqueue = NULL; + pj_timer_heap_t *timer = NULL; + pj_activesock_t *asock_serv = NULL; + pj_ssl_sock_t *ssock_cli = NULL; + pj_activesock_cb asock_cb = { 0 }; + pj_sock_t sock = PJ_INVALID_SOCKET; + pj_ssl_sock_param param; + struct test_state state_serv = { 0 }; + struct test_state state_cli = { 0 }; + pj_sockaddr addr, listen_addr; + pj_status_t status; + + pool = pj_pool_create(mem, "ssl_connect_raw_tcp", 256, 256, NULL); + + status = pj_ioqueue_create(pool, 4, &ioqueue); + if (status != PJ_SUCCESS) { + goto on_return; + } + + status = pj_timer_heap_create(pool, 4, &timer); + if (status != PJ_SUCCESS) { + goto on_return; + } + + /* SERVER */ + state_serv.pool = pool; + state_serv.ioqueue = ioqueue; + + status = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, &sock); + if (status != PJ_SUCCESS) { + goto on_return; + } + + /* Init bind address */ + { + pj_str_t tmp_st; + pj_sockaddr_init(PJ_AF_INET, &listen_addr, pj_strset2(&tmp_st, "127.0.0.1"), 0); + } + + status = pj_sock_bind(sock, (pj_sockaddr_t*)&listen_addr, + pj_sockaddr_get_len((pj_sockaddr_t*)&listen_addr)); + if (status != PJ_SUCCESS) { + goto on_return; + } + + status = pj_sock_listen(sock, PJ_SOMAXCONN); + if (status != PJ_SUCCESS) { + goto on_return; + } + + asock_cb.on_accept_complete = &asock_on_accept_complete; + status = pj_activesock_create(pool, sock, pj_SOCK_STREAM(), NULL, + ioqueue, &asock_cb, &state_serv, &asock_serv); + if (status != PJ_SUCCESS) { + goto on_return; + } + + status = pj_activesock_start_accept(asock_serv, pool); + if (status != PJ_SUCCESS) + goto on_return; + + /* Update listener address */ + { + int addr_len; + + addr_len = sizeof(listen_addr); + pj_sock_getsockname(sock, (pj_sockaddr_t*)&listen_addr, &addr_len); + } + + /* CLIENT */ + pj_ssl_sock_param_default(¶m); + param.cb.on_connect_complete = &ssl_on_connect_complete; + param.cb.on_data_read = &ssl_on_data_read; + param.cb.on_data_sent = &ssl_on_data_sent; + param.ioqueue = ioqueue; + param.timer_heap = timer; + param.timeout.sec = 0; + param.timeout.msec = ms_timeout; + pj_time_val_normalize(¶m.timeout); + param.user_data = &state_cli; + + state_cli.pool = pool; + state_cli.is_server = PJ_FALSE; + state_cli.is_verbose = PJ_TRUE; + + status = pj_ssl_sock_create(pool, ¶m, &ssock_cli); + if (status != PJ_SUCCESS) { + goto on_return; + } + + /* Init default bind address */ + { + pj_str_t tmp_st; + pj_sockaddr_init(PJ_AF_INET, &addr, pj_strset2(&tmp_st, "127.0.0.1"), 0); + } + + status = pj_ssl_sock_start_connect(ssock_cli, pool, + (pj_sockaddr_t*)&addr, + (pj_sockaddr_t*)&listen_addr, + pj_sockaddr_get_len(&listen_addr)); + if (status != PJ_EPENDING) { + goto on_return; + } + + /* Wait until everything has been sent/received or error */ + while ((!state_serv.err && !state_serv.done) || (!state_cli.err && !state_cli.done)) + { +#ifdef PJ_SYMBIAN + pj_symbianos_poll(-1, 1000); +#else + pj_time_val delay = {0, 100}; + pj_ioqueue_poll(ioqueue, &delay); + pj_timer_heap_poll(timer, &delay); +#endif + } + + if (state_serv.err || state_cli.err) { + if (state_cli.err != PJ_SUCCESS) + status = state_cli.err; + else + status = state_serv.err; + + goto on_return; + } + + PJ_LOG(3, ("", "...Done!")); + +on_return: + if (asock_serv) + pj_activesock_close(asock_serv); + if (ssock_cli && !state_cli.err && !state_cli.done) + pj_ssl_sock_close(ssock_cli); + if (timer) + pj_timer_heap_destroy(timer); + if (ioqueue) + pj_ioqueue_destroy(ioqueue); + if (pool) + pj_pool_release(pool); + + return status; +} + + +/* Test will perform multiple clients trying to connect to single server. + * Once SSL connection established, echo test will be performed. + */ +static int perf_test(unsigned clients, unsigned ms_handshake_timeout) +{ + pj_pool_t *pool = NULL; + pj_ioqueue_t *ioqueue = NULL; + pj_timer_heap_t *timer = NULL; + pj_ssl_sock_t *ssock_serv = NULL; + pj_ssl_sock_t **ssock_cli = NULL; + pj_ssl_sock_param param; + struct test_state state_serv = { 0 }; + struct test_state *state_cli = NULL; + pj_sockaddr addr, listen_addr; + pj_ssl_cert_t *cert = NULL; + pj_status_t status; + unsigned i, cli_err = 0; + pj_size_t tot_sent = 0, tot_recv = 0; + pj_time_val start; + + pool = pj_pool_create(mem, "ssl_perf", 256, 256, NULL); + + status = pj_ioqueue_create(pool, PJ_IOQUEUE_MAX_HANDLES, &ioqueue); + if (status != PJ_SUCCESS) { + goto on_return; + } + + status = pj_timer_heap_create(pool, PJ_IOQUEUE_MAX_HANDLES, &timer); + if (status != PJ_SUCCESS) { + goto on_return; + } + + /* Set cert */ + { + pj_str_t tmp1, tmp2, tmp3, tmp4; + + status = pj_ssl_cert_load_from_files(pool, + pj_strset2(&tmp1, (char*)CERT_CA_FILE), + pj_strset2(&tmp2, (char*)CERT_FILE), + pj_strset2(&tmp3, (char*)CERT_PRIVKEY_FILE), + pj_strset2(&tmp4, (char*)CERT_PRIVKEY_PASS), + &cert); + if (status != PJ_SUCCESS) { + goto on_return; + } + } + + pj_ssl_sock_param_default(¶m); + param.cb.on_accept_complete = &ssl_on_accept_complete; + param.cb.on_connect_complete = &ssl_on_connect_complete; + param.cb.on_data_read = &ssl_on_data_read; + param.cb.on_data_sent = &ssl_on_data_sent; + param.ioqueue = ioqueue; + param.timer_heap = timer; + param.timeout.sec = 0; + param.timeout.msec = ms_handshake_timeout; + pj_time_val_normalize(¶m.timeout); + + /* Init default bind address */ + { + pj_str_t tmp_st; + pj_sockaddr_init(PJ_AF_INET, &addr, pj_strset2(&tmp_st, "127.0.0.1"), 0); + } + + /* SERVER */ + param.user_data = &state_serv; + + state_serv.pool = pool; + state_serv.echo = PJ_TRUE; + state_serv.is_server = PJ_TRUE; + + status = pj_ssl_sock_create(pool, ¶m, &ssock_serv); + if (status != PJ_SUCCESS) { + goto on_return; + } + + status = pj_ssl_sock_set_certificate(ssock_serv, pool, cert); + if (status != PJ_SUCCESS) { + goto on_return; + } + + status = pj_ssl_sock_start_accept(ssock_serv, pool, &addr, pj_sockaddr_get_len(&addr)); + if (status != PJ_SUCCESS) { + goto on_return; + } + + /* Get listening address for clients to connect to */ + { + pj_ssl_sock_info info; + char buf[64]; + + pj_ssl_sock_get_info(ssock_serv, &info); + pj_sockaddr_cp(&listen_addr, &info.local_addr); + + pj_sockaddr_print((pj_sockaddr_t*)&listen_addr, buf, sizeof(buf), 1); + PJ_LOG(3, ("", "...Listener ready at %s", buf)); + } + + + /* CLIENTS */ + clients_num = clients; + param.timeout.sec = 0; + param.timeout.msec = 0; + + /* Init random seed */ + { + pj_time_val now; + + pj_gettimeofday(&now); + pj_srand((unsigned)now.sec); + } + + /* Allocate SSL socket pointers and test state */ + ssock_cli = (pj_ssl_sock_t**)pj_pool_calloc(pool, clients, sizeof(pj_ssl_sock_t*)); + state_cli = (struct test_state*)pj_pool_calloc(pool, clients, sizeof(struct test_state)); + + /* Get start timestamp */ + pj_gettimeofday(&start); + + /* Setup clients */ + for (i = 0; i < clients; ++i) { + param.user_data = &state_cli[i]; + + state_cli[i].pool = pool; + state_cli[i].check_echo = PJ_TRUE; + state_cli[i].send_str_len = (pj_rand() % 5 + 1) * 1024 + pj_rand() % 1024; + state_cli[i].send_str = (char*)pj_pool_alloc(pool, state_cli[i].send_str_len); + { + unsigned j; + for (j = 0; j < state_cli[i].send_str_len; ++j) + state_cli[i].send_str[j] = (char)(pj_rand() % 256); + } + + status = pj_ssl_sock_create(pool, ¶m, &ssock_cli[i]); + if (status != PJ_SUCCESS) { + app_perror("...ERROR pj_ssl_sock_create()", status); + cli_err++; + clients_num--; + continue; + } + + status = pj_ssl_sock_start_connect(ssock_cli[i], pool, &addr, &listen_addr, pj_sockaddr_get_len(&addr)); + if (status == PJ_SUCCESS) { + ssl_on_connect_complete(ssock_cli[i], PJ_SUCCESS); + } else if (status == PJ_EPENDING) { + status = PJ_SUCCESS; + } else { + app_perror("...ERROR pj_ssl_sock_create()", status); + pj_ssl_sock_close(ssock_cli[i]); + ssock_cli[i] = NULL; + clients_num--; + cli_err++; + continue; + } + + /* Give chance to server to accept this client */ + { + unsigned n = 5; + +#ifdef PJ_SYMBIAN + while(n && pj_symbianos_poll(-1, 1000)) + n--; +#else + pj_time_val delay = {0, 100}; + while(n && pj_ioqueue_poll(ioqueue, &delay) > 0) + n--; +#endif + } + } + + /* Wait until everything has been sent/received or error */ + while (clients_num) + { +#ifdef PJ_SYMBIAN + pj_symbianos_poll(-1, 1000); +#else + pj_time_val delay = {0, 100}; + pj_ioqueue_poll(ioqueue, &delay); + pj_timer_heap_poll(timer, &delay); +#endif + } + + /* Clean up sockets */ + { + pj_time_val delay = {0, 500}; + while (pj_ioqueue_poll(ioqueue, &delay) > 0); + } + + if (state_serv.err != PJ_SUCCESS) { + status = state_serv.err; + goto on_return; + } + + PJ_LOG(3, ("", "...Done!")); + + /* SSL setup and data transfer duration */ + { + pj_time_val stop; + + pj_gettimeofday(&stop); + PJ_TIME_VAL_SUB(stop, start); + + PJ_LOG(3, ("", ".....Setup & data transfer duration: %d.%03ds", stop.sec, stop.msec)); + } + + /* Check clients status */ + for (i = 0; i < clients; ++i) { + if (state_cli[i].err != PJ_SUCCESS) + cli_err++; + + tot_sent += state_cli[1].sent; + tot_recv += state_cli[1].recv; + } + + PJ_LOG(3, ("", ".....Clients: %d (%d errors)", clients, cli_err)); + PJ_LOG(3, ("", ".....Total sent/recv: %d/%d bytes", tot_sent, tot_recv)); + +on_return: + if (ssock_serv) + pj_ssl_sock_close(ssock_serv); + + for (i = 0; i < clients; ++i) { + if (ssock_cli[i] && !state_cli[i].err && !state_cli[i].done) + pj_ssl_sock_close(ssock_cli[i]); + } + if (ioqueue) + pj_ioqueue_destroy(ioqueue); + if (pool) + pj_pool_release(pool); + + return status; +} + +#if 0 && (!defined(PJ_SYMBIAN) || PJ_SYMBIAN==0) +pj_status_t pj_ssl_sock_ossl_test_send_buf(pj_pool_t *pool); +static int ossl_test_send_buf() +{ + pj_pool_t *pool; + pj_status_t status; + + pool = pj_pool_create(mem, "send_buf", 256, 256, NULL); + status = pj_ssl_sock_ossl_test_send_buf(pool); + pj_pool_release(pool); + return status; +} +#else +static int ossl_test_send_buf() +{ + return 0; +} +#endif + +int ssl_sock_test(void) +{ + int ret; + + PJ_LOG(3,("", "..test ossl send buf")); + ret = ossl_test_send_buf(); + if (ret != 0) + return ret; + + PJ_LOG(3,("", "..get cipher list test")); + ret = get_cipher_list(); + if (ret != 0) + return ret; + + PJ_LOG(3,("", "..https client test")); + ret = https_client_test(30000); + // Ignore test result as internet connection may not be available. + //if (ret != 0) + //return ret; + +#ifndef PJ_SYMBIAN + + /* On Symbian platforms, SSL socket is implemented using CSecureSocket, + * and it hasn't supported server mode, so exclude the following tests, + * which require SSL server, for now. + */ + + PJ_LOG(3,("", "..echo test w/ TLSv1 and PJ_TLS_RSA_WITH_DES_CBC_SHA cipher")); + ret = echo_test(PJ_SSL_SOCK_PROTO_TLS1, PJ_SSL_SOCK_PROTO_TLS1, + PJ_TLS_RSA_WITH_DES_CBC_SHA, PJ_TLS_RSA_WITH_DES_CBC_SHA, + PJ_FALSE, PJ_FALSE); + if (ret != 0) + return ret; + + PJ_LOG(3,("", "..echo test w/ SSLv23 and PJ_TLS_RSA_WITH_AES_256_CBC_SHA cipher")); + ret = echo_test(PJ_SSL_SOCK_PROTO_SSL23, PJ_SSL_SOCK_PROTO_SSL23, + PJ_TLS_RSA_WITH_AES_256_CBC_SHA, PJ_TLS_RSA_WITH_AES_256_CBC_SHA, + PJ_FALSE, PJ_FALSE); + if (ret != 0) + return ret; + + PJ_LOG(3,("", "..echo test w/ incompatible proto")); + ret = echo_test(PJ_SSL_SOCK_PROTO_TLS1, PJ_SSL_SOCK_PROTO_SSL3, + PJ_TLS_RSA_WITH_DES_CBC_SHA, PJ_TLS_RSA_WITH_DES_CBC_SHA, + PJ_FALSE, PJ_FALSE); + if (ret == 0) + return PJ_EBUG; + + PJ_LOG(3,("", "..echo test w/ incompatible ciphers")); + ret = echo_test(PJ_SSL_SOCK_PROTO_DEFAULT, PJ_SSL_SOCK_PROTO_DEFAULT, + PJ_TLS_RSA_WITH_DES_CBC_SHA, PJ_TLS_RSA_WITH_AES_256_CBC_SHA, + PJ_FALSE, PJ_FALSE); + if (ret == 0) + return PJ_EBUG; + + PJ_LOG(3,("", "..echo test w/ client cert required but not provided")); + ret = echo_test(PJ_SSL_SOCK_PROTO_DEFAULT, PJ_SSL_SOCK_PROTO_DEFAULT, + PJ_TLS_RSA_WITH_AES_256_CBC_SHA, PJ_TLS_RSA_WITH_AES_256_CBC_SHA, + PJ_TRUE, PJ_FALSE); + if (ret == 0) + return PJ_EBUG; + + PJ_LOG(3,("", "..echo test w/ client cert required and provided")); + ret = echo_test(PJ_SSL_SOCK_PROTO_DEFAULT, PJ_SSL_SOCK_PROTO_DEFAULT, + PJ_TLS_RSA_WITH_AES_256_CBC_SHA, PJ_TLS_RSA_WITH_AES_256_CBC_SHA, + PJ_TRUE, PJ_TRUE); + if (ret != 0) + return ret; + + PJ_LOG(3,("", "..performance test")); + ret = perf_test(PJ_IOQUEUE_MAX_HANDLES/2 - 1, 0); + if (ret != 0) + return ret; + + PJ_LOG(3,("", "..client non-SSL (handshake timeout 5 secs)")); + ret = client_non_ssl(5000); + /* PJ_TIMEDOUT won't be returned as accepted socket is deleted silently */ + if (ret != 0) + return ret; + +#endif + + PJ_LOG(3,("", "..server non-SSL (handshake timeout 5 secs)")); + ret = server_non_ssl(5000); + if (ret != PJ_ETIMEDOUT) + return ret; + + return 0; +} + +#else /* INCLUDE_SSLSOCK_TEST */ +/* To prevent warning about "translation unit is empty" + * when this test is disabled. + */ +int dummy_ssl_sock_test; +#endif /* INCLUDE_SSLSOCK_TEST */ + diff --git a/pjlib/src/pjlib-test/string.c b/pjlib/src/pjlib-test/string.c new file mode 100644 index 0000000..b7f73b9 --- /dev/null +++ b/pjlib/src/pjlib-test/string.c @@ -0,0 +1,438 @@ +/* $Id: string.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include "test.h" + +#define THIS_FILE "string.c" + +/** + * \page page_pjlib_string_test Test: String + * + * This file provides implementation of \b string_test(). It tests the + * functionality of the string API. + * + * \section sleep_test_sec Scope of the Test + * + * API tested: + * - pj_str() + * - pj_strcmp() + * - pj_strcmp2() + * - pj_stricmp() + * - pj_strlen() + * - pj_strncmp() + * - pj_strnicmp() + * - pj_strchr() + * - pj_strdup() + * - pj_strdup2() + * - pj_strcpy() + * - pj_strcat() + * - pj_strtrim() + * - pj_utoa() + * - pj_strtoul() + * - pj_strtoul2() + * - pj_create_random_string() + * - ... and mode.. + * + * This file is pjlib-test/string.c + * + * \include pjlib-test/string.c + */ + +#if INCLUDE_STRING_TEST + +#ifdef _MSC_VER +# pragma warning(disable: 4204) +#endif + +#define HELLO_WORLD "Hello World" +#define HELLO_WORLD_LEN 11 +#define JUST_HELLO "Hello" +#define JUST_HELLO_LEN 5 +#define UL_VALUE 3456789012UL + +#if 1 +/* See if both integers have the same sign */ +PJ_INLINE(int) cmp(const char *expr, int i, int j) +{ + int r = !((i>0 && j>0) || (i<0 && j<0) || (i==0 && j==0)); + if (r) { + PJ_LOG(3,(THIS_FILE," error: %s: expecting %d, got %d", expr, j, i)); + } + return r; +} +#else +/* For strict comparison, must be equal */ +PJ_INLINE(int) cmp(const char *expr, int i, int j) +{ + PJ_UNUSED_ARG(expr); + return i!=j; +} +#endif + +#define C(expr, res) cmp(#expr, expr, res) + +static int stricmp_test(void) +{ +/* This specificly tests and benchmark pj_stricmp(), pj_stricmp_alnum(). + * In addition, it also tests pj_stricmp2(), pj_strnicmp(), and + * pj_strnicmp2(). + */ +#define STRTEST(res,res2,S1,S2,code) \ + do { \ + s1.ptr=S1; s1.slen=(S1)?len:0; \ + s2.ptr=S2; s2.slen=(S2)?len:0; \ + pj_get_timestamp(&t1); \ + if (C(pj_stricmp(&s1,&s2),res)) return code; \ + pj_get_timestamp(&t2); \ + pj_sub_timestamp(&t2, &t1); \ + pj_add_timestamp(&e1, &t2); \ + pj_get_timestamp(&t1); \ + if (C(pj_stricmp_alnum(&s1,&s2),res)) return code-1; \ + pj_get_timestamp(&t2); \ + pj_sub_timestamp(&t2, &t1); \ + pj_add_timestamp(&e2, &t2); \ + if (C(pj_stricmp2(&s1,S2),res2)) return code*10; \ + if (C(pj_strnicmp(&s1,&s2,len),res)) return code*100; \ + if (C(pj_strnicmp2(&s1,S2,len),res)) return code*1000; \ + } while (0) + + char *buf; + pj_str_t s1, s2; + pj_timestamp t1, t2, e1, e2, zero; + pj_uint32_t c1, c2; + int len; + + e1.u32.hi = e1.u32.lo = e2.u32.hi = e2.u32.lo = 0; + + pj_thread_sleep(0); + +#define SNULL 0 + + /* Compare empty strings. */ + len=0; + STRTEST( 0, 0, "","",-500); + STRTEST( 0, 0, SNULL,"",-502); + STRTEST( 0, 0, "",SNULL,-504); + STRTEST( 0, 0, SNULL,SNULL,-506); + STRTEST( 0, -1, "hello","world",-508); + + /* equal, length=1 + * use buffer to simulate non-aligned string. + */ + buf = "a""A"; + len=1; + STRTEST( 0, -1, "a",buf+0,-510); + STRTEST( 0, 0, "a",buf+1,-512); + STRTEST(-1, -1, "O", "P", -514); + STRTEST(-1, -1, SNULL, "a", -516); + STRTEST( 1, 1, "a", SNULL, -518); + + /* equal, length=2 + * use buffer to simulate non-aligned string. + */ + buf = "aa""Aa""aA""AA"; + len=2; + STRTEST( 0, -1, "aa",buf+0,-520); + STRTEST( 0, -1, "aa",buf+2,-522); + STRTEST( 0, -1, "aa",buf+4,-524); + STRTEST( 0, 0, "aa",buf+6,-524); + + /* equal, length=3 + * use buffer to simulate non-aligned string. + */ + buf = "aaa""Aaa""aAa""aaA""AAa""aAA""AaA""AAA"; + len=3; + STRTEST( 0, -1, "aaa",buf+0,-530); + STRTEST( 0, -1, "aaa",buf+3,-532); + STRTEST( 0, -1, "aaa",buf+6,-534); + STRTEST( 0, -1, "aaa",buf+9,-536); + STRTEST( 0, -1, "aaa",buf+12,-538); + STRTEST( 0, -1, "aaa",buf+15,-540); + STRTEST( 0, -1, "aaa",buf+18,-542); + STRTEST( 0, 0, "aaa",buf+21,-534); + + /* equal, length=4 */ + len=4; + STRTEST( 0, 0, "aaaa","aaaa",-540); + STRTEST( 0, 0, "aaaa","Aaaa",-542); + STRTEST( 0, 0, "aaaa","aAaa",-544); + STRTEST( 0, 0, "aaaa","aaAa",-546); + STRTEST( 0, 0, "aaaa","aaaA",-548); + STRTEST( 0, 0, "aaaa","AAaa",-550); + STRTEST( 0, 0, "aaaa","aAAa",-552); + STRTEST( 0, 0, "aaaa","aaAA",-554); + STRTEST( 0, 0, "aaaa","AaAa",-556); + STRTEST( 0, 0, "aaaa","aAaA",-558); + STRTEST( 0, 0, "aaaa","AaaA",-560); + STRTEST( 0, 0, "aaaa","AAAa",-562); + STRTEST( 0, 0, "aaaa","aAAA",-564); + STRTEST( 0, 0, "aaaa","AAaA",-566); + STRTEST( 0, 0, "aaaa","AaAA",-568); + STRTEST( 0, 0, "aaaa","AAAA",-570); + + /* equal, length=5 */ + buf = "aaaAa""AaaaA""AaAaA""AAAAA"; + len=5; + STRTEST( 0, -1, "aaaaa",buf+0,-580); + STRTEST( 0, -1, "aaaaa",buf+5,-582); + STRTEST( 0, -1, "aaaaa",buf+10,-584); + STRTEST( 0, 0, "aaaaa",buf+15,-586); + + /* not equal, length=1 */ + len=1; + STRTEST( -1, -1, "a", "b", -600); + + /* not equal, length=2 */ + buf = "ab""ba"; + len=2; + STRTEST( -1, -1, "aa", buf+0, -610); + STRTEST( -1, -1, "aa", buf+2, -612); + + /* not equal, length=3 */ + buf = "aab""aba""baa"; + len=3; + STRTEST( -1, -1, "aaa", buf+0, -620); + STRTEST( -1, -1, "aaa", buf+3, -622); + STRTEST( -1, -1, "aaa", buf+6, -624); + + /* not equal, length=4 */ + buf = "aaab""aaba""abaa""baaa"; + len=4; + STRTEST( -1, -1, "aaaa", buf+0, -630); + STRTEST( -1, -1, "aaaa", buf+4, -632); + STRTEST( -1, -1, "aaaa", buf+8, -634); + STRTEST( -1, -1, "aaaa", buf+12, -636); + + /* not equal, length=5 */ + buf="aaaab""aaaba""aabaa""abaaa""baaaa"; + len=5; + STRTEST( -1, -1, "aaaaa", buf+0, -640); + STRTEST( -1, -1, "aaaaa", buf+5, -642); + STRTEST( -1, -1, "aaaaa", buf+10, -644); + STRTEST( -1, -1, "aaaaa", buf+15, -646); + STRTEST( -1, -1, "aaaaa", buf+20, -648); + + zero.u32.hi = zero.u32.lo = 0; + c1 = pj_elapsed_cycle(&zero, &e1); + c2 = pj_elapsed_cycle(&zero, &e2); + + if (c1 < c2) { + PJ_LOG(3,("", " info: pj_stricmp_alnum is slower than pj_stricmp!")); + //return -700; + } + + /* Avoid division by zero */ + if (c2 == 0) c2=1; + + PJ_LOG(3, ("", " time: stricmp=%u, stricmp_alnum=%u (speedup=%d.%02dx)", + c1, c2, + (c1 * 100 / c2) / 100, + (c1 * 100 / c2) % 100)); + return 0; +#undef STRTEST +} + +/* This tests pj_strcmp(), pj_strcmp2(), pj_strncmp(), pj_strncmp2() */ +static int strcmp_test(void) +{ +#define STR_TEST(res,S1,S2,code) \ + do { \ + s1.ptr=S1; s1.slen=S1?len:0; \ + s2.ptr=S2; s2.slen=S2?len:0; \ + if (C(pj_strcmp(&s1,&s2),res)) return code; \ + if (C(pj_strcmp2(&s1,S2),res)) return code-1; \ + if (C(pj_strncmp(&s1,&s2,len),res)) return code-2; \ + if (C(pj_strncmp2(&s1,S2,len),res)) return code-3; \ + } while (0) + + pj_str_t s1, s2; + int len; + + /* Test with length == 0 */ + len=0; + STR_TEST(0, "", "", -400); + STR_TEST(0, SNULL, "", -405); + STR_TEST(0, "", SNULL, -410); + STR_TEST(0, SNULL, SNULL, -415); + STR_TEST(0, "hello", "", -420); + STR_TEST(0, "hello", SNULL, -425); + + /* Test with length != 0 */ + len = 2; + STR_TEST(0, "12", "12", -430); + STR_TEST(1, "12", "1", -435); + STR_TEST(-1, "1", "12", -440); + STR_TEST(-1, SNULL, "12", -445); + STR_TEST(1, "12", SNULL, -450); + + return 0; + +#undef STR_TEST +} + +int string_test(void) +{ + const pj_str_t hello_world = { HELLO_WORLD, HELLO_WORLD_LEN }; + const pj_str_t just_hello = { JUST_HELLO, JUST_HELLO_LEN }; + pj_str_t s1, s2, s3, s4, s5; + enum { RCOUNT = 10, RLEN = 16 }; + pj_str_t random[RCOUNT]; + pj_pool_t *pool; + int i; + + pool = pj_pool_create(mem, SNULL, 4096, 0, SNULL); + if (!pool) return -5; + + /* + * pj_str(), pj_strcmp(), pj_stricmp(), pj_strlen(), + * pj_strncmp(), pj_strchr() + */ + s1 = pj_str(HELLO_WORLD); + if (pj_strcmp(&s1, &hello_world) != 0) + return -10; + if (pj_stricmp(&s1, &hello_world) != 0) + return -20; + if (pj_strcmp(&s1, &just_hello) <= 0) + return -30; + if (pj_stricmp(&s1, &just_hello) <= 0) + return -40; + if (pj_strlen(&s1) != strlen(HELLO_WORLD)) + return -50; + if (pj_strncmp(&s1, &hello_world, 5) != 0) + return -60; + if (pj_strnicmp(&s1, &hello_world, 5) != 0) + return -70; + if (pj_strchr(&s1, HELLO_WORLD[1]) != s1.ptr+1) + return -80; + + /* + * pj_strdup() + */ + if (!pj_strdup(pool, &s2, &s1)) + return -100; + if (pj_strcmp(&s1, &s2) != 0) + return -110; + + /* + * pj_strcpy(), pj_strcat() + */ + s3.ptr = (char*) pj_pool_alloc(pool, 256); + if (!s3.ptr) + return -200; + pj_strcpy(&s3, &s2); + pj_strcat(&s3, &just_hello); + + if (pj_strcmp2(&s3, HELLO_WORLD JUST_HELLO) != 0) + return -210; + + /* + * pj_strdup2(), pj_strtrim(). + */ + pj_strdup2(pool, &s4, " " HELLO_WORLD "\t "); + pj_strtrim(&s4); + if (pj_strcmp2(&s4, HELLO_WORLD) != 0) + return -250; + + /* + * pj_utoa() + */ + s5.ptr = (char*) pj_pool_alloc(pool, 16); + if (!s5.ptr) + return -270; + s5.slen = pj_utoa(UL_VALUE, s5.ptr); + + /* + * pj_strtoul() + */ + if (pj_strtoul(&s5) != UL_VALUE) + return -280; + + /* + * pj_strtoul2() + */ + s5 = pj_str("123456"); + + pj_strtoul2(&s5, SNULL, 10); /* Crash test */ + + if (pj_strtoul2(&s5, &s4, 10) != 123456UL) + return -290; + if (s4.slen != 0) + return -291; + if (pj_strtoul2(&s5, &s4, 16) != 0x123456UL) + return -292; + + s5 = pj_str("0123ABCD"); + if (pj_strtoul2(&s5, &s4, 10) != 123) + return -293; + if (s4.slen != 4) + return -294; + if (s4.ptr == SNULL || *s4.ptr != 'A') + return -295; + if (pj_strtoul2(&s5, &s4, 16) != 0x123ABCDUL) + return -296; + if (s4.slen != 0) + return -297; + + /* + * pj_create_random_string() + * Check that no duplicate strings are returned. + */ + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include +#ifdef _MSC_VER +# pragma warning(disable:4127) +#endif + +#define DO_TEST(test) do { \ + PJ_LOG(3, ("test", "Running %s...", #test)); \ + rc = test; \ + PJ_LOG(3, ("test", \ + "%s(%d)", \ + (rc ? "..ERROR" : "..success"), rc)); \ + if (rc!=0) goto on_return; \ + } while (0) + + +pj_pool_factory *mem; + +int param_echo_sock_type; +const char *param_echo_server = ECHO_SERVER_ADDRESS; +int param_echo_port = ECHO_SERVER_START_PORT; +int param_log_decor = PJ_LOG_HAS_NEWLINE | PJ_LOG_HAS_TIME | + PJ_LOG_HAS_MICRO_SEC; + +int null_func() +{ + return 0; +} + +int test_inner(void) +{ + pj_caching_pool caching_pool; + const char *filename; + int line; + int rc = 0; + + mem = &caching_pool.factory; + + pj_log_set_level(3); + pj_log_set_decor(param_log_decor); + + rc = pj_init(); + if (rc != 0) { + app_perror("pj_init() error!!", rc); + return rc; + } + + //pj_dump_config(); + pj_caching_pool_init( &caching_pool, NULL, 0 ); + +#if INCLUDE_ERRNO_TEST + DO_TEST( errno_test() ); +#endif + +#if INCLUDE_EXCEPTION_TEST + DO_TEST( exception_test() ); +#endif + +#if INCLUDE_OS_TEST + DO_TEST( os_test() ); +#endif + +#if INCLUDE_RAND_TEST + DO_TEST( rand_test() ); +#endif + +#if INCLUDE_LIST_TEST + DO_TEST( list_test() ); +#endif + +#if INCLUDE_POOL_TEST + DO_TEST( pool_test() ); +#endif + +#if INCLUDE_POOL_PERF_TEST + DO_TEST( pool_perf_test() ); +#endif + +#if INCLUDE_STRING_TEST + DO_TEST( string_test() ); +#endif + +#if INCLUDE_FIFOBUF_TEST + DO_TEST( fifobuf_test() ); +#endif + +#if INCLUDE_RBTREE_TEST + DO_TEST( rbtree_test() ); +#endif + +#if INCLUDE_HASH_TEST + DO_TEST( hash_test() ); +#endif + +#if INCLUDE_TIMESTAMP_TEST + DO_TEST( timestamp_test() ); +#endif + +#if INCLUDE_ATOMIC_TEST + DO_TEST( atomic_test() ); +#endif + +#if INCLUDE_MUTEX_TEST + DO_TEST( mutex_test() ); +#endif + +#if INCLUDE_TIMER_TEST + DO_TEST( timer_test() ); +#endif + +#if INCLUDE_SLEEP_TEST + DO_TEST( sleep_test() ); +#endif + +#if INCLUDE_THREAD_TEST + DO_TEST( thread_test() ); +#endif + +#if INCLUDE_SOCK_TEST + DO_TEST( sock_test() ); +#endif + +#if INCLUDE_SOCK_PERF_TEST + DO_TEST( sock_perf_test() ); +#endif + +#if INCLUDE_SELECT_TEST + DO_TEST( select_test() ); +#endif + +#if INCLUDE_UDP_IOQUEUE_TEST + DO_TEST( udp_ioqueue_test() ); +#endif + +#if PJ_HAS_TCP && INCLUDE_TCP_IOQUEUE_TEST + DO_TEST( tcp_ioqueue_test() ); +#endif + +#if INCLUDE_IOQUEUE_PERF_TEST + DO_TEST( ioqueue_perf_test() ); +#endif + +#if INCLUDE_IOQUEUE_UNREG_TEST + DO_TEST( udp_ioqueue_unreg_test() ); +#endif + +#if INCLUDE_ACTIVESOCK_TEST + DO_TEST( activesock_test() ); +#endif + +#if INCLUDE_FILE_TEST + DO_TEST( file_test() ); +#endif + +#if INCLUDE_SSLSOCK_TEST + DO_TEST( ssl_sock_test() ); +#endif + +#if INCLUDE_ECHO_SERVER + //echo_server(); + //echo_srv_sync(); + udp_echo_srv_ioqueue(); + +#elif INCLUDE_ECHO_CLIENT + if (param_echo_sock_type == 0) + param_echo_sock_type = pj_SOCK_DGRAM(); + + echo_client( param_echo_sock_type, + param_echo_server, + param_echo_port); +#endif + + goto on_return; + +on_return: + + pj_caching_pool_destroy( &caching_pool ); + + PJ_LOG(3,("test", "")); + + pj_thread_get_stack_info(pj_thread_this(), &filename, &line); + PJ_LOG(3,("test", "Stack max usage: %u, deepest: %s:%u", + pj_thread_get_stack_max_usage(pj_thread_this()), + filename, line)); + if (rc == 0) + PJ_LOG(3,("test", "Looks like everything is okay!..")); + else + PJ_LOG(3,("test", "Test completed with error(s)")); + + pj_shutdown(); + + return 0; +} + +#include + +int test_main(void) +{ + PJ_USE_EXCEPTION; + + PJ_TRY { + return test_inner(); + } + PJ_CATCH_ANY { + int id = PJ_GET_EXCEPTION(); + PJ_LOG(3,("test", "FATAL: unhandled exception id %d (%s)", + id, pj_exception_id_name(id))); + } + PJ_END; + + return -1; +} diff --git a/pjlib/src/pjlib-test/test.h b/pjlib/src/pjlib-test/test.h new file mode 100644 index 0000000..de69ea4 --- /dev/null +++ b/pjlib/src/pjlib-test/test.h @@ -0,0 +1,129 @@ +/* $Id: test.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJLIB_TEST_H__ +#define __PJLIB_TEST_H__ + +#include + +#define GROUP_LIBC 1 +#define GROUP_OS 1 +#define GROUP_DATA_STRUCTURE 1 +#define GROUP_NETWORK 1 +#if defined(PJ_SYMBIAN) +# define GROUP_FILE 0 +#else +# define GROUP_FILE 1 +#endif + +#define INCLUDE_ERRNO_TEST GROUP_LIBC +#define INCLUDE_TIMESTAMP_TEST GROUP_OS +#define INCLUDE_EXCEPTION_TEST GROUP_LIBC +#define INCLUDE_RAND_TEST GROUP_LIBC +#define INCLUDE_LIST_TEST GROUP_DATA_STRUCTURE +#define INCLUDE_HASH_TEST GROUP_DATA_STRUCTURE +#define INCLUDE_POOL_TEST GROUP_LIBC +#define INCLUDE_POOL_PERF_TEST GROUP_LIBC +#define INCLUDE_STRING_TEST GROUP_DATA_STRUCTURE +#define INCLUDE_FIFOBUF_TEST 0 // GROUP_DATA_STRUCTURE +#define INCLUDE_RBTREE_TEST GROUP_DATA_STRUCTURE +#define INCLUDE_TIMER_TEST GROUP_DATA_STRUCTURE +#define INCLUDE_ATOMIC_TEST GROUP_OS +#define INCLUDE_MUTEX_TEST (PJ_HAS_THREADS && GROUP_OS) +#define INCLUDE_SLEEP_TEST GROUP_OS +#define INCLUDE_OS_TEST GROUP_OS +#define INCLUDE_THREAD_TEST (PJ_HAS_THREADS && GROUP_OS) +#define INCLUDE_SOCK_TEST GROUP_NETWORK +#define INCLUDE_SOCK_PERF_TEST GROUP_NETWORK +#define INCLUDE_SELECT_TEST GROUP_NETWORK +#define INCLUDE_UDP_IOQUEUE_TEST GROUP_NETWORK +#define INCLUDE_TCP_IOQUEUE_TEST GROUP_NETWORK +#define INCLUDE_ACTIVESOCK_TEST GROUP_NETWORK +#define INCLUDE_SSLSOCK_TEST (PJ_HAS_SSL_SOCK && GROUP_NETWORK) +#define INCLUDE_IOQUEUE_PERF_TEST (PJ_HAS_THREADS && GROUP_NETWORK) +#define INCLUDE_IOQUEUE_UNREG_TEST (PJ_HAS_THREADS && GROUP_NETWORK) +#define INCLUDE_FILE_TEST GROUP_FILE + +#define INCLUDE_ECHO_SERVER 0 +#define INCLUDE_ECHO_CLIENT 0 + + +#define ECHO_SERVER_MAX_THREADS 2 +#define ECHO_SERVER_START_PORT 65000 +#define ECHO_SERVER_ADDRESS "compaq.home" +#define ECHO_SERVER_DURATION_MSEC (60*60*1000) + +#define ECHO_CLIENT_MAX_THREADS 6 + +PJ_BEGIN_DECL + +extern int errno_test(void); +extern int timestamp_test(void); +extern int exception_test(void); +extern int rand_test(void); +extern int list_test(void); +extern int hash_test(void); +extern int os_test(void); +extern int pool_test(void); +extern int pool_perf_test(void); +extern int string_test(void); +extern int fifobuf_test(void); +extern int timer_test(void); +extern int rbtree_test(void); +extern int atomic_test(void); +extern int mutex_test(void); +extern int sleep_test(void); +extern int thread_test(void); +extern int sock_test(void); +extern int sock_perf_test(void); +extern int select_test(void); +extern int udp_ioqueue_test(void); +extern int udp_ioqueue_unreg_test(void); +extern int tcp_ioqueue_test(void); +extern int ioqueue_perf_test(void); +extern int activesock_test(void); +extern int file_test(void); +extern int ssl_sock_test(void); + +extern int echo_server(void); +extern int echo_client(int sock_type, const char *server, int port); + +extern int echo_srv_sync(void); +extern int udp_echo_srv_ioqueue(void); +extern int echo_srv_common_loop(pj_atomic_t *bytes_counter); + + +extern pj_pool_factory *mem; + +extern int test_main(void); +extern void app_perror(const char *msg, pj_status_t err); +extern pj_status_t app_socket(int family, int type, int proto, int port, + pj_sock_t *ptr_sock); +extern pj_status_t app_socketpair(int family, int type, int protocol, + pj_sock_t *server, pj_sock_t *client); +extern int null_func(void); + +//#define TRACE_(expr) PJ_LOG(3,expr) +#define TRACE_(expr) +#define HALT(msg) { PJ_LOG(3,(THIS_FILE,"%s halted",msg)); for(;;) sleep(1); } + +PJ_END_DECL + +#endif /* __PJLIB_TEST_H__ */ + diff --git a/pjlib/src/pjlib-test/test_wrap.cpp b/pjlib/src/pjlib-test/test_wrap.cpp new file mode 100644 index 0000000..7341204 --- /dev/null +++ b/pjlib/src/pjlib-test/test_wrap.cpp @@ -0,0 +1,24 @@ +/* $Id: test_wrap.cpp 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * This file is a C++ wrapper, see ticket #886 for details. + */ + +#include "test.c" diff --git a/pjlib/src/pjlib-test/thread.c b/pjlib/src/pjlib-test/thread.c new file mode 100644 index 0000000..232c9a8 --- /dev/null +++ b/pjlib/src/pjlib-test/thread.c @@ -0,0 +1,337 @@ +/* $Id: thread.c 4728 2014-02-04 10:13:56Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + +/** + * \page page_pjlib_thread_test Test: Thread Test + * + * This file contains \a thread_test() definition. + * + * \section thread_test_scope_sec Scope of Test + * This tests: + * - whether PJ_THREAD_SUSPENDED flag works. + * - whether multithreading works. + * - whether thread timeslicing works, and threads have equal + * time-slice proportion. + * + * APIs tested: + * - pj_thread_create() + * - pj_thread_register() + * - pj_thread_this() + * - pj_thread_get_name() + * - pj_thread_destroy() + * - pj_thread_resume() + * - pj_thread_sleep() + * - pj_thread_join() + * - pj_thread_destroy() + * + * + * This file is pjlib-test/thread.c + * + * \include pjlib-test/thread.c + */ +#if INCLUDE_THREAD_TEST + +#include + +#define THIS_FILE "thread_test" + +static volatile int quit_flag=0; + +#if 0 +# define TRACE__(args) PJ_LOG(3,args) +#else +# define TRACE__(args) +#endif + + +/* + * The thread's entry point. + * + * Each of the thread mainly will just execute the loop which + * increments a variable. + */ +static void* thread_proc(pj_uint32_t *pcounter) +{ + /* Test that pj_thread_register() works. */ + pj_thread_desc desc; + pj_thread_t *this_thread; + unsigned id; + pj_status_t rc; + + id = *pcounter; + PJ_UNUSED_ARG(id); /* Warning about unused var if TRACE__ is disabled */ + TRACE__((THIS_FILE, " thread %d running..", id)); + + pj_bzero(desc, sizeof(desc)); + + rc = pj_thread_register("thread", desc, &this_thread); + if (rc != PJ_SUCCESS) { + app_perror("...error in pj_thread_register", rc); + return NULL; + } + + /* Test that pj_thread_this() works */ + this_thread = pj_thread_this(); + if (this_thread == NULL) { + PJ_LOG(3,(THIS_FILE, "...error: pj_thread_this() returns NULL!")); + return NULL; + } + + /* Test that pj_thread_get_name() works */ + if (pj_thread_get_name(this_thread) == NULL) { + PJ_LOG(3,(THIS_FILE, "...error: pj_thread_get_name() returns NULL!")); + return NULL; + } + + /* Main loop */ + for (;!quit_flag;) { + (*pcounter)++; + //Must sleep if platform doesn't do time-slicing. + //pj_thread_sleep(0); + } + + TRACE__((THIS_FILE, " thread %d quitting..", id)); + return NULL; +} + +/* + * simple_thread() + */ +static int simple_thread(const char *title, unsigned flags) +{ + pj_pool_t *pool; + pj_thread_t *thread; + pj_status_t rc; + pj_uint32_t counter = 0; + + PJ_LOG(3,(THIS_FILE, "..%s", title)); + + pool = pj_pool_create(mem, NULL, 4000, 4000, NULL); + if (!pool) + return -1000; + + quit_flag = 0; + + TRACE__((THIS_FILE, " Creating thread 0..")); + rc = pj_thread_create(pool, "thread", (pj_thread_proc*)&thread_proc, + &counter, + PJ_THREAD_DEFAULT_STACK_SIZE, + flags, + &thread); + + if (rc != PJ_SUCCESS) { + app_perror("...error: unable to create thread", rc); + return -1010; + } + + TRACE__((THIS_FILE, " Main thread waiting..")); + pj_thread_sleep(1500); + TRACE__((THIS_FILE, " Main thread resuming..")); + + if (flags & PJ_THREAD_SUSPENDED) { + + /* Check that counter is still zero */ + if (counter != 0) { + PJ_LOG(3,(THIS_FILE, "...error: thread is not suspended")); + return -1015; + } + + rc = pj_thread_resume(thread); + if (rc != PJ_SUCCESS) { + app_perror("...error: resume thread error", rc); + return -1020; + } + } + + PJ_LOG(3,(THIS_FILE, "..waiting for thread to quit..")); + + pj_thread_sleep(1500); + + quit_flag = 1; + pj_thread_join(thread); + + pj_pool_release(pool); + + if (counter == 0) { + PJ_LOG(3,(THIS_FILE, "...error: thread is not running")); + return -1025; + } + + PJ_LOG(3,(THIS_FILE, "...%s success", title)); + return PJ_SUCCESS; +} + + +/* + * timeslice_test() + */ +static int timeslice_test(void) +{ + enum { NUM_THREADS = 4 }; + pj_pool_t *pool; + pj_uint32_t counter[NUM_THREADS], lowest, highest, diff; + pj_thread_t *thread[NUM_THREADS]; + unsigned i; + pj_status_t rc; + + quit_flag = 0; + + pool = pj_pool_create(mem, NULL, 4000, 4000, NULL); + if (!pool) + return -10; + + PJ_LOG(3,(THIS_FILE, "..timeslice testing with %d threads", NUM_THREADS)); + + /* Create all threads in suspended mode. */ + for (i=0; i i) { + PJ_LOG(3,(THIS_FILE, "....ERROR! Thread %d-th is not suspended!", + i)); + return -30; + } + } + + /* Now resume all threads. */ + for (i=0; i highest) + highest = counter[i]; + } + + /* Check that all threads are running. */ + if (lowest < 2) { + PJ_LOG(3,(THIS_FILE, "...ERROR: not all threads were running!")); + return -70; + } + + /* The difference between lowest and higest should be lower than 50%. + */ + diff = (highest-lowest)*100 / ((highest+lowest)/2); + if ( diff >= 50) { + PJ_LOG(3,(THIS_FILE, + "...ERROR: thread didn't have equal timeslice!")); + PJ_LOG(3,(THIS_FILE, + ".....lowest counter=%u, highest counter=%u, diff=%u%%", + lowest, highest, diff)); + return -80; + } else { + PJ_LOG(3,(THIS_FILE, + "...info: timeslice diff between lowest & highest=%u%%", + diff)); + } + + pj_pool_release(pool); + return 0; +} + +int thread_test(void) +{ + int rc; + + rc = simple_thread("simple thread test", 0); + if (rc != PJ_SUCCESS) + return rc; + + rc = simple_thread("suspended thread test", PJ_THREAD_SUSPENDED); + if (rc != PJ_SUCCESS) + return rc; + + rc = timeslice_test(); + if (rc != PJ_SUCCESS) + return rc; + + return rc; +} + +#else +/* To prevent warning about "translation unit is empty" + * when this test is disabled. + */ +int dummy_thread_test; +#endif /* INCLUDE_THREAD_TEST */ + + diff --git a/pjlib/src/pjlib-test/timer.c b/pjlib/src/pjlib-test/timer.c new file mode 100644 index 0000000..9dd09b7 --- /dev/null +++ b/pjlib/src/pjlib-test/timer.c @@ -0,0 +1,197 @@ +/* $Id: timer.c 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" + +/** + * \page page_pjlib_timer_test Test: Timer + * + * This file provides implementation of \b timer_test(). It tests the + * functionality of the timer heap. + * + * + * This file is pjlib-test/timer.c + * + * \include pjlib-test/timer.c + */ + + +#if INCLUDE_TIMER_TEST + +#include + +#define LOOP 16 +#define MIN_COUNT 250 +#define MAX_COUNT (LOOP * MIN_COUNT) +#define MIN_DELAY 2 +#define D (MAX_COUNT / 32000) +#define DELAY (D < MIN_DELAY ? MIN_DELAY : D) +#define THIS_FILE "timer_test" + + +static void timer_callback(pj_timer_heap_t *ht, pj_timer_entry *e) +{ + PJ_UNUSED_ARG(ht); + PJ_UNUSED_ARG(e); +} + +static int test_timer_heap(void) +{ + int i, j; + pj_timer_entry *entry; + pj_pool_t *pool; + pj_timer_heap_t *timer; + pj_time_val delay; + pj_status_t rc; int err=0; + pj_size_t size; + unsigned count; + + size = pj_timer_heap_mem_size(MAX_COUNT)+MAX_COUNT*sizeof(pj_timer_entry); + pool = pj_pool_create( mem, NULL, size, 4000, NULL); + if (!pool) { + PJ_LOG(3,("test", "...error: unable to create pool of %u bytes", + size)); + return -10; + } + + entry = (pj_timer_entry*)pj_pool_calloc(pool, MAX_COUNT, sizeof(*entry)); + if (!entry) + return -20; + + for (i=0; i 0) { + t_poll.u32.lo += (t2.u32.lo - t1.u32.lo); + early += rc; + } + } + + // Set the time where all timers should finish + pj_gettimeofday(&expire); + delay.sec = DELAY; + delay.msec = 0; + PJ_TIME_VAL_ADD(expire, delay); + + // Wait unfil all timers finish, cancel some of them. + do { + int index = pj_rand() % count; + pj_get_timestamp(&t1); + rc = pj_timer_heap_cancel(timer, &entry[index]); + pj_get_timestamp(&t2); + if (rc > 0) { + cancelled += rc; + t_cancel.u32.lo += (t2.u32.lo - t1.u32.lo); + } + + pj_gettimeofday(&now); + + pj_get_timestamp(&t1); +#if defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0 + /* On Symbian, we must use OS poll (Active Scheduler poll) since + * timer is implemented using Active Object. + */ + rc = 0; + while (pj_symbianos_poll(-1, 0)) + ++rc; +#else + rc = pj_timer_heap_poll(timer, NULL); +#endif + pj_get_timestamp(&t2); + if (rc > 0) { + done += rc; + t_poll.u32.lo += (t2.u32.lo - t1.u32.lo); + } + + } while (PJ_TIME_VAL_LTE(now, expire)&&pj_timer_heap_count(timer) > 0); + + if (pj_timer_heap_count(timer)) { + PJ_LOG(3, (THIS_FILE, "ERROR: %d timers left", + pj_timer_heap_count(timer))); + ++err; + } + t_sched.u32.lo /= count; + t_cancel.u32.lo /= count; + t_poll.u32.lo /= count; + PJ_LOG(4, (THIS_FILE, + "...ok (count:%d, early:%d, cancelled:%d, " + "sched:%d, cancel:%d poll:%d)", + count, early, cancelled, t_sched.u32.lo, t_cancel.u32.lo, + t_poll.u32.lo)); + + count = count * 2; + if (count > MAX_COUNT) + break; + } + + pj_pool_release(pool); + return err; +} + + +int timer_test() +{ + return test_timer_heap(); +} + +#else +/* To prevent warning about "translation unit is empty" + * when this test is disabled. + */ +int dummy_timer_test; +#endif /* INCLUDE_TIMER_TEST */ + + diff --git a/pjlib/src/pjlib-test/timestamp.c b/pjlib/src/pjlib-test/timestamp.c new file mode 100644 index 0000000..3b04000 --- /dev/null +++ b/pjlib/src/pjlib-test/timestamp.c @@ -0,0 +1,235 @@ +/* $Id: timestamp.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include +#include +#include + + +/** + * \page page_pjlib_timestamp_test Test: Timestamp + * + * This file provides implementation of timestamp_test() + * + * \section timestamp_test_sec Scope of the Test + * + * This tests whether timestamp API works. + * + * API tested: + * - pj_get_timestamp_freq() + * - pj_get_timestamp() + * - pj_elapsed_usec() + * - PJ_LOG() + * + * + * This file is pjlib-test/timestamp.c + * + * \include pjlib-test/timestamp.c + */ + +#if INCLUDE_TIMESTAMP_TEST + +#define THIS_FILE "timestamp" + +static int timestamp_accuracy() +{ + pj_timestamp freq, t1, t2; + pj_time_val tv1, tv2, tvtmp; + pj_int64_t msec, tics; + pj_int64_t diff; + + PJ_LOG(3,(THIS_FILE, "...testing frequency accuracy (pls wait)")); + + pj_get_timestamp_freq(&freq); + + /* Get the start time */ + pj_gettimeofday(&tvtmp); + do { + pj_gettimeofday(&tv1); + } while (PJ_TIME_VAL_EQ(tvtmp, tv1)); + pj_get_timestamp(&t1); + + /* Sleep for 10 seconds */ + pj_thread_sleep(10000); + + /* Get end time */ + pj_gettimeofday(&tvtmp); + do { + pj_gettimeofday(&tv2); + } while (PJ_TIME_VAL_EQ(tvtmp, tv2)); + pj_get_timestamp(&t2); + + /* Get the elapsed time */ + PJ_TIME_VAL_SUB(tv2, tv1); + msec = PJ_TIME_VAL_MSEC(tv2); + + /* Check that the frequency match the elapsed time */ + tics = t2.u64 - t1.u64; + diff = tics - (msec * freq.u64 / 1000); + if (diff < 0) + diff = -diff; + + /* Only allow 1 msec mismatch */ + if (diff > (pj_int64_t)(freq.u64 / 1000)) { + PJ_LOG(3,(THIS_FILE, "....error: timestamp drifted by %d usec after " + "%d msec", + (pj_uint32_t)(diff * 1000000 / freq.u64), + msec)); + return -2000; + + /* Otherwise just print warning if timestamp drifted by >1 usec */ + } else if (diff > (pj_int64_t)(freq.u64 / 1000000)) { + PJ_LOG(3,(THIS_FILE, "....warning: timestamp drifted by %d usec after " + "%d msec", + (pj_uint32_t)(diff * 1000000 / freq.u64), + msec)); + } else { + PJ_LOG(3,(THIS_FILE, "....good. Timestamp is accurate down to" + " nearest usec.")); + } + + return 0; +} + + +int timestamp_test(void) +{ + enum { CONSECUTIVE_LOOP = 100 }; + volatile unsigned i; + pj_timestamp freq, t1, t2; + pj_time_val tv1, tv2; + unsigned elapsed; + pj_status_t rc; + + PJ_LOG(3,(THIS_FILE, "...Testing timestamp (high res time)")); + + /* Get and display timestamp frequency. */ + if ((rc=pj_get_timestamp_freq(&freq)) != PJ_SUCCESS) { + app_perror("...ERROR: get timestamp freq", rc); + return -1000; + } + + PJ_LOG(3,(THIS_FILE, "....frequency: hiword=%lu loword=%lu", + freq.u32.hi, freq.u32.lo)); + + PJ_LOG(3,(THIS_FILE, "...checking if time can run backwards (pls wait)..")); + + /* + * Check if consecutive readings should yield timestamp value + * that is bigger than previous value. + * First we get the first timestamp. + */ + rc = pj_get_timestamp(&t1); + if (rc != PJ_SUCCESS) { + app_perror("...ERROR: pj_get_timestamp", rc); + return -1001; + } + rc = pj_gettimeofday(&tv1); + if (rc != PJ_SUCCESS) { + app_perror("...ERROR: pj_gettimeofday", rc); + return -1002; + } + for (i=0; i= t1. */ + if (t2.u32.hi < t1.u32.hi || + (t2.u32.hi == t1.u32.hi && t2.u32.lo < t1.u32.lo)) + { + PJ_LOG(3,(THIS_FILE, "...ERROR: timestamp run backwards!")); + return -1005; + } + + /* compare tv2 with tv1, expecting tv2 >= tv1. */ + if (PJ_TIME_VAL_LT(tv2, tv1)) { + PJ_LOG(3,(THIS_FILE, "...ERROR: time run backwards!")); + return -1006; + } + } + + /* + * Simple test to time some loop. + */ + PJ_LOG(3,(THIS_FILE, "....testing simple 1000000 loop")); + + + /* Mark start time. */ + if ((rc=pj_get_timestamp(&t1)) != PJ_SUCCESS) { + app_perror("....error: cat't get timestamp", rc); + return -1010; + } + + /* Loop.. */ + for (i=0; i<1000000; ++i) { + /* Try to do something so that smart compilers wont + * remove this silly loop. + */ + null_func(); + } + + pj_thread_sleep(0); + + /* Mark end time. */ + pj_get_timestamp(&t2); + + /* Get elapsed time in usec. */ + elapsed = pj_elapsed_usec(&t1, &t2); + PJ_LOG(3,(THIS_FILE, "....elapsed: %u usec", (unsigned)elapsed)); + + /* See if elapsed time is "reasonable". + * This should be good even on 50Mhz embedded powerpc. + */ + if (elapsed < 1 || elapsed > 1000000) { + PJ_LOG(3,(THIS_FILE, "....error: elapsed time outside window (%u, " + "t1.u32.hi=%u, t1.u32.lo=%u, " + "t2.u32.hi=%u, t2.u32.lo=%u)", + elapsed, + t1.u32.hi, t1.u32.lo, t2.u32.hi, t2.u32.lo)); + return -1030; + } + + /* Testing time/timestamp accuracy */ + rc = timestamp_accuracy(); + if (rc != 0) + return rc; + + return 0; +} + + +#else +/* To prevent warning about "translation unit is empty" + * when this test is disabled. + */ +int dummy_timestamp_test; +#endif /* INCLUDE_TIMESTAMP_TEST */ + diff --git a/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c b/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c new file mode 100644 index 0000000..bd70165 --- /dev/null +++ b/pjlib/src/pjlib-test/udp_echo_srv_ioqueue.c @@ -0,0 +1,214 @@ +/* $Id$ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include "test.h" + +static pj_ioqueue_key_t *key; +static pj_atomic_t *total_bytes; +static pj_bool_t thread_quit_flag; + +struct op_key +{ + pj_ioqueue_op_key_t op_key_; + struct op_key *peer; + char *buffer; + pj_size_t size; + int is_pending; + pj_status_t last_err; + pj_sockaddr_in addr; + int addrlen; +}; + +static void on_read_complete(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_received) +{ + pj_status_t rc; + struct op_key *recv_rec = (struct op_key *)op_key; + + for (;;) { + struct op_key *send_rec = recv_rec->peer; + recv_rec->is_pending = 0; + + if (bytes_received < 0) { + if (-bytes_received != recv_rec->last_err) { + recv_rec->last_err = (pj_status_t)-bytes_received; + app_perror("...error receiving data", recv_rec->last_err); + } + } else if (bytes_received == 0) { + /* note: previous error, or write callback */ + } else { + pj_atomic_add(total_bytes, (pj_atomic_value_t)bytes_received); + + if (!send_rec->is_pending) { + pj_ssize_t sent = bytes_received; + pj_memcpy(send_rec->buffer, recv_rec->buffer, bytes_received); + pj_memcpy(&send_rec->addr, &recv_rec->addr, recv_rec->addrlen); + send_rec->addrlen = recv_rec->addrlen; + rc = pj_ioqueue_sendto(key, &send_rec->op_key_, + send_rec->buffer, &sent, 0, + &send_rec->addr, send_rec->addrlen); + send_rec->is_pending = (rc==PJ_EPENDING); + + if (rc!=PJ_SUCCESS && rc!=PJ_EPENDING) { + app_perror("...send error(1)", rc); + } + } + } + + if (!send_rec->is_pending) { + bytes_received = recv_rec->size; + rc = pj_ioqueue_recvfrom(key, &recv_rec->op_key_, + recv_rec->buffer, &bytes_received, 0, + &recv_rec->addr, &recv_rec->addrlen); + recv_rec->is_pending = (rc==PJ_EPENDING); + if (rc == PJ_SUCCESS) { + /* fall through next loop. */ + } else if (rc == PJ_EPENDING) { + /* quit callback. */ + break; + } else { + /* error */ + app_perror("...recv error", rc); + recv_rec->last_err = rc; + + bytes_received = 0; + /* fall through next loop. */ + } + } else { + /* recv will be done when write completion callback is called. */ + break; + } + } +} + +static void on_write_complete(pj_ioqueue_key_t *key, + pj_ioqueue_op_key_t *op_key, + pj_ssize_t bytes_sent) +{ + struct op_key *send_rec = (struct op_key*)op_key; + + if (bytes_sent <= 0) { + pj_status_t rc = (pj_status_t)-bytes_sent; + if (rc != send_rec->last_err) { + send_rec->last_err = rc; + app_perror("...send error(2)", rc); + } + } + + send_rec->is_pending = 0; + on_read_complete(key, &send_rec->peer->op_key_, 0); +} + +static int worker_thread(void *arg) +{ + pj_ioqueue_t *ioqueue = (pj_ioqueue_t*) arg; + struct op_key read_op, write_op; + char recv_buf[512], send_buf[512]; + pj_ssize_t length; + pj_status_t rc; + + read_op.peer = &write_op; + read_op.is_pending = 0; + read_op.last_err = 0; + read_op.buffer = recv_buf; + read_op.size = sizeof(recv_buf); + read_op.addrlen = sizeof(read_op.addr); + + write_op.peer = &read_op; + write_op.is_pending = 0; + write_op.last_err = 0; + write_op.buffer = send_buf; + write_op.size = sizeof(send_buf); + + length = sizeof(recv_buf); + rc = pj_ioqueue_recvfrom(key, &read_op.op_key_, recv_buf, &length, 0, + &read_op.addr, &read_op.addrlen); + if (rc == PJ_SUCCESS) { + read_op.is_pending = 1; + on_read_complete(key, &read_op.op_key_, length); + } + + while (!thread_quit_flag) { + pj_time_val timeout; + timeout.sec = 0; timeout.msec = 10; + rc = pj_ioqueue_poll(ioqueue, &timeout); + } + return 0; +} + +int udp_echo_srv_ioqueue(void) +{ + pj_pool_t *pool; + pj_sock_t sock; + pj_ioqueue_t *ioqueue; + pj_ioqueue_callback callback; + int i; + pj_thread_t *thread[ECHO_SERVER_MAX_THREADS]; + pj_status_t rc; + + pj_bzero(&callback, sizeof(callback)); + callback.on_read_complete = &on_read_complete; + callback.on_write_complete = &on_write_complete; + + pool = pj_pool_create(mem, NULL, 4000, 4000, NULL); + if (!pool) + return -10; + + rc = pj_ioqueue_create(pool, 2, &ioqueue); + if (rc != PJ_SUCCESS) { + app_perror("...pj_ioqueue_create error", rc); + return -20; + } + + rc = app_socket(pj_AF_INET(), pj_SOCK_DGRAM(), 0, + ECHO_SERVER_START_PORT, &sock); + if (rc != PJ_SUCCESS) { + app_perror("...app_socket error", rc); + return -30; + } + + rc = pj_ioqueue_register_sock(pool, ioqueue, sock, NULL, + &callback, &key); + if (rc != PJ_SUCCESS) { + app_perror("...error registering socket", rc); + return -40; + } + + rc = pj_atomic_create(pool, 0, &total_bytes); + if (rc != PJ_SUCCESS) { + app_perror("...error creating atomic variable", rc); + return -45; + } + + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include + +static pj_atomic_t *total_bytes; +static pj_bool_t thread_quit_flag = 0; + +static int worker_thread(void *arg) +{ + pj_sock_t sock = (pj_sock_t)arg; + char buf[512]; + pj_status_t last_recv_err = PJ_SUCCESS, last_write_err = PJ_SUCCESS; + + while (!thread_quit_flag) { + pj_ssize_t len; + pj_status_t rc; + pj_sockaddr_in addr; + int addrlen; + + len = sizeof(buf); + addrlen = sizeof(addr); + rc = pj_sock_recvfrom(sock, buf, &len, 0, &addr, &addrlen); + if (rc != 0) { + if (rc != last_recv_err) { + app_perror("...recv error", rc); + last_recv_err = rc; + } + continue; + } + + pj_atomic_add(total_bytes, (pj_atomic_value_t)len); + + rc = pj_sock_sendto(sock, buf, &len, 0, &addr, addrlen); + if (rc != PJ_SUCCESS) { + if (rc != last_write_err) { + app_perror("...send error", rc); + last_write_err = rc; + } + continue; + } + } + return 0; +} + + +int echo_srv_sync(void) +{ + pj_pool_t *pool; + pj_sock_t sock; + pj_thread_t *thread[ECHO_SERVER_MAX_THREADS]; + pj_status_t rc; + int i; + + pool = pj_pool_create(mem, NULL, 4000, 4000, NULL); + if (!pool) + return -5; + + rc = pj_atomic_create(pool, 0, &total_bytes); + if (rc != PJ_SUCCESS) { + app_perror("...unable to create atomic_var", rc); + return -6; + } + + rc = app_socket(pj_AF_INET(), pj_SOCK_DGRAM(),0, ECHO_SERVER_START_PORT, &sock); + if (rc != PJ_SUCCESS) { + app_perror("...socket error", rc); + return -10; + } + + for (i=0; i" : ""))); + + if (count==20) { + if (avg_bw/count > highest_bw) + highest_bw = avg_bw/count; + + count = 0; + avg_bw = 0; + + PJ_LOG(3,("", "Highest average bandwidth=%u KB/s", + (unsigned)(highest_bw/1000))); + } + } + PJ_UNREACHED(return 0;) +} + + diff --git a/pjlib/src/pjlib-test/util.c b/pjlib/src/pjlib-test/util.c new file mode 100644 index 0000000..32aa938 --- /dev/null +++ b/pjlib/src/pjlib-test/util.c @@ -0,0 +1,140 @@ +/* $Id: util.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include "test.h" +#include + +#define THIS_FILE "util.c" + +void app_perror(const char *msg, pj_status_t rc) +{ + char errbuf[PJ_ERR_MSG_SIZE]; + + PJ_CHECK_STACK(); + + pj_strerror(rc, errbuf, sizeof(errbuf)); + PJ_LOG(3,("test", "%s: [pj_status_t=%d] %s", msg, rc, errbuf)); +} + +#define SERVER 0 +#define CLIENT 1 + +pj_status_t app_socket(int family, int type, int proto, int port, + pj_sock_t *ptr_sock) +{ + pj_sockaddr_in addr; + pj_sock_t sock; + pj_status_t rc; + + rc = pj_sock_socket(family, type, proto, &sock); + if (rc != PJ_SUCCESS) + return rc; + + pj_bzero(&addr, sizeof(addr)); + addr.sin_family = (pj_uint16_t)family; + addr.sin_port = (short)(port!=-1 ? pj_htons((pj_uint16_t)port) : 0); + rc = pj_sock_bind(sock, &addr, sizeof(addr)); + if (rc != PJ_SUCCESS) + return rc; + +#if PJ_HAS_TCP + if (type == pj_SOCK_STREAM()) { + rc = pj_sock_listen(sock, 5); + if (rc != PJ_SUCCESS) + return rc; + } +#endif + + *ptr_sock = sock; + return PJ_SUCCESS; +} + +pj_status_t app_socketpair(int family, int type, int protocol, + pj_sock_t *serverfd, pj_sock_t *clientfd) +{ + int i; + static unsigned short port = 11000; + pj_sockaddr_in addr; + pj_str_t s; + pj_status_t rc = 0; + pj_sock_t sock[2]; + + /* Create both sockets. */ + for (i=0; i<2; ++i) { + rc = pj_sock_socket(family, type, protocol, &sock[i]); + if (rc != PJ_SUCCESS) { + if (i==1) + pj_sock_close(sock[0]); + return rc; + } + } + + /* Retry bind */ + pj_bzero(&addr, sizeof(addr)); + addr.sin_family = pj_AF_INET(); + for (i=0; i<5; ++i) { + addr.sin_port = pj_htons(port++); + rc = pj_sock_bind(sock[SERVER], &addr, sizeof(addr)); + if (rc == PJ_SUCCESS) + break; + } + + if (rc != PJ_SUCCESS) + goto on_error; + + /* For TCP, listen the socket. */ +#if PJ_HAS_TCP + if (type == pj_SOCK_STREAM()) { + rc = pj_sock_listen(sock[SERVER], PJ_SOMAXCONN); + if (rc != PJ_SUCCESS) + goto on_error; + } +#endif + + /* Connect client socket. */ + addr.sin_addr = pj_inet_addr(pj_cstr(&s, "127.0.0.1")); + rc = pj_sock_connect(sock[CLIENT], &addr, sizeof(addr)); + if (rc != PJ_SUCCESS) + goto on_error; + + /* For TCP, must accept(), and get the new socket. */ +#if PJ_HAS_TCP + if (type == pj_SOCK_STREAM()) { + pj_sock_t newserver; + + rc = pj_sock_accept(sock[SERVER], &newserver, NULL, NULL); + if (rc != PJ_SUCCESS) + goto on_error; + + /* Replace server socket with new socket. */ + pj_sock_close(sock[SERVER]); + sock[SERVER] = newserver; + } +#endif + + *serverfd = sock[SERVER]; + *clientfd = sock[CLIENT]; + + return rc; + +on_error: + for (i=0; i<2; ++i) + pj_sock_close(sock[i]); + return rc; +} diff --git a/pjmedia/README.txt b/pjmedia/README.txt new file mode 100644 index 0000000..d9644e2 --- /dev/null +++ b/pjmedia/README.txt @@ -0,0 +1,19 @@ +[Last Update: 2006/03/04] + +This directory contains two static libraries: + - pjmedia + The multimedia framework. + + - pjmedia-codec + Codec collections. + +pjmedia has G711 codecs (Alaw and ULaw). + +pjmedia-codec has: + - GSM-FR implementation + Copyright 1992 by Jutta Degener and Carsten Bormann, Technische + Universitaet Berlin + + - Speex 1.1.12 + http://www.speex.org + diff --git a/pjmedia/build/Jbtest.dat b/pjmedia/build/Jbtest.dat new file mode 100644 index 0000000..01a4eaf --- /dev/null +++ b/pjmedia/build/Jbtest.dat @@ -0,0 +1,578 @@ +# +# ====================================================================== +# Jitter Buffer test data, containing one or more test sessions +# ====================================================================== +# +# A test session format: +# +# 1. Session title, started with '=', example: +# = Bursty environment +# +# 2. Session setting, started with '%', followed by params: +# - mode, possible values: 'adaptive' or 'fixed' +# - initial prefetch, in frames +# - minimum prefetch (for adaptive mode only), in frames +# - maximum prefetch (for adaptive mode only), in frames +# Example: +# %adaptive 0 0 40 +# %fixed 10 +# +# 3. Success conditions, started with '!', followed by condition name +# and its maximum tolerable value, in frames unit. Recognized condition +# names are: burst, discard, lost, empty, delay, delay_min. These +# conditions will be verified with jitter buffer statistics after all +# session test data are executed. +# Example: +# !delay 10 <- average delay of jbuf is 10 frames +# +# 4. Session test data, containing sequence of jitter buffer events, +# an event is represented by a character as follow: +# - P: PUT a frame into jitter buffer +# - G: GET a frame from jitter buffer +# - L: generate a Lost frame, i.e: sequence jump by 1 +# - R: sequence Restart +# - J: sequence Jump by 20 +# - D: generate a Duplicated frame +# - O: generate an Old/late (and perhaps also duplicated) frame +# Example: +# PGPGPGPGPG <- ideal condition, PUT and GET one after another +# +# 5. End of session test data, marked by '.' +# +# ====================================================================== +# + += Ideal condition +%adaptive 0 0 10 +!burst 1 +!discard 0 +!lost 0 +!empty 0 +!delay 1 +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +. + += DTX +%adaptive 0 0 10 +!burst 1 +!discard 0 +!lost 0 +!empty 20 +!delay 1 +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +# Start silence +GGGGGGGGGGGGGGGGGGGG +# End silence +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +. + += Regular burst (three gets three puts) +%adaptive 0 0 10 +!burst 3 +!discard 0 +!lost 0 +!empty 0 +!delay 3 +PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG +PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG PPPGGGPPPGGGPPPGGG +. + += Random burst (no drift) +%adaptive 0 0 10 +!burst 4 +!discard 1 <- there may be delay adaptation caused by multiple empty GETs followed by multiple PUTs, later when burst level reaches 'stable' condition, JB may shrink some excess frames +!lost 0 +!empty 4 +!delay 4 +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +. + += Random burst (with drift, PUT > GET) +%adaptive 0 0 10 +!burst 4 +!discard 68 <- number of PUT - GET, JB does shrinking by discarding frames +!lost 68 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal +!empty 4 +!delay 8 <- should be less than or equal to twice of burst +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +P PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG P PGPGPPGGPPPPGGPGGGPG +P PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG P PGGGGPPPGPPGPPPGGPGG +. + += Random burst (with drift, PUT < GET) +%adaptive 0 0 10 +!burst 4 +!discard 0 +!lost 0 +!empty 70 <- GET - PUT = 66, added 4 for tolerating empty caused by burst +!delay 4 <- should be less than or equal to burst +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +G PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG G PGGGGPPPGPPGPPPGGPGG +G PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG G PGPGPPGGPPPPGGPGGGPG +. + += Packet lost +%adaptive 0 0 10 +!burst 1 +!discard 0 +!lost 7 +!empty 3 +!delay 3 +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +# Some losts +LGPGPGLGPGPGPGLGPGPG +# Normal +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +# More losts +PLPGGGPPPGGGPLPGGGPG PLPGGGPPPGGGPLPGGGPG +# Normal +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +. + += Sequence restart +%adaptive 0 0 10 +!burst 1 +!discard 0 +!lost 0 +!empty 0 +!delay 1 +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +# seq restarted after 120 PUTs (default MAX_MISORDER == 100) +R +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +. + += Duplicated frames += e.g.: some Forward Error Correction (FEC) methods. +%adaptive 0 0 10 +!burst 1 +!discard 40 +!lost 0 +!empty 0 +!delay 1 +PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG +PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG PDGPDGPDGPDGPDG +. + += Late frames +%adaptive 0 0 10 +!burst 1 +!discard 8 <- late frames are discarded + delay adaptation +!lost 4 +!empty 4 +!delay 4 +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +# Suddenly there are some lost frames +LGLGPGLGLGPG +# Those lost frames are actually late (+misordered), here they come +OOOO +# Then back to normal +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG +. + += PUT burst at the beginning +%adaptive 0 0 10 +!burst 1 +!discard 50 <- frames discarded for delay adaptation +!lost 50 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal +!empty 0 +!delay_min 2 <- minimum delay, JB is able to adapt the delay +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +. + += Fixed mode prefetch 5, with two empty events +%fixed 5 +!burst 1 +!discard 0 <- #1612: no frame discard for delay adjustment in fixed mode +!lost 0 <- #1612: no frame discard for delay adjustment in fixed mode +!empty 10 <- 5 from GET burst + 5 from prefetching +!delay 5 +G +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +GGGGG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +. + += Fixed mode prefetch 5, with random burst +%fixed 5 +!burst 3 +!discard 0 <- (see above test scenario) +!lost 0 <- (see above test scenario) +!empty 5 +!delay 6 +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +PGPGPPGGPPPPGGPGGGPG PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPPPGGPGGGPG +PGGGGPPPGPPGPPPGGPGG PGPGPPGGPPGGPPPGGGPG PGGGGPPPGPPGPPPGGPGG +. + += Fixed mode prefetch 10, PUT burst at the beginning +%fixed 10 +!burst 1 +!discard 1 <- frames discarded due to JB full (JB default size = 50 frames) +!lost 1 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal +!empty 0 +!delay_min 50 <- #1612: no frame discard for delay adjustment in fixed mode +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +PGPGPGPGPGPGPGPGPGPG PGPGPGPGPGPGPGPGPGPG PGPGPGPGPG +. + += Large PUT burst at beginning, then normal with burst level 10 and periodic burst spikes +%adaptive 0 0 40 +!burst 12 +!discard 300 <- not so relevant for long period session with many delay adjustments needed (i.e: for first burst and periodic spikes) +!lost 300 <- ticket #1188, normal frame after discarded frame is flagged 'lost' to align signal +!empty 60 <- delay adjustment effect, as there is actually no drift +!delay 20 <- twice of burst level average +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPPPP PPPPPPPPPP +GGGGGGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGGGG GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +PPPPPPPPPP GGGGGGGGGG PPPPPPPPPP GGGGGGGGGG +. diff --git a/pjmedia/build/Makefile b/pjmedia/build/Makefile new file mode 100644 index 0000000..702efdc --- /dev/null +++ b/pjmedia/build/Makefile @@ -0,0 +1,291 @@ +include ../../build.mak +include ../../version.mak + +THIRD_PARTY:=$(PJDIR)/third_party + +include $(PJDIR)/build/common.mak + +export LIBDIR := ../lib +export BINDIR := ../bin + +RULES_MAK := $(PJDIR)/build/rules.mak + +PJLIB_LIB:=$(PJDIR)/pjlib/lib/libpj-$(TARGET_NAME)$(LIBEXT) +PJLIB_UTIL_LIB:=$(PJDIR)/pjlib-util/lib/libpjlib-util-$(TARGET_NAME)$(LIBEXT) +PJNATH_LIB:=$(PJDIR)/pjnath/lib/libpjnath-$(TARGET_NAME)$(LIBEXT) + +export PJMEDIA_LIB:=libpjmedia-$(TARGET_NAME)$(LIBEXT) +export PJMEDIA_CODEC_LIB:=libpjmedia-codec-$(TARGET_NAME)$(LIBEXT) +export PJSDP_LIB:=libpjsdp-$(TARGET_NAME)$(LIBEXT) +export PJMEDIA_AUDIODEV_LIB:=libpjmedia-audiodev-$(TARGET_NAME)$(LIBEXT) +export PJMEDIA_VIDEODEV_LIB:=libpjmedia-videodev-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export PJMEDIA_SONAME:=libpjmedia.$(SHLIB_SUFFIX) +export PJMEDIA_SHLIB:=$(PJMEDIA_SONAME).$(PJ_VERSION_MAJOR) +export PJMEDIA_CODEC_SONAME:=libpjmedia-codec.$(SHLIB_SUFFIX) +export PJMEDIA_CODEC_SHLIB:=$(PJMEDIA_CODEC_SONAME).$(PJ_VERSION_MAJOR) +export PJSDP_SONAME:=libpjsdp.$(SHLIB_SUFFIX) +export PJSDP_SHLIB:=$(PJSDP_SONAME).$(PJ_VERSION_MAJOR) +export PJMEDIA_AUDIODEV_SONAME:=libpjmedia-audiodev.$(SHLIB_SUFFIX) +export PJMEDIA_AUDIODEV_SHLIB:=$(PJMEDIA_AUDIODEV_SONAME).$(PJ_VERSION_MAJOR) +export PJMEDIA_VIDEODEV_SONAME:=libpjmedia-videodev.$(SHLIB_SUFFIX) +export PJMEDIA_VIDEODEV_SHLIB:=$(PJMEDIA_VIDEODEV_SONAME).$(PJ_VERSION_MAJOR) +endif + + +############################################################################### +# Gather all flags. +# +export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ + $(CFLAGS) $(CC_INC)../include \ + $(CC_INC)../../pjlib/include \ + $(CC_INC)../../pjlib-util/include \ + $(CC_INC)../../pjmedia/include \ + $(CC_INC)../../pjnath/include \ + $(CC_INC)../.. +export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ + $(HOST_CXXFLAGS) $(CXXFLAGS) + +export _LDFLAGS := $(APP_THIRD_PARTY_LIBS) \ + $(APP_THIRD_PARTY_EXT) \ + $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ + $(APP_LDFLAGS) $(LDFLAGS) + +############################################################################### +# Defines for building PJMEDIA library +# +export PJMEDIA_SRCDIR = ../src/pjmedia +export PJMEDIA_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + alaw_ulaw.o alaw_ulaw_table.o avi_player.o \ + bidirectional.o clock_thread.o codec.o conference.o \ + conf_switch.o converter.o converter_libswscale.o converter_libyuv.o \ + delaybuf.o echo_common.o \ + echo_port.o echo_suppress.o endpoint.o errno.o \ + event.o format.o ffmpeg_util.o \ + g711.o jbuf.o master_port.o mem_capture.o mem_player.o \ + null_port.o plc_common.o port.o splitcomb.o \ + resample_resample.o resample_libsamplerate.o resample_speex.o \ + resample_port.o rtcp.o rtcp_xr.o rtp.o \ + sdp.o sdp_cmp.o sdp_neg.o session.o silencedet.o \ + sound_legacy.o sound_port.o stereo_port.o stream_common.o \ + stream.o stream_info.o tonegen.o transport_adapter_sample.o \ + transport_ice.o transport_loop.o transport_srtp.o transport_udp.o \ + types.o vid_codec.o vid_codec_util.o \ + vid_port.o vid_stream.o vid_stream_info.o vid_tee.o \ + wav_player.o wav_playlist.o wav_writer.o wave.o \ + wsola.o + +export PJMEDIA_CFLAGS += $(_CFLAGS) +export PJMEDIA_CXXFLAGS += $(_CXXFLAGS) +export PJMEDIA_LDFLAGS += $(PJMEDIA_VIDEODEV_LDLIB) \ + $(PJMEDIA_AUDIODEV_LDLIB) \ + $(PJLIB_LDLIB) \ + $(PJLIB_UTIL_LDLIB) \ + $(PJNATH_LDLIB) \ + $(_LDFLAGS) + + +############################################################################### +# Defines for building PJMEDIA-AUDIODEV library +# +export PJMEDIA_AUDIODEV_SRCDIR = ../src/pjmedia-audiodev +export PJMEDIA_AUDIODEV_OBJS += audiodev.o audiotest.o errno.o \ + legacy_dev.o null_dev.o pa_dev.o wmme_dev.o \ + alsa_dev.o bb10_dev.o bdimad_dev.o \ + android_jni_dev.o opensl_dev.o +export PJMEDIA_AUDIODEV_CFLAGS += $(_CFLAGS) +export PJMEDIA_AUDIODEV_CXXFLAGS += $(_CXXFLAGS) +export PJMEDIA_AUDIODEV_LDFLAGS += $(PJLIB_LDLIB) \ + $(_LDFLAGS) + + +############################################################################### +# Defines for building PJMEDIA-VIDEODEV library +# +export PJMEDIA_VIDEODEV_SRCDIR = ../src/pjmedia-videodev +export PJMEDIA_VIDEODEV_OBJS += errno.o videodev.o avi_dev.o ffmpeg_dev.o \ + colorbar_dev.o v4l2_dev.o opengl_dev.o \ + util.o +export PJMEDIA_VIDEODEV_CFLAGS += $(_CFLAGS) +export PJMEDIA_VIDEODEV_CXXFLAGS += $(_CXXFLAGS) +export PJMEDIA_VIDEODEV_LDFLAGS += $(PJLIB_LDLIB) \ + $(_LDFLAGS) + + +############################################################################### +# Defines for building PJSDP library +# Note that SDP functionality is already INCLUDED in PJMEDIA. +# The PJSDP library should only be used for applications that want SDP +# but don't want to use the rest of the media framework. +# +export PJSDP_SRCDIR = ../src/pjmedia +export PJSDP_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + errno.o sdp.o sdp_cmp.o sdp_neg.o +export PJSDP_CFLAGS += $(_CFLAGS) +export PJSDP_CXXFLAGS += $(_CXXFLAGS) +export PJSDP_LDFLAGS += $(PJMEDIA_LDLIB) \ + $(PJLIB_LDLIB) \ + $(PJLIB_UTIL_LDLIB) \ + $(_LDFLAGS) + + +############################################################################### +# Defines for building PJMEDIA-Codec library +# +export PJMEDIA_CODEC_SRCDIR = ../src/pjmedia-codec +export PJMEDIA_CODEC_OBJS += audio_codecs.o ffmpeg_vid_codecs.o openh264.o \ + h263_packetizer.o h264_packetizer.o \ + $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \ + ipp_codecs.o silk.o $(CODEC_OBJS) \ + g7221_sdp_match.o amr_sdp_match.o +export PJMEDIA_CODEC_CFLAGS += $(_CFLAGS) $(GSM_CFLAGS) $(SPEEX_CFLAGS) \ + $(ILBC_CFLAGS) $(IPP_CFLAGS) $(G7221_CFLAGS) +export PJMEDIA_CODEC_CXXFLAGS += $(_CXXFLAGS) $(GSM_CFLAGS) $(SPEEX_CFLAGS) \ + $(ILBC_CFLAGS) $(IPP_CFLAGS) $(G7221_CFLAGS) +export PJMEDIA_CODEC_LDFLAGS += $(PJMEDIA_LDLIB) \ + $(PJLIB_LDLIB) \ + $(_LDFLAGS) + +############################################################################### +# Defines for building test application +# +export PJMEDIA_TEST_SRCDIR = ../src/test +export PJMEDIA_TEST_OBJS += codec_vectors.o jbuf_test.o main.o mips_test.o \ + vid_codec_test.o vid_dev_test.o vid_port_test.o \ + rtp_test.o test.o +export PJMEDIA_TEST_OBJS += sdp_neg_test.o +export PJMEDIA_TEST_CFLAGS += $(_CFLAGS) +export PJMEDIA_TEST_CXXFLAGS += $(_CXXFLAGS) +export PJMEDIA_TEST_LDFLAGS += $(PJMEDIA_CODEC_LDLIB) \ + $(PJMEDIA_VIDEODEV_LDLIB) \ + $(PJMEDIA_LDLIB) \ + $(PJMEDIA_AUDIODEV_LDLIB) \ + $(PJLIB_LDLIB) \ + $(PJLIB_UTIL_LDLIB) \ + $(PJNATH_LDLIB) \ + $(_LDFLAGS) +export PJMEDIA_TEST_EXE:=pjmedia-test-$(TARGET_NAME)$(HOST_EXE) + + +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 := $(PJMEDIA_LIB) $(PJMEDIA_SONAME) \ + $(PJMEDIA_CODEC_LIB) $(PJMEDIA_CODEC_SONAME)\ + $(PJMEDIA_VIDEODEV_LIB) $(PJMEDIA_VIDEODEV_SONAME) \ + $(PJMEDIA_AUDIODEV_LIB) $(PJMEDIA_AUDIODEV_SONAME) \ + $(PJSDP_LIB) $(PJSDP_SONAME) +TARGETS_EXE := $(PJMEDIA_TEST_EXE) + +all: $(TARGETS) $(TARGETS_EXE) + +lib: $(TARGETS) + +doc: + cd .. && rm -rf docs/$(PJ_VERSION) && doxygen docs/doxygen.cfg + @if [ -n "$(WWWDIR)" ] && ! [ -d "$(WWWDIR)/docs/$(PJ_VERSION)/pjmedia/docs/html" ] ; then \ + echo "Creating docs/$(PJ_VERSION)/pjmedia/docs/html" ; \ + mkdir -p $(WWWDIR)/docs/$(PJ_VERSION)/pjmedia/docs/html ; \ + fi + @if [ -n "$(WWWDIR)" ] && [ -d "$(WWWDIR)/docs/$(PJ_VERSION)/pjmedia/docs/html" ] ; then \ + echo "Copying docs/$(PJ_VERSION) to $(WWWDIR)/docs/$(PJ_VERSION)/pjmedia/docs/html.." ; \ + cp -v -a ../docs/$(PJ_VERSION)/html/* $(WWWDIR)/docs/$(PJ_VERSION)/pjmedia/docs/html/ ; \ + fi + +dep: depend +distclean: realclean + +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONY: $(PJMEDIA_LIB) $(PJMEDIA_SONAME) +.PHONY: $(PJMEDIA_CODEC_LIB) $(PJMEDIA_CODEC_SONAME) +.PHONY: $(PJMEDIA_VIDEODEV_LIB) $(PJMEDIA_VIDEODEV_SONAME) +.PHONY: $(PJMEDIA_AUDIODEV_LIB) $(PJMEDIA_AUDIODEV_SONAME) +.PHONY: $(PJSDP_LIB) $(PJSDP_SONAME) +.PHONY: $(PJMEDIA_TEST_EXE) + +pjmedia: $(PJMEDIA_LIB) +$(PJMEDIA_SONAME): $(PJMEDIA_LIB) +$(PJMEDIA_LIB) $(PJMEDIA_SONAME): $(PJMEDIA_AUDIODEV_LIB) $(PJMEDIA_AUDIODEV_SONAME) $(PJMEDIA_VIDEODEV_LIB) $(PJMEDIA_VIDEODEV_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +pjmedia-codec: $(PJMEDIA_CODEC_LIB) +$(PJMEDIA_CODEC_SONAME): $(PJMEDIA_CODEC_LIB) +$(PJMEDIA_CODEC_LIB) $(PJMEDIA_CODEC_SONAME): $(PJMEDIA_LIB) $(PJMEDIA_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_CODEC app=pjmedia-codec $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +pjmedia-videodev: $(PJMEDIA_VIDEODEV_LIB) +$(PJMEDIA_VIDEODEV_SONAME): $(PJMEDIA_VIDEODEV_LIB) +$(PJMEDIA_VIDEODEV_LIB) $(PJMEDIA_VIDEODEV_SONAME): + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_VIDEODEV app=pjmedia-videodev $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +pjmedia-audiodev: $(PJMEDIA_AUDIODEV_LIB) +$(PJMEDIA_AUDIODEV_SONAME): $(PJMEDIA_AUDIODEV_LIB) +$(PJMEDIA_AUDIODEV_LIB) $(PJMEDIA_AUDIODEV_SONAME): + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_AUDIODEV app=pjmedia-audiodev $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +pjsdp: $(PJSDP_LIB) +$(PJSDP_SONAME): $(PJSDP_LIB) +$(PJSDP_LIB) $(PJSDP_SONAME): $(PJMEDIA_LIB) $(PJMEDIA_SONAME) + $(MAKE) -f $(RULES_MAK) APP=PJSDP app=pjsdp $(LIBDIR)/$@ + +pjmedia-test: $(PJMEDIA_TEST_EXE) +$(PJMEDIA_TEST_EXE): $(PJMEDIA_LIB) $(PJMEDIA_SONAME) +$(PJMEDIA_TEST_EXE): $(PJMEDIA_AUDIODEV_LIB) $(PJMEDIA_AUDIODEV_SONAME) +$(PJMEDIA_TEST_EXE): $(PJMEDIA_VIDEODEV_LIB) $(PJMEDIA_VIDEODEV_SONAME) +$(PJMEDIA_TEST_EXE): $(PJMEDIA_CODEC_LIB) $(PJMEDIA_CODEC_SONAME) +$(PJMEDIA_TEST_EXE): + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $(BINDIR)/$@ + +.PHONY: pjmedia.ko +pjmedia.ko: + echo Making $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $(LIBDIR)/$@ + +.PHONY: pjmedia-codec.ko +pjmedia-codec.ko: + echo Making $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_CODEC app=pjmedia-codec $(LIBDIR)/$@ + +.PHONY: pjmedia-test.ko +pjmedia-test.ko: + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $(LIBDIR)/$@ + +clean: + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_CODEC app=pjmedia-codec $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_VIDEODEV app=pjmedia-videodev $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_AUDIODEV app=pjmedia-audiodev $@ + $(MAKE) -f $(RULES_MAK) APP=PJSDP app=pjsdp $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $@ + +realclean: + $(subst @@,$(subst /,$(HOST_PSEP),.pjmedia-$(TARGET_NAME).depend),$(HOST_RMR)) + $(subst @@,$(subst /,$(HOST_PSEP),.pjmedia-videodev-$(TARGET_NAME).depend),$(HOST_RMR)) + $(subst @@,$(subst /,$(HOST_PSEP),.pjmedia-audiodev-$(TARGET_NAME).depend),$(HOST_RMR)) + $(subst @@,$(subst /,$(HOST_PSEP),.pjmedia-codec-$(TARGET_NAME).depend),$(HOST_RMR)) + $(subst @@,$(subst /,$(HOST_PSEP),.pjmedia-test-$(TARGET_NAME).depend),$(HOST_RMR)) + $(subst @@,$(subst /,$(HOST_PSEP),.pjsdp-$(TARGET_NAME).depend),$(HOST_RMR)) + + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_VIDEODEV app=pjmedia-videodev $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_AUDIODEV app=pjmedia-audiodev $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_CODEC app=pjmedia-codec $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $@ + $(MAKE) -f $(RULES_MAK) APP=PJSDP app=pjsdp $@ + +depend: + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA app=pjmedia $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_VIDEODEV app=pjmedia-videodev $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_AUDIODEV app=pjmedia-audiodev $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_CODEC app=pjmedia-codec $@ + $(MAKE) -f $(RULES_MAK) APP=PJMEDIA_TEST app=pjmedia-test $@ + $(MAKE) -f $(RULES_MAK) APP=PJSDP app=pjsdp $@ + echo '$(BINDIR)/$(PJMEDIA_TEST_EXE): $(LIBDIR)/$(PJMEDIA_LIB) $(LIBDIR)/$(PJMEDIA_CODEC_LIB) $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB)' >> .pjmedia-test-$(TARGET_NAME).depend + + diff --git a/pjmedia/build/m-i386.mak b/pjmedia/build/m-i386.mak new file mode 100644 index 0000000..ede7dfc --- /dev/null +++ b/pjmedia/build/m-i386.mak @@ -0,0 +1,6 @@ + +# +# We need to define PA_LITTLE_ENDIAN when compiling PortAudio on Linux i386 +# + +export M_CFLAGS += $(CC_DEF)PA_LITTLE_ENDIAN diff --git a/pjmedia/build/m-x86_64.mak b/pjmedia/build/m-x86_64.mak new file mode 100644 index 0000000..304a295 --- /dev/null +++ b/pjmedia/build/m-x86_64.mak @@ -0,0 +1,6 @@ + +# +# We need to define PA_LITTLE_ENDIAN when compiling PortAudio on Linux x86_64 +# + +export M_CFLAGS += $(CC_DEF)PA_LITTLE_ENDIAN diff --git a/pjmedia/build/os-auto.mak.in b/pjmedia/build/os-auto.mak.in new file mode 100644 index 0000000..7a07274 --- /dev/null +++ b/pjmedia/build/os-auto.mak.in @@ -0,0 +1,251 @@ +# @configure_input@ + +# Define the desired video device backend +# Valid values are: +# - mac_os +# - iphone_os +# - android_os +AC_PJMEDIA_VIDEO = @ac_pjmedia_video@ + +# SDL flags +SDL_CFLAGS = @ac_sdl_cflags@ +SDL_LDFLAGS = @ac_sdl_ldflags@ + +# FFMPEG dlags +FFMPEG_CFLAGS = @ac_ffmpeg_cflags@ +FFMPEG_LDFLAGS = @ac_ffmpeg_ldflags@ + +# Video4Linux2 +V4L2_CFLAGS = @ac_v4l2_cflags@ +V4L2_LDFLAGS = @ac_v4l2_ldflags@ + +# QT +AC_PJMEDIA_VIDEO_HAS_QT = @ac_pjmedia_video_has_qt@ +QT_CFLAGS = @ac_qt_cflags@ + +# iOS +IOS_CFLAGS = @ac_ios_cflags@ + +# Android +ANDROID_CFLAGS = @ac_android_cflags@ + +# libyuv +LIBYUV_CFLAGS = @ac_libyuv_cflags@ +LIBYUV_LDFLAGS = @ac_libyuv_ldflags@ + +# openh264 +OPENH264_CFLAGS = @ac_openh264_cflags@ +OPENH264_LDFLAGS = @ac_openh264_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) \ + $(IOS_CFLAGS) $(ANDROID_CFLAGS) $(LIBYUV_CFLAGS) \ + $(OPENH264_CFLAGS) +export LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS) \ + $(LIBYUV_LDFLAGS) $(OPENH264_LDFLAGS) + +# Define the desired sound device backend +# Valid values are: +# - pa_unix: PortAudio on Unix (OSS or ALSA) +# - pa_darwinos: PortAudio on MacOSX (CoreAudio) +# - pa_old_darwinos: PortAudio on MacOSX (old CoreAudio, for OSX 10.2) +# - pa_win32: PortAudio on Win32 (WMME) +# - ds: Win32 DirectSound (dsound.c) +# - null: Null sound device (nullsound.c) +# - external: Link with no sounddev (app will provide) +AC_PJMEDIA_SND=@ac_pjmedia_snd@ + +# For Unix, specify if ALSA should be supported +AC_PA_USE_ALSA=@ac_pa_use_alsa@ + +# Additional PortAudio CFLAGS are in @ac_pa_cflags@ + +# +# Codecs +# +AC_NO_G711_CODEC=@ac_no_g711_codec@ +AC_NO_L16_CODEC=@ac_no_l16_codec@ +AC_NO_GSM_CODEC=@ac_no_gsm_codec@ +AC_NO_SPEEX_CODEC=@ac_no_speex_codec@ +AC_NO_ILBC_CODEC=@ac_no_ilbc_codec@ +AC_NO_G722_CODEC=@ac_no_g722_codec@ +AC_NO_G7221_CODEC=@ac_no_g7221_codec@ +AC_NO_OPENCORE_AMRNB=@ac_no_opencore_amrnb@ +AC_NO_OPENCORE_AMRWB=@ac_no_opencore_amrwb@ + +export CODEC_OBJS= + +export PJMEDIA_AUDIODEV_OBJS += @ac_pjmedia_audiodev_objs@ + +ifeq ($(AC_NO_G711_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_G711_CODEC=0 +else +export CODEC_OBJS += +endif + +ifeq ($(AC_NO_L16_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_L16_CODEC=0 +else +export CODEC_OBJS += l16.o +endif + +ifeq ($(AC_NO_GSM_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_GSM_CODEC=0 +else +export CODEC_OBJS += gsm.o +endif + +ifeq ($(AC_NO_SPEEX_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_SPEEX_CODEC=0 +else +export CFLAGS += -I$(THIRD_PARTY)/build/speex -I$(THIRD_PARTY)/speex/include +export CODEC_OBJS += speex_codec.o + +ifneq (@ac_no_speex_aec@,1) +export PJMEDIA_OBJS += echo_speex.o +endif + +endif + +ifeq ($(AC_NO_ILBC_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_ILBC_CODEC=0 +else +export CODEC_OBJS += ilbc.o +endif + +ifeq ($(AC_NO_G722_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_G722_CODEC=0 +else +export CODEC_OBJS += g722.o g722/g722_enc.o g722/g722_dec.o +endif + +ifeq ($(AC_NO_G7221_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_G7221_CODEC=0 +else +export CODEC_OBJS += g7221.o +export G7221_CFLAGS += -I$(THIRD_PARTY) +endif + +ifeq ($(AC_NO_OPENCORE_AMRNB),1) +export CFLAGS += -DPJMEDIA_HAS_OPENCORE_AMRNB_CODEC=0 +else +export CODEC_OBJS += opencore_amr.o +endif + +ifeq ($(AC_NO_OPENCORE_AMRWB),1) +export CFLAGS += -DPJMEDIA_HAS_OPENCORE_AMRWB_CODEC=0 +else +ifeq ($(AC_NO_OPENCORE_AMRNB),1) +export CODEC_OBJS += opencore_amr.o +endif +endif + + +# +# SRTP +# +ifeq (@ac_external_srtp@,1) +# External SRTP +export CFLAGS += -DPJMEDIA_EXTERNAL_SRTP=1 +# SRTP srtp_deinit()/srtp_shutdown() API availability settings +export CFLAGS += -DPJMEDIA_SRTP_HAS_DEINIT=@ac_srtp_deinit_present@ \ + -DPJMEDIA_SRTP_HAS_SHUTDOWN=@ac_srtp_shutdown_present@ +else +# Our SRTP in third_party +export CFLAGS += -I$(THIRD_PARTY)/build/srtp \ + -I$(THIRD_PARTY)/srtp/crypto/include \ + -I$(THIRD_PARTY)/srtp/include + +endif + +# +# Resample +# +AC_PJMEDIA_RESAMPLE=@ac_pjmedia_resample@ + +ifeq ($(AC_PJMEDIA_RESAMPLE),none) +# No resample support +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_NONE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libresample) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBRESAMPLE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libsamplerate) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBSAMPLERATE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),speex) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_SPEEX +endif + +# +# PortAudio +# +ifneq ($(findstring pa,$(AC_PJMEDIA_SND)),) +ifeq (@ac_external_pa@,1) +# External PA +export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=1 +else +# Our PA in third_party +export CFLAGS += -I$(THIRD_PARTY)/build/portaudio -I$(THIRD_PARTY)/portaudio/include -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=1 +endif +endif + +# +# Windows specific +# +ifneq ($(findstring win32,$(AC_PJMEDIA_SND)),) +export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_WMME=1 +else +export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_WMME=0 +endif + +# +# Null sound device +# +ifeq ($(AC_PJMEDIA_SND),null) +export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=0 -DPJMEDIA_AUDIO_DEV_HAS_WMME=0 +endif + +# +# External sound device +# +ifeq ($(AC_PJMEDIA_SND),external) +export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=0 -DPJMEDIA_AUDIO_DEV_HAS_WMME=0 +endif + +# +# QT video device +# +ifeq ($(AC_PJMEDIA_VIDEO_HAS_QT),yes) +export PJMEDIA_VIDEODEV_OBJS += qt_dev.o +endif + +# +# iOS video device +# +ifeq ($(AC_PJMEDIA_VIDEO),iphone_os) +export PJMEDIA_VIDEODEV_OBJS += ios_dev.o ios_opengl_dev.o +endif + +# +# Android video device +# +ifeq ($(AC_PJMEDIA_VIDEO),android_os) +export PJMEDIA_VIDEODEV_OBJS += android_dev.o android_opengl.o +endif + +# +# Determine whether we should compile the obj-c version of a particular source code +# +ifneq (,$(filter $(AC_PJMEDIA_VIDEO),mac_os iphone_os)) +# Mac and iPhone OS specific, use obj-c +export PJMEDIA_VIDEODEV_OBJS += sdl_dev_m.o +else +# Other platforms, compile .c +export PJMEDIA_VIDEODEV_OBJS += sdl_dev.o +endif diff --git a/pjmedia/build/os-darwinos.mak b/pjmedia/build/os-darwinos.mak new file mode 100644 index 0000000..3548c8e --- /dev/null +++ b/pjmedia/build/os-darwinos.mak @@ -0,0 +1,142 @@ + +# PJMEDIA features exclusion +export CFLAGS += + +# Define the desired sound device backend +# Valid values are: +# - pa_unix: PortAudio on Unix (OSS or ALSA) +# - pa_darwinos: PortAudio on MacOSX (CoreAudio) +# - pa_old_darwinos: PortAudio on MacOSX (old CoreAudio, for OSX 10.2) +# - pa_win32: PortAudio on Win32 (WMME) +# - ds: Win32 DirectSound (dsound.c) +# - null: Null sound device (nullsound.c) +AC_PJMEDIA_SND=pa_old_darwinos + +# For Unix, specify if ALSA should be supported +AC_PA_USE_ALSA=0 + +# +# Codecs +# +AC_NO_G711_CODEC=0 +AC_NO_L16_CODEC=0 +AC_NO_GSM_CODEC=0 +AC_NO_SPEEX_CODEC=0 +AC_NO_ILBC_CODEC=0 +AC_NO_G722_CODEC=0 +AC_NO_G7221_CODEC=0 + +export CODEC_OBJS= + +ifeq ($(AC_NO_G711_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_G711_CODEC=0 +else +export CODEC_OBJS += +endif + +ifeq ($(AC_NO_L16_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_L16_CODEC=0 +else +export CODEC_OBJS += l16.o +endif + +ifeq ($(AC_NO_GSM_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_GSM_CODEC=0 +else +export CODEC_OBJS += gsm.o +endif + +ifeq ($(AC_NO_SPEEX_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_SPEEX_CODEC=0 +else +export CFLAGS += -I$(THIRD_PARTY)/build/speex -I$(THIRD_PARTY)/speex/include +export CODEC_OBJS += speex_codec.o + +#ifeq (@ac_no_speex_aec@,1) +ifeq (0,1) +export PJMEDIA_OBJS += echo_speex.o +endif + +endif + +ifeq ($(AC_NO_ILBC_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_ILBC_CODEC=0 +else +export CODEC_OBJS += ilbc.o +endif + +ifeq ($(AC_NO_G722_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_G722_CODEC=0 +else +export CODEC_OBJS += g722.o g722/g722_enc.o g722/g722_dec.o +endif + +ifeq ($(AC_NO_G7221_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_G7221_CODEC=0 +else +export CODEC_OBJS += g7221.o +export G7221_CFLAGS += -I$(THIRD_PARTY) +endif + +# +# Resample +# +AC_PJMEDIA_RESAMPLE=libresample + +ifeq ($(AC_PJMEDIA_RESAMPLE),none) +# No resample support +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_NONE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libresample) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBRESAMPLE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libsamplerate) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBSAMPLERATE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),speex) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_SPEEX +endif + +# +# SRTP +# +#ifeq (@ac_external_srtp@,1) +ifeq (0,1) +# External SRTP +export CFLAGS += -DPJMEDIA_EXTERNAL_SRTP=1 +else +# Our SRTP in third_party +export CFLAGS += -I$(THIRD_PARTY)/build/srtp \ + -I$(THIRD_PARTY)/srtp/crypto/include \ + -I$(THIRD_PARTY)/srtp/include + +endif + +# +# PortAudio +# +ifneq ($(findstring pa,$(AC_PJMEDIA_SND)),) +export CFLAGS += -I$(THIRD_PARTY)/build/portaudio -I$(THIRD_PARTY)/portaudio/include -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_PORTAUDIO_SOUND +export SOUND_OBJS = pasound.o +endif + +# +# Win32 DirectSound +# +ifeq ($(AC_PJMEDIA_SND),ds) +export SOUND_OBJS = dsound.o +export CFLAGS += -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_WIN32_DIRECT_SOUND +endif + +# +# Last resort, null sound device +# +ifeq ($(AC_PJMEDIA_SND),null) +export SOUND_OBJS = nullsound.o +export CFLAGS += -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_NULL_SOUND +endif + + diff --git a/pjmedia/build/os-linux.mak b/pjmedia/build/os-linux.mak new file mode 100644 index 0000000..eb05091 --- /dev/null +++ b/pjmedia/build/os-linux.mak @@ -0,0 +1,136 @@ +# Linux + +# Define the desired sound device backend +# Valid values are: +# - pa_unix: PortAudio on Unix (OSS or ALSA) +# - pa_darwinos: PortAudio on MacOSX (CoreAudio) +# - pa_old_darwinos: PortAudio on MacOSX (old CoreAudio, for OSX 10.2) +# - pa_win32: PortAudio on Win32 (WMME) +# - ds: Win32 DirectSound (dsound.c) +# - null: Null sound device (nullsound.c) +AC_PJMEDIA_SND=pa_unix + +# +# Codecs +# +AC_NO_G711_CODEC=0 +AC_NO_L16_CODEC=0 +AC_NO_GSM_CODEC=0 +AC_NO_SPEEX_CODEC=0 +AC_NO_ILBC_CODEC=0 +AC_NO_G722_CODEC=0 +AC_NO_G7221_CODEC=0 + +export CODEC_OBJS= + +ifeq ($(AC_NO_G711_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_G711_CODEC=0 +else +export CODEC_OBJS += +endif + +ifeq ($(AC_NO_L16_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_L16_CODEC=0 +else +export CODEC_OBJS += l16.o +endif + +ifeq ($(AC_NO_GSM_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_GSM_CODEC=0 +else +export CODEC_OBJS += gsm.o +endif + +ifeq ($(AC_NO_SPEEX_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_SPEEX_CODEC=0 +else +export CFLAGS += -I$(THIRD_PARTY)/build/speex -I$(THIRD_PARTY)/speex/include +export CODEC_OBJS += speex_codec.o + +ifeq (1,1) +export PJMEDIA_OBJS += echo_speex.o +endif + +endif + +ifeq ($(AC_NO_ILBC_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_ILBC_CODEC=0 +else +export CODEC_OBJS += ilbc.o +endif + +ifeq ($(AC_NO_G722_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_G722_CODEC=0 +else +export CODEC_OBJS += g722.o g722/g722_enc.o g722/g722_dec.o +endif + +ifeq ($(AC_NO_G7221_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_G7221_CODEC=0 +else +export CODEC_OBJS += g7221.o +export G7221_CFLAGS += -I$(THIRD_PARTY) +endif + +# +# Resample +# +AC_PJMEDIA_RESAMPLE=libresample + +ifeq ($(AC_PJMEDIA_RESAMPLE),none) +# No resample support +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_NONE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libresample) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBRESAMPLE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libsamplerate) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBSAMPLERATE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),speex) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_SPEEX +endif + +# +# SRTP +# +#ifeq (@ac_external_srtp@,1) +ifeq (0,1) +# External SRTP +export CFLAGS += -DPJMEDIA_EXTERNAL_SRTP=1 +else +# Our SRTP in third_party +export CFLAGS += -I$(THIRD_PARTY)/build/srtp \ + -I$(THIRD_PARTY)/srtp/crypto/include \ + -I$(THIRD_PARTY)/srtp/include + +endif + +# +# PortAudio +# +ifneq ($(findstring pa,$(AC_PJMEDIA_SND)),) +export CFLAGS += -I$(THIRD_PARTY)/build/portaudio -I$(THIRD_PARTY)/portaudio/include -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_PORTAUDIO_SOUND +export SOUND_OBJS = pasound.o +endif + +# +# Win32 DirectSound +# +ifeq ($(AC_PJMEDIA_SND),ds) +export SOUND_OBJS = dsound.o +export CFLAGS += -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_WIN32_DIRECT_SOUND +endif + +# +# Last resort, null sound device +# +ifeq ($(AC_PJMEDIA_SND),null) +export SOUND_OBJS = nullsound.o +export CFLAGS += -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_NULL_SOUND +endif + + diff --git a/pjmedia/build/os-rtems.mak b/pjmedia/build/os-rtems.mak new file mode 100644 index 0000000..cf7440f --- /dev/null +++ b/pjmedia/build/os-rtems.mak @@ -0,0 +1,9 @@ +# +# PJMEDIA OS specific configuration for RTEMS OS target. +# + +export CFLAGS += -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_NULL_SOUND +export PJMEDIA_OBJS += nullsound.o +export SOUND_OBJS = $(NULLSOUND_OBJS) + +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBRESAMPLE diff --git a/pjmedia/build/os-win32.mak b/pjmedia/build/os-win32.mak new file mode 100644 index 0000000..b85183a --- /dev/null +++ b/pjmedia/build/os-win32.mak @@ -0,0 +1,138 @@ +# PJMEDIA features exclusion +export CFLAGS += + +# Define the desired sound device backend +# Valid values are: +# - pa_unix: PortAudio on Unix (OSS or ALSA) +# - pa_darwinos: PortAudio on MacOSX (CoreAudio) +# - pa_old_darwinos: PortAudio on MacOSX (old CoreAudio, for OSX 10.2) +# - pa_win32: PortAudio on Win32 (WMME) +# - ds: Win32 DirectSound (dsound.c) +# - null: Null sound device (nullsound.c) +AC_PJMEDIA_SND=pa_win32 + +# +# Codecs +# +AC_NO_G711_CODEC=0 +AC_NO_L16_CODEC=0 +AC_NO_GSM_CODEC=0 +AC_NO_SPEEX_CODEC=0 +AC_NO_ILBC_CODEC=0 +AC_NO_G722_CODEC=0 +AC_NO_G7221_CODEC=0 + +export CODEC_OBJS= + +ifeq ($(AC_NO_G711_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_G711_CODEC=0 +else +export CODEC_OBJS += +endif + +ifeq ($(AC_NO_L16_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_L16_CODEC=0 +else +export CODEC_OBJS += l16.o +endif + +ifeq ($(AC_NO_GSM_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_GSM_CODEC=0 +else +export CODEC_OBJS += gsm.o +endif + +ifeq ($(AC_NO_SPEEX_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_SPEEX_CODEC=0 +else +export CFLAGS += -I$(THIRD_PARTY)/build/speex -I$(THIRD_PARTY)/speex/include +export CODEC_OBJS += speex_codec.o + +#ifeq (@ac_no_speex_aec@,1) +ifeq (0,1) +export PJMEDIA_OBJS += echo_speex.o +endif + +endif + +ifeq ($(AC_NO_ILBC_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_ILBC_CODEC=0 +else +export CODEC_OBJS += ilbc.o +endif + +ifeq ($(AC_NO_G722_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_G722_CODEC=0 +else +export CODEC_OBJS += g722.o g722/g722_enc.o g722/g722_dec.o +endif + +ifeq ($(AC_NO_G7221_CODEC),1) +export CFLAGS += -DPJMEDIA_HAS_G7221_CODEC=0 +else +export CODEC_OBJS += g7221.o +export G7221_CFLAGS += -I$(THIRD_PARTY) +endif + +# +# Resample +# +AC_PJMEDIA_RESAMPLE=libresample + +ifeq ($(AC_PJMEDIA_RESAMPLE),none) +# No resample support +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_NONE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libresample) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBRESAMPLE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),libsamplerate) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBSAMPLERATE +endif + +ifeq ($(AC_PJMEDIA_RESAMPLE),speex) +export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_SPEEX +endif + +# +# SRTP +# +#ifeq (@ac_external_srtp@,1) +ifeq (0,1) +# External SRTP +export CFLAGS += -DPJMEDIA_EXTERNAL_SRTP=1 +else +# Our SRTP in third_party +export CFLAGS += -I$(THIRD_PARTY)/build/srtp \ + -I$(THIRD_PARTY)/srtp/crypto/include \ + -I$(THIRD_PARTY)/srtp/include + +endif + +# +# PortAudio +# +ifneq ($(findstring pa,$(AC_PJMEDIA_SND)),) +export CFLAGS += -I$(THIRD_PARTY)/build/portaudio -I$(THIRD_PARTY)/portaudio/include -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_PORTAUDIO_SOUND +export SOUND_OBJS = pasound.o +endif + +# +# Win32 DirectSound +# +ifeq ($(AC_PJMEDIA_SND),ds) +export SOUND_OBJS = dsound.o +export CFLAGS += -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_WIN32_DIRECT_SOUND +endif + +# +# Last resort, null sound device +# +ifeq ($(AC_PJMEDIA_SND),null) +export SOUND_OBJS = nullsound.o +export CFLAGS += -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_NULL_SOUND +endif + + diff --git a/pjmedia/build/pjmedia.vcproj b/pjmedia/build/pjmedia.vcproj new file mode 100644 index 0000000..f18b51d --- /dev/null +++ b/pjmedia/build/pjmedia.vcproj @@ -0,0 +1,7506 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pjmedia/build/pjmedia_audiodev.vcproj b/pjmedia/build/pjmedia_audiodev.vcproj new file mode 100644 index 0000000..cf430d9 --- /dev/null +++ b/pjmedia/build/pjmedia_audiodev.vcproj @@ -0,0 +1,7172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pjmedia/build/pjmedia_codec.vcproj b/pjmedia/build/pjmedia_codec.vcproj new file mode 100644 index 0000000..2b76afb --- /dev/null +++ b/pjmedia/build/pjmedia_codec.vcproj @@ -0,0 +1,3736 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pjmedia/build/pjmedia_test.vcproj b/pjmedia/build/pjmedia_test.vcproj new file mode 100644 index 0000000..e214bb9 --- /dev/null +++ b/pjmedia/build/pjmedia_test.vcproj @@ -0,0 +1,5187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pjmedia/build/pjmedia_videodev.vcproj b/pjmedia/build/pjmedia_videodev.vcproj new file mode 100644 index 0000000..cdc62e7 --- /dev/null +++ b/pjmedia/build/pjmedia_videodev.vcproj @@ -0,0 +1,3224 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pjmedia/build/wince-evc4/pjmedia_auddev_wince.vcp b/pjmedia/build/wince-evc4/pjmedia_auddev_wince.vcp new file mode 100644 index 0000000..7cf37cb --- /dev/null +++ b/pjmedia/build/wince-evc4/pjmedia_auddev_wince.vcp @@ -0,0 +1,6342 @@ +# Microsoft eMbedded Visual Tools Project File - Name="pjmedia_auddev_wince" - Package Owner=<4> +# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (WCE x86) Static Library" 0x8304 +# TARGTYPE "Win32 (WCE ARMV4) Static Library" 0xa304 +# TARGTYPE "Win32 (WCE ARMV4I) Static Library" 0xa504 +# TARGTYPE "Win32 (WCE emulator) Static Library" 0xa604 +# TARGTYPE "Win32 (WCE ARMV4T) Static Library" 0xa404 + +CFG=pjmedia_auddev_wince - Win32 (WCE x86) Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "pjmedia_auddev_wince.vcn". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "pjmedia_auddev_wince.vcn" CFG="pjmedia_auddev_wince - Win32 (WCE x86) Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "pjmedia_auddev_wince - Win32 (WCE emulator) Release" (based on "Win32 (WCE emulator) Static Library") +!MESSAGE "pjmedia_auddev_wince - Win32 (WCE emulator) Debug" (based on "Win32 (WCE emulator) Static Library") +!MESSAGE "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Release" (based on "Win32 (WCE ARMV4I) Static Library") +!MESSAGE "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Debug" (based on "Win32 (WCE ARMV4I) Static Library") +!MESSAGE "pjmedia_auddev_wince - Win32 (WCE ARMV4) Release" (based on "Win32 (WCE ARMV4) Static Library") +!MESSAGE "pjmedia_auddev_wince - Win32 (WCE ARMV4) Debug" (based on "Win32 (WCE ARMV4) Static Library") +!MESSAGE "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Release" (based on "Win32 (WCE ARMV4T) Static Library") +!MESSAGE "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Debug" (based on "Win32 (WCE ARMV4T) Static Library") +!MESSAGE "pjmedia_auddev_wince - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Static Library") +!MESSAGE "pjmedia_auddev_wince - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +# PROP ATL_Project 2 + +!IF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjmedia_audiodev_wince_emulatorRel" +# PROP BASE Intermediate_Dir "./output/pjmedia_audiodev_wince_emulatorRel" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjmedia_audiodev_wince_emulatorRel" +# PROP Intermediate_Dir "./output/pjmedia_audiodev_wince_emulatorRel" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../third_party/portaudio/include" /D "NDEBUG" /D "_i386_" /D "_X86_" /D "x86" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /O2 /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjmedia_audiodev_wince_emulatorDbg" +# PROP BASE Intermediate_Dir "./output/pjmedia_audiodev_wince_emulatorDbg" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjmedia_audiodev_wince_emulatorDbg" +# PROP Intermediate_Dir "./output/pjmedia_audiodev_wince_emulatorDbg" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../third_party/portaudio/include" /D "DEBUG" /D "_i386_" /D "_X86_" /D "x86" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjmedia_audiodev_wince_ARMV4IRel" +# PROP BASE Intermediate_Dir "./output/pjmedia_audiodev_wince_ARMV4IRel" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjmedia_audiodev_wince_ARMV4IRel" +# PROP Intermediate_Dir "./output/pjmedia_audiodev_wince_ARMV4IRel" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../third_party/portaudio/include" /D "ARMV4I" /D "NDEBUG" /D "ARM" /D "_ARM_" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjmedia_audiodev_wince_ARMV4IDbg" +# PROP BASE Intermediate_Dir "./output/pjmedia_audiodev_wince_ARMV4IDbg" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjmedia_audiodev_wince_ARMV4IDbg" +# PROP Intermediate_Dir "./output/pjmedia_audiodev_wince_ARMV4IDbg" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../third_party/portaudio/include" /D "DEBUG" /D "ARMV4I" /D "ARM" /D "_ARM_" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjmedia_audiodev_wince_ARMV4Rel" +# PROP BASE Intermediate_Dir "./output/pjmedia_audiodev_wince_ARMV4Rel" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjmedia_audiodev_wince_ARMV4Rel" +# PROP Intermediate_Dir "./output/pjmedia_audiodev_wince_ARMV4Rel" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../third_party/portaudio/include" /D "NDEBUG" /D "ARMV4" /D "ARM" /D "_ARM_" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /O2 /M$(CECrtMT) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjmedia_audiodev_wince_ARMV4Dbg" +# PROP BASE Intermediate_Dir "./output/pjmedia_audiodev_wince_ARMV4Dbg" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjmedia_auddev_ARMV4Dbg" +# PROP Intermediate_Dir "./output/pjmedia_auddev_ARMV4Dbg" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../third_party/portaudio/include" /D "DEBUG" /D "ARMV4" /D "ARM" /D "_ARM_" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjmedia_audiodev_wince_ARMV4TRel" +# PROP BASE Intermediate_Dir "./output/pjmedia_audiodev_wince_ARMV4TRel" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjmedia_audiodev_wince_ARMV4TRel" +# PROP Intermediate_Dir "./output/pjmedia_audiodev_wince_ARMV4TRel" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../third_party/portaudio/include" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D "NDEBUG" /D "ARM" /D "_ARM_" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjmedia_audiodev_wince_ARMV4TDbg" +# PROP BASE Intermediate_Dir "./output/pjmedia_audiodev_wince_ARMV4TDbg" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjmedia_audiodev_wince_ARMV4TDbg" +# PROP Intermediate_Dir "./output/pjmedia_audiodev_wince_ARMV4TDbg" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../third_party/portaudio/include" /D "DEBUG" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D "ARM" /D "_ARM_" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjmedia_audiodev_wince_X86Rel" +# PROP BASE Intermediate_Dir "./output/pjmedia_audiodev_wince_X86Rel" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjmedia_audiodev_wince_X86Rel" +# PROP Intermediate_Dir "./output/pjmedia_audiodev_wince_X86Rel" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../third_party/portaudio/include" /D "NDEBUG" /D "_i386_" /D "_X86_" /D "x86" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /O2 /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjmedia_audiodev_wince_X86Dbg" +# PROP BASE Intermediate_Dir "./output/pjmedia_audiodev_wince_X86Dbg" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjmedia_audiodev_wince_X86Dbg" +# PROP Intermediate_Dir "./output/pjmedia_audiodev_wince_X86Dbg" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../third_party/portaudio/include" /D "DEBUG" /D "_i386_" /D "_X86_" /D "x86" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ENDIF + +# Begin Target + +# Name "pjmedia_auddev_wince - Win32 (WCE emulator) Release" +# Name "pjmedia_auddev_wince - Win32 (WCE emulator) Debug" +# Name "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Release" +# Name "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Debug" +# Name "pjmedia_auddev_wince - Win32 (WCE ARMV4) Release" +# Name "pjmedia_auddev_wince - Win32 (WCE ARMV4) Debug" +# Name "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Release" +# Name "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Debug" +# Name "pjmedia_auddev_wince - Win32 (WCE x86) Release" +# Name "pjmedia_auddev_wince - Win32 (WCE x86) Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE="..\..\src\pjmedia-audiodev\audiodev.c" + +!IF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Release" + +DEP_CPP_AUDIO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_AUDIO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_AUDIO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_AUDIO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_AUDIO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_AUDIO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_AUDIO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_AUDIO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Release" + +DEP_CPP_AUDIO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Debug" + +DEP_CPP_AUDIO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjmedia-audiodev\audiotest.c" + +!IF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Release" + +DEP_CPP_AUDIOT=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_AUDIOT=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_AUDIOT=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_AUDIOT=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_AUDIOT=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Debug" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_AUDIOT=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_AUDIOT=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Release" + +DEP_CPP_AUDIOT=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Debug" + +DEP_CPP_AUDIOT=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjmedia-audiodev\errno.c" + +!IF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\portaudio\include\portaudio.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\portaudio\include\portaudio.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\portaudio\include\portaudio.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjmedia-audiodev\legacy_dev.c" + +!IF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Release" + +DEP_CPP_LEGAC=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_LEGAC=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_LEGAC=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_LEGAC=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_LEGAC=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_LEGAC=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_LEGAC=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_LEGAC=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Release" + +DEP_CPP_LEGAC=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Debug" + +DEP_CPP_LEGAC=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjmedia-audiodev\pa_dev.c" + +!IF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Release" + +DEP_CPP_PA_DE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\portaudio\include\portaudio.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_PA_DE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\portaudio\include\portaudio.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_PA_DE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_PA_DE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_PA_DE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\portaudio\include\portaudio.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_PA_DE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_PA_DE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_PA_DE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Release" + +DEP_CPP_PA_DE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Debug" + +DEP_CPP_PA_DE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjmedia-audiodev\symb_aps_dev.cpp" + +!IF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SYMB_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia-codec\amr_helper.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + "..\..\src\pjmedia-audiodev\s60_g729_bitstream.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SYMB_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia-codec\amr_helper.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + "..\..\src\pjmedia-audiodev\s60_g729_bitstream.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SYMB_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia-codec\amr_helper.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + "..\..\src\pjmedia-audiodev\s60_g729_bitstream.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SYMB_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia-codec\amr_helper.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + "..\..\src\pjmedia-audiodev\s60_g729_bitstream.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SYMB_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia-codec\amr_helper.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + "..\..\src\pjmedia-audiodev\s60_g729_bitstream.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Debug" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SYMB_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia-codec\amr_helper.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + "..\..\src\pjmedia-audiodev\s60_g729_bitstream.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SYMB_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia-codec\amr_helper.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + "..\..\src\pjmedia-audiodev\s60_g729_bitstream.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Release" + +DEP_CPP_SYMB_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia-codec\amr_helper.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + "..\..\src\pjmedia-audiodev\s60_g729_bitstream.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SYMB_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia-codec\amr_helper.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + "..\..\src\pjmedia-audiodev\s60_g729_bitstream.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjmedia-audiodev\symb_mda_dev.cpp" + +!IF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SYMB_M=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SYMB_M=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SYMB_M=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SYMB_M=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SYMB_M=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Debug" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SYMB_M=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SYMB_M=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Release" + +DEP_CPP_SYMB_M=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SYMB_M=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjmedia-audiodev\wmme_dev.c" + +!IF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Release" + +DEP_CPP_WMME_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_WMME_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_WMME_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_WMME_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_WMME_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_WMME_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_WMME_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_WMME_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Release" + +DEP_CPP_WMME_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Debug" + +DEP_CPP_WMME_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ENDIF + +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE="..\..\include\pjmedia-audiodev\audiodev.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjmedia-audiodev\audiodev_imp.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjmedia-audiodev\audiotest.h" + +!IF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Release" + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE emulator) Debug" + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Release" + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4I) Debug" + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Release" + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4) Debug" + +# PROP Exclude_From_Build 1 + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Release" + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE ARMV4T) Debug" + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Release" + +!ELSEIF "$(CFG)" == "pjmedia_auddev_wince - Win32 (WCE x86) Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjmedia-audiodev\config.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjmedia-audiodev\errno.h" +# End Source File +# End Group +# End Target +# End Project diff --git a/pjmedia/build/wince-evc4/pjmedia_codec_wince.vcp b/pjmedia/build/wince-evc4/pjmedia_codec_wince.vcp new file mode 100644 index 0000000..9709c51 --- /dev/null +++ b/pjmedia/build/wince-evc4/pjmedia_codec_wince.vcp @@ -0,0 +1,5023 @@ +# Microsoft eMbedded Visual Tools Project File - Name="pjmedia_codec_wince" - Package Owner=<4> +# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (WCE x86) Static Library" 0x8304 +# TARGTYPE "Win32 (WCE ARMV4) Static Library" 0xa304 +# TARGTYPE "Win32 (WCE ARMV4I) Static Library" 0xa504 +# TARGTYPE "Win32 (WCE emulator) Static Library" 0xa604 +# TARGTYPE "Win32 (WCE ARMV4T) Static Library" 0xa404 + +CFG=pjmedia_codec_wince - Win32 (WCE x86) Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "pjmedia_codec_wince.vcn". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "pjmedia_codec_wince.vcn" CFG="pjmedia_codec_wince - Win32 (WCE x86) Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "pjmedia_codec_wince - Win32 (WCE emulator) Release" (based on "Win32 (WCE emulator) Static Library") +!MESSAGE "pjmedia_codec_wince - Win32 (WCE emulator) Debug" (based on "Win32 (WCE emulator) Static Library") +!MESSAGE "pjmedia_codec_wince - Win32 (WCE ARMV4I) Release" (based on "Win32 (WCE ARMV4I) Static Library") +!MESSAGE "pjmedia_codec_wince - Win32 (WCE ARMV4I) Debug" (based on "Win32 (WCE ARMV4I) Static Library") +!MESSAGE "pjmedia_codec_wince - Win32 (WCE ARMV4) Release" (based on "Win32 (WCE ARMV4) Static Library") +!MESSAGE "pjmedia_codec_wince - Win32 (WCE ARMV4) Debug" (based on "Win32 (WCE ARMV4) Static Library") +!MESSAGE "pjmedia_codec_wince - Win32 (WCE ARMV4T) Release" (based on "Win32 (WCE ARMV4T) Static Library") +!MESSAGE "pjmedia_codec_wince - Win32 (WCE ARMV4T) Debug" (based on "Win32 (WCE ARMV4T) Static Library") +!MESSAGE "pjmedia_codec_wince - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Static Library") +!MESSAGE "pjmedia_codec_wince - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +# PROP ATL_Project 2 + +!IF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjmedia_codec_emulatorRel" +# PROP BASE Intermediate_Dir "./output/pjmedia_codec_emulatorRel" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjmedia_codec_emulatorRel" +# PROP Intermediate_Dir "./output/pjmedia_codec_emulatorRel" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../src/pjmedia-codec" /I "../../../third_party/speex/include" /D "NDEBUG" /D "_i386_" /D "_X86_" /D "x86" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /O2 /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjmedia_codec_emulatorDbg" +# PROP BASE Intermediate_Dir "./output/pjmedia_codec_emulatorDbg" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjmedia_codec_emulatorDbg" +# PROP Intermediate_Dir "./output/pjmedia_codec_emulatorDbg" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../src/pjmedia-codec" /I "../../../third_party/speex/include" /D "DEBUG" /D "_i386_" /D "_X86_" /D "x86" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjmedia_codec_ARMV4IRel" +# PROP BASE Intermediate_Dir "./output/pjmedia_codec_ARMV4IRel" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjmedia_codec_ARMV4IRel" +# PROP Intermediate_Dir "./output/pjmedia_codec_ARMV4IRel" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../src/pjmedia-codec" /I "../../../third_party/speex/include" /D "ARMV4I" /D "NDEBUG" /D "ARM" /D "_ARM_" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjmedia_codec_ARMV4IDbg" +# PROP BASE Intermediate_Dir "./output/pjmedia_codec_ARMV4IDbg" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjmedia_codec_ARMV4IDbg" +# PROP Intermediate_Dir "./output/pjmedia_codec_ARMV4IDbg" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../src/pjmedia-codec" /I "../../../third_party/speex/include" /D "DEBUG" /D "ARMV4I" /D "ARM" /D "_ARM_" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjmedia_codec_ARMV4Rel" +# PROP BASE Intermediate_Dir "./output/pjmedia_codec_ARMV4Rel" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjmedia_codec_ARMV4Rel" +# PROP Intermediate_Dir "./output/pjmedia_codec_ARMV4Rel" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../src/pjmedia-codec" /I "../../../third_party/speex/include" /D "NDEBUG" /D "ARMV4" /D "ARM" /D "_ARM_" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /O2 /M$(CECrtMT) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjmedia_codec_ARMV4Dbg" +# PROP BASE Intermediate_Dir "./output/pjmedia_codec_ARMV4Dbg" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjmedia_codec_ARMV4Dbg" +# PROP Intermediate_Dir "./output/pjmedia_codec_ARMV4Dbg" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../src/pjmedia-codec" /I "../../../third_party/speex/include" /D "DEBUG" /D "ARMV4" /D "ARM" /D "_ARM_" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjmedia_codec_ARMV4TRel" +# PROP BASE Intermediate_Dir "./output/pjmedia_codec_ARMV4TRel" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjmedia_codec_ARMV4TRel" +# PROP Intermediate_Dir "./output/pjmedia_codec_ARMV4TRel" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../src/pjmedia-codec" /I "../../../third_party/speex/include" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D "NDEBUG" /D "ARM" /D "_ARM_" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjmedia_codec_ARMV4TDbg" +# PROP BASE Intermediate_Dir "./output/pjmedia_codec_ARMV4TDbg" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjmedia_codec_ARMV4TDbg" +# PROP Intermediate_Dir "./output/pjmedia_codec_ARMV4TDbg" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../src/pjmedia-codec" /I "../../../third_party/speex/include" /D "DEBUG" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D "ARM" /D "_ARM_" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "./output/pjmedia_codec_X86Rel" +# PROP BASE Intermediate_Dir "./output/pjmedia_codec_X86Rel" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./output/pjmedia_codec_X86Rel" +# PROP Intermediate_Dir "./output/pjmedia_codec_X86Rel" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../src/pjmedia-codec" /I "../../../third_party/speex/include" /D "NDEBUG" /D "_i386_" /D "_X86_" /D "x86" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /O2 /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjmedia_codec_X86Dbg" +# PROP BASE Intermediate_Dir "./output/pjmedia_codec_X86Dbg" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjmedia_codec_X86Dbg" +# PROP Intermediate_Dir "./output/pjmedia_codec_X86Dbg" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../src/pjmedia-codec" /I "../../../third_party/speex/include" /D "DEBUG" /D "_i386_" /D "_X86_" /D "x86" /D HAVE_CONFIG_H=1 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ENDIF + +# Begin Target + +# Name "pjmedia_codec_wince - Win32 (WCE emulator) Release" +# Name "pjmedia_codec_wince - Win32 (WCE emulator) Debug" +# Name "pjmedia_codec_wince - Win32 (WCE ARMV4I) Release" +# Name "pjmedia_codec_wince - Win32 (WCE ARMV4I) Debug" +# Name "pjmedia_codec_wince - Win32 (WCE ARMV4) Release" +# Name "pjmedia_codec_wince - Win32 (WCE ARMV4) Debug" +# Name "pjmedia_codec_wince - Win32 (WCE ARMV4T) Release" +# Name "pjmedia_codec_wince - Win32 (WCE ARMV4T) Debug" +# Name "pjmedia_codec_wince - Win32 (WCE x86) Release" +# Name "pjmedia_codec_wince - Win32 (WCE x86) Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Group "g722 Files" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE="..\..\src\pjmedia-codec\g722\g722_dec.c" + +!IF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Release" + +DEP_CPP_G722_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_G722_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_G722_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_G722_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_G722_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_G722_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_G722_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_G722_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Release" + +DEP_CPP_G722_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Debug" + +DEP_CPP_G722_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjmedia-codec\g722\g722_dec.h" +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjmedia-codec\g722\g722_enc.c" + +!IF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Release" + +DEP_CPP_G722_E=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_G722_E=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_G722_E=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_G722_E=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_G722_E=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_G722_E=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_G722_E=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_G722_E=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Release" + +DEP_CPP_G722_E=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Debug" + +DEP_CPP_G722_E=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjmedia-codec\g722\g722_enc.h" +# End Source File +# End Group +# Begin Source File + +SOURCE="..\..\src\pjmedia-codec\g722.c" + +!IF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Release" + +DEP_CPP_G722_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_G722_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_G722_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_G722_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_G722_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_G722_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_G722_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_G722_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Release" + +DEP_CPP_G722_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Debug" + +DEP_CPP_G722_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia-codec\g722\g722_dec.h"\ + "..\..\src\pjmedia-codec\g722\g722_enc.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjmedia-codec\gsm.c" + +!IF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Release" + +DEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + "..\..\src\pjmedia-codec\gsm\gsm.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\gsm\inc\gsm.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + "..\..\src\pjmedia-codec\gsm\gsm.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + "..\..\src\pjmedia-codec\gsm\gsm.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\gsm\inc\gsm.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + "..\..\src\pjmedia-codec\gsm\gsm.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + "..\..\src\pjmedia-codec\gsm\gsm.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + "..\..\src\pjmedia-codec\gsm\gsm.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Release" + +DEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + "..\..\src\pjmedia-codec\gsm\gsm.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Debug" + +DEP_CPP_GSM_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_GSM_C=\ + "..\..\src\pjmedia-codec\gsm\gsm.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjmedia-codec\ilbc.c" + +!IF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ILBC_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ILBC_=\ + "..\..\src\pjmedia-codec\ilbc\iLBC_decode.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_define.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_encode.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ILBC_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\ilbc\iLBC_decode.h"\ + "..\..\..\third_party\ilbc\iLBC_define.h"\ + "..\..\..\third_party\ilbc\iLBC_encode.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ILBC_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ILBC_=\ + "..\..\src\pjmedia-codec\ilbc\iLBC_decode.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_define.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_encode.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ILBC_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ILBC_=\ + "..\..\src\pjmedia-codec\ilbc\iLBC_decode.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_define.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_encode.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ILBC_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\ilbc\iLBC_decode.h"\ + "..\..\..\third_party\ilbc\iLBC_define.h"\ + "..\..\..\third_party\ilbc\iLBC_encode.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ILBC_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ILBC_=\ + "..\..\src\pjmedia-codec\ilbc\iLBC_decode.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_define.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_encode.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ILBC_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ILBC_=\ + "..\..\src\pjmedia-codec\ilbc\iLBC_decode.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_define.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_encode.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ILBC_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ILBC_=\ + "..\..\src\pjmedia-codec\ilbc\iLBC_decode.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_define.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_encode.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Release" + +DEP_CPP_ILBC_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ILBC_=\ + "..\..\src\pjmedia-codec\ilbc\iLBC_decode.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_define.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_encode.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ILBC_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ILBC_=\ + "..\..\src\pjmedia-codec\ilbc\iLBC_decode.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_define.h"\ + "..\..\src\pjmedia-codec\ilbc\iLBC_encode.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjmedia-codec\l16.c" + +!IF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Release" + +DEP_CPP_L16_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_L16_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_L16_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_L16_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_L16_C=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_L16_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_L16_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_L16_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Release" + +DEP_CPP_L16_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Debug" + +DEP_CPP_L16_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE="..\..\src\pjmedia-codec\speex_codec.c" + +!IF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SPEEX=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SPEEX=\ + "..\..\src\pjmedia-codec\speex\speex.h"\ + "..\..\src\pjmedia-codec\speex\speex_bits.h"\ + "..\..\src\pjmedia-codec\speex\speex_config_types.h"\ + "..\..\src\pjmedia-codec\speex\speex_types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SPEEX=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\speex\include\speex\speex.h"\ + "..\..\..\third_party\speex\include\speex\speex_bits.h"\ + "..\..\..\third_party\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SPEEX=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SPEEX=\ + "..\..\src\pjmedia-codec\speex\speex.h"\ + "..\..\src\pjmedia-codec\speex\speex_bits.h"\ + "..\..\src\pjmedia-codec\speex\speex_config_types.h"\ + "..\..\src\pjmedia-codec\speex\speex_types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SPEEX=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SPEEX=\ + "..\..\src\pjmedia-codec\speex\speex.h"\ + "..\..\src\pjmedia-codec\speex\speex_bits.h"\ + "..\..\src\pjmedia-codec\speex\speex_config_types.h"\ + "..\..\src\pjmedia-codec\speex\speex_types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SPEEX=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\speex\include\speex\speex.h"\ + "..\..\..\third_party\speex\include\speex\speex_bits.h"\ + "..\..\..\third_party\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SPEEX=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SPEEX=\ + "..\..\src\pjmedia-codec\speex\speex.h"\ + "..\..\src\pjmedia-codec\speex\speex_bits.h"\ + "..\..\src\pjmedia-codec\speex\speex_config_types.h"\ + "..\..\src\pjmedia-codec\speex\speex_types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SPEEX=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SPEEX=\ + "..\..\src\pjmedia-codec\speex\speex.h"\ + "..\..\src\pjmedia-codec\speex\speex_bits.h"\ + "..\..\src\pjmedia-codec\speex\speex_config_types.h"\ + "..\..\src\pjmedia-codec\speex\speex_types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SPEEX=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SPEEX=\ + "..\..\src\pjmedia-codec\speex\speex.h"\ + "..\..\src\pjmedia-codec\speex\speex_bits.h"\ + "..\..\src\pjmedia-codec\speex\speex_config_types.h"\ + "..\..\src\pjmedia-codec\speex\speex_types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Release" + +DEP_CPP_SPEEX=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SPEEX=\ + "..\..\src\pjmedia-codec\speex\speex.h"\ + "..\..\src\pjmedia-codec\speex\speex_bits.h"\ + "..\..\src\pjmedia-codec\speex\speex_config_types.h"\ + "..\..\src\pjmedia-codec\speex\speex_types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_codec_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SPEEX=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE="..\..\include\pjmedia-codec\config.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjmedia-codec\g722.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjmedia-codec\gsm.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjmedia-codec\ilbc.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjmedia-codec\l16.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjmedia-codec.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjmedia-codec\speex.h" +# End Source File +# Begin Source File + +SOURCE="..\..\include\pjmedia-codec\types.h" +# End Source File +# End Group +# End Target +# End Project diff --git a/pjmedia/build/wince-evc4/pjmedia_test.vcp b/pjmedia/build/wince-evc4/pjmedia_test.vcp new file mode 100644 index 0000000..aa85f5d --- /dev/null +++ b/pjmedia/build/wince-evc4/pjmedia_test.vcp @@ -0,0 +1,19958 @@ +# Microsoft eMbedded Visual Tools Project File - Name="pjmedia_test" - Package Owner=<4> +# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (WCE MIPSIV_FP) Application" 0x9201 +# TARGTYPE "Win32 (WCE x86) Application" 0x8301 +# TARGTYPE "Win32 (WCE ARMV4) Application" 0xa301 +# TARGTYPE "Win32 (WCE MIPS16) Application" 0x8901 +# TARGTYPE "Win32 (WCE SH3) Application" 0x8101 +# TARGTYPE "Win32 (WCE ARMV4I) Application" 0xa501 +# TARGTYPE "Win32 (WCE SH4) Application" 0x8601 +# TARGTYPE "Win32 (WCE MIPSII_FP) Application" 0xa201 +# TARGTYPE "Win32 (WCE emulator) Application" 0xa601 +# TARGTYPE "Win32 (WCE MIPSIV) Application" 0x9601 +# TARGTYPE "Win32 (WCE ARMV4T) Application" 0xa401 +# TARGTYPE "Win32 (WCE MIPSII) Application" 0xa101 + +CFG=pjmedia_test - Win32 (WCE MIPSII_FP) Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "pjmedia_test.vcn". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "pjmedia_test.vcn" CFG="pjmedia_test - Win32 (WCE MIPSII_FP) Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "pjmedia_test - Win32 (WCE MIPSII_FP) Release" (based on "Win32 (WCE MIPSII_FP) Application") +!MESSAGE "pjmedia_test - Win32 (WCE MIPSII_FP) Debug" (based on "Win32 (WCE MIPSII_FP) Application") +!MESSAGE "pjmedia_test - Win32 (WCE MIPSII) Release" (based on "Win32 (WCE MIPSII) Application") +!MESSAGE "pjmedia_test - Win32 (WCE MIPSII) Debug" (based on "Win32 (WCE MIPSII) Application") +!MESSAGE "pjmedia_test - Win32 (WCE SH4) Release" (based on "Win32 (WCE SH4) Application") +!MESSAGE "pjmedia_test - Win32 (WCE SH4) Debug" (based on "Win32 (WCE SH4) Application") +!MESSAGE "pjmedia_test - Win32 (WCE SH3) Release" (based on "Win32 (WCE SH3) Application") +!MESSAGE "pjmedia_test - Win32 (WCE SH3) Debug" (based on "Win32 (WCE SH3) Application") +!MESSAGE "pjmedia_test - Win32 (WCE MIPSIV) Release" (based on "Win32 (WCE MIPSIV) Application") +!MESSAGE "pjmedia_test - Win32 (WCE MIPSIV) Debug" (based on "Win32 (WCE MIPSIV) Application") +!MESSAGE "pjmedia_test - Win32 (WCE emulator) Release" (based on "Win32 (WCE emulator) Application") +!MESSAGE "pjmedia_test - Win32 (WCE emulator) Debug" (based on "Win32 (WCE emulator) Application") +!MESSAGE "pjmedia_test - Win32 (WCE ARMV4I) Release" (based on "Win32 (WCE ARMV4I) Application") +!MESSAGE "pjmedia_test - Win32 (WCE ARMV4I) Debug" (based on "Win32 (WCE ARMV4I) Application") +!MESSAGE "pjmedia_test - Win32 (WCE MIPSIV_FP) Release" (based on "Win32 (WCE MIPSIV_FP) Application") +!MESSAGE "pjmedia_test - Win32 (WCE MIPSIV_FP) Debug" (based on "Win32 (WCE MIPSIV_FP) Application") +!MESSAGE "pjmedia_test - Win32 (WCE ARMV4) Release" (based on "Win32 (WCE ARMV4) Application") +!MESSAGE "pjmedia_test - Win32 (WCE ARMV4) Debug" (based on "Win32 (WCE ARMV4) Application") +!MESSAGE "pjmedia_test - Win32 (WCE MIPS16) Release" (based on "Win32 (WCE MIPS16) Application") +!MESSAGE "pjmedia_test - Win32 (WCE MIPS16) Debug" (based on "Win32 (WCE MIPS16) Application") +!MESSAGE "pjmedia_test - Win32 (WCE ARMV4T) Release" (based on "Win32 (WCE ARMV4T) Application") +!MESSAGE "pjmedia_test - Win32 (WCE ARMV4T) Debug" (based on "Win32 (WCE ARMV4T) Application") +!MESSAGE "pjmedia_test - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Application") +!MESSAGE "pjmedia_test - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +# PROP ATL_Project 2 + +!IF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_test_MIPSII_FPRel" +# PROP BASE Intermediate_Dir "output/pjmedia_test_MIPSII_FPRel" +# PROP BASE CPU_ID "{D8AC856C-B213-4895-9E83-9EC51A55201E}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_test_MIPSII_FPRel" +# PROP Intermediate_Dir "output/pjmedia_test_MIPSII_FPRel" +# PROP CPU_ID "{D8AC856C-B213-4895-9E83-9EC51A55201E}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPSII_FP" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPSII_FP" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPSII_FP" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /QMmips2 /QMFPE- /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPSII_FP" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /QMmips2 /QMFPE- /O2 /M$(CECrtMT) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_test_MIPSII_FPDbg" +# PROP BASE Intermediate_Dir "output/pjmedia_test_MIPSII_FPDbg" +# PROP BASE CPU_ID "{D8AC856C-B213-4895-9E83-9EC51A55201E}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_test_MIPSII_FPDbg" +# PROP Intermediate_Dir "output/pjmedia_test_MIPSII_FPDbg" +# PROP CPU_ID "{D8AC856C-B213-4895-9E83-9EC51A55201E}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPSII_FP" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPSII_FP" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPSII_FP" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /QMmips2 /QMFPE- /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPSII_FP" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /QMmips2 /QMFPE- /M$(CECrtMTDebug) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_test_MIPSIIRel" +# PROP BASE Intermediate_Dir "output/pjmedia_test_MIPSIIRel" +# PROP BASE CPU_ID "{689DDC64-9D9D-11D5-96F8-00207802C01C}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_test_MIPSIIRel" +# PROP Intermediate_Dir "output/pjmedia_test_MIPSIIRel" +# PROP CPU_ID "{689DDC64-9D9D-11D5-96F8-00207802C01C}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /QMmips2 /QMFPE /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /QMmips2 /QMFPE /O2 /M$(CECrtMT) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_test_MIPSIIDbg" +# PROP BASE Intermediate_Dir "output/pjmedia_test_MIPSIIDbg" +# PROP BASE CPU_ID "{689DDC64-9D9D-11D5-96F8-00207802C01C}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_test_MIPSIIDbg" +# PROP Intermediate_Dir "output/pjmedia_test_MIPSIIDbg" +# PROP CPU_ID "{689DDC64-9D9D-11D5-96F8-00207802C01C}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /QMmips2 /QMFPE /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /QMmips2 /QMFPE /M$(CECrtMTDebug) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_test_SH4Rel" +# PROP BASE Intermediate_Dir "output/pjmedia_test_SH4Rel" +# PROP BASE CPU_ID "{D6519021-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_test_SH4Rel" +# PROP Intermediate_Dir "output/pjmedia_test_SH4Rel" +# PROP CPU_ID "{D6519021-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "SHx" /d "SH4" /d "_SH4_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "SHx" /d "SH4" /d "_SH4_" /r +CPP=shcl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /Qsh4 /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Qsh4 /O2 /M$(CECrtMT) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH4 +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH4 + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_test_SH4Dbg" +# PROP BASE Intermediate_Dir "output/pjmedia_test_SH4Dbg" +# PROP BASE CPU_ID "{D6519021-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_test_SH4Dbg" +# PROP Intermediate_Dir "output/pjmedia_test_SH4Dbg" +# PROP CPU_ID "{D6519021-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "SHx" /d "SH4" /d "_SH4_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "SHx" /d "SH4" /d "_SH4_" /r +CPP=shcl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /Qsh4 /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "SHx" /D "SH4" /D "_SH4_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Qsh4 /M$(CECrtMTDebug) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH4 +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH4 + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_test_SH3Rel" +# PROP BASE Intermediate_Dir "output/pjmedia_test_SH3Rel" +# PROP BASE CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_test_SH3Rel" +# PROP Intermediate_Dir "output/pjmedia_test_SH3Rel" +# PROP CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r +CPP=shcl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /O2 /M$(CECrtMT) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3 /align:4096 +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3 /align:4096 + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_test_SH3Dbg" +# PROP BASE Intermediate_Dir "output/pjmedia_test_SH3Dbg" +# PROP BASE CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_test_SH3Dbg" +# PROP Intermediate_Dir "output/pjmedia_test_SH3Dbg" +# PROP CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r +CPP=shcl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /M$(CECrtMTDebug) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3 /align:4096 +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3 /align:4096 + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_test_MIPSIVRel" +# PROP BASE Intermediate_Dir "output/pjmedia_test_MIPSIVRel" +# PROP BASE CPU_ID "{0B2FE524-26C5-4194-8CEF-B1582DEB5A98}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_test_MIPSIVRel" +# PROP Intermediate_Dir "output/pjmedia_test_MIPSIVRel" +# PROP CPU_ID "{0B2FE524-26C5-4194-8CEF-B1582DEB5A98}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /QMmips4 /QMn32 /QMFPE /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /QMmips4 /QMn32 /QMFPE /O2 /M$(CECrtMT) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_test_MIPSIVDbg" +# PROP BASE Intermediate_Dir "output/pjmedia_test_MIPSIVDbg" +# PROP BASE CPU_ID "{0B2FE524-26C5-4194-8CEF-B1582DEB5A98}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_test_MIPSIVDbg" +# PROP Intermediate_Dir "output/pjmedia_test_MIPSIVDbg" +# PROP CPU_ID "{0B2FE524-26C5-4194-8CEF-B1582DEB5A98}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /QMmips4 /QMn32 /QMFPE /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /QMmips4 /QMn32 /QMFPE /M$(CECrtMTDebug) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_test_emulatorRel" +# PROP BASE Intermediate_Dir "output/pjmedia_test_emulatorRel" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_test_emulatorRel" +# PROP Intermediate_Dir "output/pjmedia_test_emulatorRel" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /Yu"stdafx.h" /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /Gs8192 /GF /O2 /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 +# ADD LINK32 $(CEx86Corelibc) commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_test_emulatorDbg" +# PROP BASE Intermediate_Dir "output/pjmedia_test_emulatorDbg" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_test_emulatorDbg" +# PROP Intermediate_Dir "output/pjmedia_test_emulatorDbg" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r +# ADD RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /Yu"stdafx.h" /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /Gs8192 /GF /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 +# ADD LINK32 $(CEx86Corelibc) commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_test_ARMV4IRel" +# PROP BASE Intermediate_Dir "output/pjmedia_test_ARMV4IRel" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_test_ARMV4IRel" +# PROP Intermediate_Dir "output/pjmedia_test_ARMV4IRel" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_test_ARMV4IDbg" +# PROP BASE Intermediate_Dir "output/pjmedia_test_ARMV4IDbg" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_test_ARMV4IDbg" +# PROP Intermediate_Dir "output/pjmedia_test_ARMV4IDbg" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4I" /r +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_test_MIPSIV_FPRel" +# PROP BASE Intermediate_Dir "output/pjmedia_test_MIPSIV_FPRel" +# PROP BASE CPU_ID "{046A430D-7770-48AB-89B5-24C2D300B03F}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_test_MIPSIV_FPRel" +# PROP Intermediate_Dir "output/pjmedia_test_MIPSIV_FPRel" +# PROP CPU_ID "{046A430D-7770-48AB-89B5-24C2D300B03F}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D "MIPSIV_FP" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /QMmips4 /QMn32 /QMFPE- /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D "MIPSIV_FP" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /QMmips4 /QMn32 /QMFPE- /O2 /M$(CECrtMT) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_test_MIPSIV_FPDbg" +# PROP BASE Intermediate_Dir "output/pjmedia_test_MIPSIV_FPDbg" +# PROP BASE CPU_ID "{046A430D-7770-48AB-89B5-24C2D300B03F}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_test_MIPSIV_FPDbg" +# PROP Intermediate_Dir "output/pjmedia_test_MIPSIV_FPDbg" +# PROP CPU_ID "{046A430D-7770-48AB-89B5-24C2D300B03F}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D "MIPSIV_FP" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /QMmips4 /QMn32 /QMFPE- /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "_MIPS64" /D "R4000" /D "MIPSIV" /D "MIPSIV_FP" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /QMmips4 /QMn32 /QMFPE- /M$(CECrtMTDebug) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPSFPU + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_test_ARMV4Rel" +# PROP BASE Intermediate_Dir "output/pjmedia_test_ARMV4Rel" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_test_ARMV4Rel" +# PROP Intermediate_Dir "output/pjmedia_test_ARMV4Rel" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /O2 /M$(CECrtMT) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_test_ARMV4Dbg" +# PROP BASE Intermediate_Dir "output/pjmedia_test_ARMV4Dbg" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_test_ARMV4Dbg" +# PROP Intermediate_Dir "output/pjmedia_test_ARMV4Dbg" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /M$(CECrtMTDebug) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_test_MIPS16Rel" +# PROP BASE Intermediate_Dir "output/pjmedia_test_MIPS16Rel" +# PROP BASE CPU_ID "{D6519013-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_test_MIPS16Rel" +# PROP Intermediate_Dir "output/pjmedia_test_MIPS16Rel" +# PROP CPU_ID "{D6519013-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "MIPS16SUPPORT" /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPS16" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "MIPS16SUPPORT" /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPS16" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPS16" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_MIPS16_" /D "MIPS16SUPPORT" /Yu"stdafx.h" /QMmips16 /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPS16" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_MIPS16_" /D "MIPS16SUPPORT" /QMmips16 /O2 /M$(CECrtMT) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS16 /ALIGN:4096 +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS16 /ALIGN:4096 + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_test_MIPS16Dbg" +# PROP BASE Intermediate_Dir "output/pjmedia_test_MIPS16Dbg" +# PROP BASE CPU_ID "{D6519013-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_test_MIPS16Dbg" +# PROP Intermediate_Dir "output/pjmedia_test_MIPS16Dbg" +# PROP CPU_ID "{D6519013-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "MIPS16SUPPORT" /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPS16" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "MIPS16SUPPORT" /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /d "R4000" /d "MIPSII" /d "MIPS16" /r +CPP=clmips.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPS16" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_MIPS16_" /D "MIPS16SUPPORT" /Yu"stdafx.h" /QMmips16 /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "MIPS" /D "_MIPS_" /D "R4000" /D "MIPSII" /D "MIPS16" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /D "_MIPS16_" /D "MIPS16SUPPORT" /QMmips16 /M$(CECrtMTDebug) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS16 /ALIGN:4096 +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS16 /ALIGN:4096 + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_test_ARMV4TRel" +# PROP BASE Intermediate_Dir "output/pjmedia_test_ARMV4TRel" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_test_ARMV4TRel" +# PROP Intermediate_Dir "output/pjmedia_test_ARMV4TRel" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_test_ARMV4TDbg" +# PROP BASE Intermediate_Dir "output/pjmedia_test_ARMV4TDbg" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_test_ARMV4TDbg" +# PROP Intermediate_Dir "output/pjmedia_test_ARMV4TDbg" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "THUMB" /d "_THUMB_" /d "ARM" /d "_ARM_" /d "ARMV4T" /r +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /Yu"stdafx.h" /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB +# ADD LINK32 commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:THUMB + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_test_X86Rel" +# PROP BASE Intermediate_Dir "output/pjmedia_test_X86Rel" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_test_X86Rel" +# PROP Intermediate_Dir "output/pjmedia_test_X86Rel" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r +# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /Yu"stdafx.h" /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /Gs8192 /GF /O2 /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 +# ADD LINK32 $(CEx86Corelibc) commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_test_X86Dbg" +# PROP BASE Intermediate_Dir "output/pjmedia_test_X86Dbg" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_test_X86Dbg" +# PROP Intermediate_Dir "output/pjmedia_test_X86Dbg" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +RSC=rc.exe +# ADD BASE RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r +# ADD RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /Yu"stdafx.h" /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /Gs8192 /GF /c +# SUBTRACT CPP /YX /Yc /Yu +MTL=midl.exe +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 +# ADD LINK32 $(CEx86Corelibc) commctrl.lib coredll.lib winsock.lib ws2.lib iphlpapi.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86 + +!ENDIF + +# Begin Target + +# Name "pjmedia_test - Win32 (WCE MIPSII_FP) Release" +# Name "pjmedia_test - Win32 (WCE MIPSII_FP) Debug" +# Name "pjmedia_test - Win32 (WCE MIPSII) Release" +# Name "pjmedia_test - Win32 (WCE MIPSII) Debug" +# Name "pjmedia_test - Win32 (WCE SH4) Release" +# Name "pjmedia_test - Win32 (WCE SH4) Debug" +# Name "pjmedia_test - Win32 (WCE SH3) Release" +# Name "pjmedia_test - Win32 (WCE SH3) Debug" +# Name "pjmedia_test - Win32 (WCE MIPSIV) Release" +# Name "pjmedia_test - Win32 (WCE MIPSIV) Debug" +# Name "pjmedia_test - Win32 (WCE emulator) Release" +# Name "pjmedia_test - Win32 (WCE emulator) Debug" +# Name "pjmedia_test - Win32 (WCE ARMV4I) Release" +# Name "pjmedia_test - Win32 (WCE ARMV4I) Debug" +# Name "pjmedia_test - Win32 (WCE MIPSIV_FP) Release" +# Name "pjmedia_test - Win32 (WCE MIPSIV_FP) Debug" +# Name "pjmedia_test - Win32 (WCE ARMV4) Release" +# Name "pjmedia_test - Win32 (WCE ARMV4) Debug" +# Name "pjmedia_test - Win32 (WCE MIPS16) Release" +# Name "pjmedia_test - Win32 (WCE MIPS16) Debug" +# Name "pjmedia_test - Win32 (WCE ARMV4T) Release" +# Name "pjmedia_test - Win32 (WCE ARMV4T) Debug" +# Name "pjmedia_test - Win32 (WCE x86) Release" +# Name "pjmedia_test - Win32 (WCE x86) Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\src\test\jbuf_test.c + +!IF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Debug" + +DEP_CPP_JBUF_=\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\test\mips_test.c + +!IF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Release" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Debug" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Release" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Debug" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Release" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Debug" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Release" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Release" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Debug" + +DEP_CPP_MIPS_=\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Release" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Release" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Debug" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Release" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Debug" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Release" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Release" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Debug" + +DEP_CPP_MIPS_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\g722.h"\ + "..\..\include\pjmedia-codec\gsm.h"\ + "..\..\include\pjmedia-codec\ilbc.h"\ + "..\..\include\pjmedia-codec\l16.h"\ + "..\..\include\pjmedia-codec\speex.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\test\rtp_test.c + +!IF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Release" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Debug" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Release" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Debug" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Release" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Debug" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Release" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Release" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Debug" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Release" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Release" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Debug" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Release" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Debug" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Release" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Release" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Debug" + +DEP_CPP_RTP_T=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\test\sdp_neg_test.c + +!IF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Debug" + +DEP_CPP_SDP_N=\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\test\sdptest.c +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=..\..\src\test\session_test.c +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=..\..\src\test\test.c + +!IF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Debug" + +DEP_CPP_TEST_=\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Release" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Debug" + +DEP_CPP_TEST_=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\test\wince_main.c + +!IF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Release" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Debug" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Release" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Debug" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Release" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Debug" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Release" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Release" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Debug" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Release" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Release" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Debug" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Release" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Debug" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Release" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Release" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Debug" + +DEP_CPP_WINCE=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia-codec\config.h"\ + "..\..\include\pjmedia-codec\config_auto.h"\ + "..\..\include\pjmedia-codec\types.h"\ + "..\..\include\pjmedia.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\g711.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + "..\..\include\pjmedia\wsola.h"\ + "..\..\src\test\test.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\test\wsola_test.c + +!IF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII_FP) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSII) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH4) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE SH3) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE emulator) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPSIV_FP) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE MIPS16) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_test - Win32 (WCE x86) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ENDIF + +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\..\src\test\test.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/pjmedia/build/wince-evc4/pjmedia_wince.vcp b/pjmedia/build/wince-evc4/pjmedia_wince.vcp new file mode 100644 index 0000000..509aad8 --- /dev/null +++ b/pjmedia/build/wince-evc4/pjmedia_wince.vcp @@ -0,0 +1,29166 @@ +# Microsoft eMbedded Visual Tools Project File - Name="pjmedia_wince" - Package Owner=<4> +# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (WCE x86) Static Library" 0x8304 +# TARGTYPE "Win32 (WCE ARMV4) Static Library" 0xa304 +# TARGTYPE "Win32 (WCE ARMV4I) Static Library" 0xa504 +# TARGTYPE "Win32 (WCE emulator) Static Library" 0xa604 +# TARGTYPE "Win32 (WCE ARMV4T) Static Library" 0xa404 + +CFG=pjmedia_wince - Win32 (WCE x86) Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "pjmedia_wince.vcn". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "pjmedia_wince.vcn" CFG="pjmedia_wince - Win32 (WCE x86) Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "pjmedia_wince - Win32 (WCE emulator) Release" (based on "Win32 (WCE emulator) Static Library") +!MESSAGE "pjmedia_wince - Win32 (WCE emulator) Debug" (based on "Win32 (WCE emulator) Static Library") +!MESSAGE "pjmedia_wince - Win32 (WCE ARMV4I) Release" (based on "Win32 (WCE ARMV4I) Static Library") +!MESSAGE "pjmedia_wince - Win32 (WCE ARMV4I) Debug" (based on "Win32 (WCE ARMV4I) Static Library") +!MESSAGE "pjmedia_wince - Win32 (WCE ARMV4) Release" (based on "Win32 (WCE ARMV4) Static Library") +!MESSAGE "pjmedia_wince - Win32 (WCE ARMV4) Debug" (based on "Win32 (WCE ARMV4) Static Library") +!MESSAGE "pjmedia_wince - Win32 (WCE ARMV4T) Release" (based on "Win32 (WCE ARMV4T) Static Library") +!MESSAGE "pjmedia_wince - Win32 (WCE ARMV4T) Debug" (based on "Win32 (WCE ARMV4T) Static Library") +!MESSAGE "pjmedia_wince - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Static Library") +!MESSAGE "pjmedia_wince - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +# PROP ATL_Project 2 + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_emulatorRel" +# PROP BASE Intermediate_Dir "output/pjmedia_emulatorRel" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_emulatorRel" +# PROP Intermediate_Dir "output/pjmedia_emulatorRel" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "NDEBUG" /D "_i386_" /D "_X86_" /D "x86" /D "PA_NO_DS" /D "PA_NO_ASIO" /D "WIN32_PLATFORM_PSPC" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /O2 /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "./output/pjmedia_emulatorDbg" +# PROP BASE Intermediate_Dir "./output/pjmedia_emulatorDbg" +# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./output/pjmedia_emulatorDbg" +# PROP Intermediate_Dir "./output/pjmedia_emulatorDbg" +# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "_i386_" /D "_X86_" /D "x86" /D "PA_NO_DS" /D "PA_NO_ASIO" /D "WIN32_PLATFORM_PSPC" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_ARMV4IRel" +# PROP BASE Intermediate_Dir "output/pjmedia_ARMV4IRel" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_ARMV4IRel" +# PROP Intermediate_Dir "output/pjmedia_ARMV4IRel" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "ARMV4I" /D "NDEBUG" /D "ARM" /D "_ARM_" /D "PA_NO_DS" /D "PA_NO_ASIO" /D "WIN32_PLATFORM_PSPC" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_ARMV4IDbg" +# PROP BASE Intermediate_Dir "output/pjmedia_ARMV4IDbg" +# PROP BASE CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_ARMV4IDbg" +# PROP Intermediate_Dir "output/pjmedia_ARMV4IDbg" +# PROP CPU_ID "{DC70F430-E78B-494F-A9D5-62ADC56443B8}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "ARMV4I" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "ARMV4I" /D "ARM" /D "_ARM_" /D "PA_NO_DS" /D "PA_NO_ASIO" /D "WIN32_PLATFORM_PSPC" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_ARMV4Rel" +# PROP BASE Intermediate_Dir "output/pjmedia_ARMV4Rel" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_ARMV4Rel" +# PROP Intermediate_Dir "output/pjmedia_ARMV4Rel" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /Oxt /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "NDEBUG" /D "ARMV4" /D "ARM" /D "_ARM_" /D "PA_NO_DS" /D "PA_NO_ASIO" /D "WIN32_PLATFORM_PSPC" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMT) /c +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_ARMV4Dbg" +# PROP BASE Intermediate_Dir "output/pjmedia_ARMV4Dbg" +# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_ARMV4Dbg" +# PROP Intermediate_Dir "output/pjmedia_ARMV4Dbg" +# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clarm.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "ARMV4" /D "ARM" /D "_ARM_" /D "PA_NO_DS" /D "PA_NO_ASIO" /D "WIN32_PLATFORM_PSPC" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug) /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_ARMV4TRel" +# PROP BASE Intermediate_Dir "output/pjmedia_ARMV4TRel" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_ARMV4TRel" +# PROP Intermediate_Dir "output/pjmedia_ARMV4TRel" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D "NDEBUG" /D "ARM" /D "_ARM_" /D "PA_NO_DS" /D "PA_NO_ASIO" /D "WIN32_PLATFORM_PSPC" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /O2 /M$(CECrtMT) /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_ARMV4TDbg" +# PROP BASE Intermediate_Dir "output/pjmedia_ARMV4TDbg" +# PROP BASE CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_ARMV4TDbg" +# PROP Intermediate_Dir "output/pjmedia_ARMV4TDbg" +# PROP CPU_ID "{F52316A9-3B7C-4FE7-A67F-68350B41240D}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=clthumb.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "ARM" /D "_ARM_" /D "$(CePlatform)" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "THUMB" /D "_THUMB_" /D "ARMV4T" /D "ARM" /D "_ARM_" /D "PA_NO_DS" /D "PA_NO_ASIO" /D "WIN32_PLATFORM_PSPC" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /QRarch4T /QRinterwork-return /M$(CECrtMTDebug) /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "output/pjmedia_X86Rel" +# PROP BASE Intermediate_Dir "output/pjmedia_X86Rel" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "output/pjmedia_X86Rel" +# PROP Intermediate_Dir "output/pjmedia_X86Rel" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Gs8192 /GF /O2 /c +# ADD CPP /nologo /W3 /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "NDEBUG" /D "_i386_" /D "_X86_" /D "x86" /D "PA_NO_DS" /D "PA_NO_ASIO" /D "WIN32_PLATFORM_PSPC" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /O2 /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "output/pjmedia_X86Dbg" +# PROP BASE Intermediate_Dir "output/pjmedia_X86Dbg" +# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "output/pjmedia_X86Dbg" +# PROP Intermediate_Dir "output/pjmedia_X86Dbg" +# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}" +# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}" +# PROP Target_Dir "" +CPP=cl.exe +# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gs8192 /GF /c +# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /I "../../../pjlib/include" /I "../../../pjlib-util/include" /I "../../../pjnath/include" /I "../../../third_party/portaudio/include" /I "../../../third_party/speex/include" /I "../../.." /I "../../../third_party/build/srtp" /I "../../../third_party/srtp/crypto/include" /I "../../../third_party/srtp/include" /D "DEBUG" /D "_i386_" /D "_X86_" /D "x86" /D "PA_NO_DS" /D "PA_NO_ASIO" /D "WIN32_PLATFORM_PSPC" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Gs8192 /GF /c +# SUBTRACT CPP /Fr +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo + +!ENDIF + +# Begin Target + +# Name "pjmedia_wince - Win32 (WCE emulator) Release" +# Name "pjmedia_wince - Win32 (WCE emulator) Debug" +# Name "pjmedia_wince - Win32 (WCE ARMV4I) Release" +# Name "pjmedia_wince - Win32 (WCE ARMV4I) Debug" +# Name "pjmedia_wince - Win32 (WCE ARMV4) Release" +# Name "pjmedia_wince - Win32 (WCE ARMV4) Debug" +# Name "pjmedia_wince - Win32 (WCE ARMV4T) Release" +# Name "pjmedia_wince - Win32 (WCE ARMV4T) Debug" +# Name "pjmedia_wince - Win32 (WCE x86) Release" +# Name "pjmedia_wince - Win32 (WCE x86) Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\src\pjmedia\alaw_ulaw.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ALAW_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\alaw_ulaw_table.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ALAW_U=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\bidirectional.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_BIDIR=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_BIDIR=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_BIDIR=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_BIDIR=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_BIDIR=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_BIDIR=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_BIDIR=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_BIDIR=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_BIDIR=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_BIDIR=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\bidirectional.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\clock_thread.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_CLOCK=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_CLOCK=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_CLOCK=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_CLOCK=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_CLOCK=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_CLOCK=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_CLOCK=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_CLOCK=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_CLOCK=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_CLOCK=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\codec.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_CODEC=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\conference.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_CONFE=\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_CONFE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_CONFE=\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_CONFE=\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_CONFE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_CONFE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_CONFE=\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_CONFE=\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_CONFE=\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_CONFE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\conference.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\delaybuf.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_DELAY=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_DELAY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_DELAY=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_DELAY=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_DELAY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_DELAY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_DELAY=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_DELAY=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_DELAY=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_DELAY=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\echo_common.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ECHO_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ECHO_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia\echo_internal.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ECHO_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ECHO_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ECHO_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia\echo_internal.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ECHO_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia\echo_internal.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ECHO_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ECHO_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_ECHO_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ECHO_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia\echo_internal.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\echo_port.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ECHO_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ECHO_P=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ECHO_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ECHO_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ECHO_P=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ECHO_P=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ECHO_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ECHO_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_ECHO_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ECHO_P=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\echo_port.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\echo_speex.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ECHO_S=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ECHO_S=\ + "..\..\src\pjmedia-codec\speex\speex_config_types.h"\ + "..\..\src\pjmedia-codec\speex\speex_echo.h"\ + "..\..\src\pjmedia-codec\speex\speex_preprocess.h"\ + "..\..\src\pjmedia-codec\speex\speex_types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ECHO_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_echo.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_preprocess.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia\echo_internal.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ECHO_S=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ECHO_S=\ + "..\..\src\pjmedia-codec\speex\speex_config_types.h"\ + "..\..\src\pjmedia-codec\speex\speex_echo.h"\ + "..\..\src\pjmedia-codec\speex\speex_preprocess.h"\ + "..\..\src\pjmedia-codec\speex\speex_types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ECHO_S=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ECHO_S=\ + "..\..\src\pjmedia-codec\speex\speex_config_types.h"\ + "..\..\src\pjmedia-codec\speex\speex_echo.h"\ + "..\..\src\pjmedia-codec\speex\speex_preprocess.h"\ + "..\..\src\pjmedia-codec\speex\speex_types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ECHO_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_echo.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_preprocess.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia\echo_internal.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ECHO_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_echo.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_preprocess.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia\echo_internal.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ECHO_S=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ECHO_S=\ + "..\..\src\pjmedia-codec\speex\speex_config_types.h"\ + "..\..\src\pjmedia-codec\speex\speex_echo.h"\ + "..\..\src\pjmedia-codec\speex\speex_preprocess.h"\ + "..\..\src\pjmedia-codec\speex\speex_types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ECHO_S=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ECHO_S=\ + "..\..\src\pjmedia-codec\speex\speex_config_types.h"\ + "..\..\src\pjmedia-codec\speex\speex_echo.h"\ + "..\..\src\pjmedia-codec\speex\speex_preprocess.h"\ + "..\..\src\pjmedia-codec\speex\speex_types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_ECHO_S=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ECHO_S=\ + "..\..\src\pjmedia-codec\speex\speex_config_types.h"\ + "..\..\src\pjmedia-codec\speex\speex_echo.h"\ + "..\..\src\pjmedia-codec\speex\speex_preprocess.h"\ + "..\..\src\pjmedia-codec\speex\speex_types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ECHO_S=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_echo.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_preprocess.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia\echo_internal.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\echo_suppress.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ECHO_SU=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ECHO_SU=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia\echo_internal.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ECHO_SU=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ECHO_SU=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ECHO_SU=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia\echo_internal.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ECHO_SU=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia\echo_internal.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ECHO_SU=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ECHO_SU=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_ECHO_SU=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ECHO_SU=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\src\pjmedia\echo_internal.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\endpoint.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ENDPO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\errno.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\portaudio\include\portaudio.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\portaudio\include\portaudio.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\portaudio\include\portaudio.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + +NODEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_ERRNO=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\portaudio\include\portaudio.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\g711.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_G711_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\jbuf.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_JBUF_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\largefilter.h +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\master_port.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_MASTE=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_MASTE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_MASTE=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_MASTE=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_MASTE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_MASTE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_MASTE=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_MASTE=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_MASTE=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_MASTE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\clock.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\master_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\mem_capture.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_MEM_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_MEM_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_MEM_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_MEM_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_MEM_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_MEM_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_MEM_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_MEM_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_MEM_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_MEM_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\mem_player.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_MEM_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_MEM_P=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_MEM_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_MEM_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_MEM_P=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_MEM_P=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_MEM_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_MEM_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_MEM_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_MEM_P=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\mem_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\null_port.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_NULL_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_NULL_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_NULL_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_NULL_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_NULL_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_NULL_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_NULL_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_NULL_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_NULL_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_NULL_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\null_port.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\plc_common.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_PLC_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_PLC_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_PLC_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_PLC_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_PLC_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_PLC_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_PLC_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_PLC_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_PLC_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_PLC_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\port.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_PORT_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_PORT_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_PORT_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_PORT_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_PORT_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_PORT_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_PORT_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_PORT_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_PORT_=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_PORT_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\resample_port.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_RESAM=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_RESAM=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_RESAM=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_RESAM=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_RESAM=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_RESAM=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_RESAM=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_RESAM=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_RESAM=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_RESAM=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\resample_resample.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_RESAMP=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\resample\include\resamplesubs.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_RESAMP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\resample\include\resamplesubs.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_RESAMP=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\resample\include\resamplesubs.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_RESAMP=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\resample\include\resamplesubs.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_RESAMP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\resample\include\resamplesubs.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_RESAMP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\resample\include\resamplesubs.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_RESAMP=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\resample\include\resamplesubs.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_RESAMP=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\resample\include\resamplesubs.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_RESAMP=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\resample\include\resamplesubs.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_RESAMP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\resample\include\resamplesubs.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\resample_speex.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_RESAMPL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_resampler.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_RESAMPL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_resampler.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_RESAMPL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_resampler.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_RESAMPL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_resampler.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_RESAMPL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_resampler.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_RESAMPL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_resampler.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_RESAMPL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_resampler.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_RESAMPL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_resampler.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_RESAMPL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_resampler.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_RESAMPL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_resampler.h"\ + "..\..\..\THIRD_PARTY\speex\include\speex\speex_types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\resample.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\rtcp.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + +NODEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + +NODEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + +NODEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + +NODEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + +NODEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + +NODEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_RTCP_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\rtcp_xr.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_RTCP_X=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_RTCP_X=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_RTCP_X=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_RTCP_X=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_RTCP_X=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_RTCP_X=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_RTCP_X=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_RTCP_X=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_RTCP_X=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_RTCP_X=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\rtp.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\rtp.h"\ + +NODEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\rtp.h"\ + +NODEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\rtp.h"\ + +NODEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\rtp.h"\ + +NODEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\rtp.h"\ + +NODEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\rtp.h"\ + +NODEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_RTP_C=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\sdp.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SDP_C=\ + "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SDP_C=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SDP_C=\ + "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SDP_C=\ + "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SDP_C=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SDP_C=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SDP_C=\ + "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SDP_C=\ + "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_SDP_C=\ + "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_C=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SDP_C=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_bitwise.h"\ + "..\..\..\pjlib-util\include\pjlib-util\scanner_cis_uint.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\sdp_cmp.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SDP_CM=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\sdp_neg.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SDP_N=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sdp_neg.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\session.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SESSI=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\session.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\silencedet.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SILEN=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SILEN=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SILEN=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SILEN=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SILEN=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SILEN=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SILEN=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SILEN=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_SILEN=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SILEN=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\smallfilter.h +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\sound_port.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SOUND=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SOUND=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SOUND=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SOUND=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SOUND=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SOUND=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia-audiodev\audiodev.h"\ + "..\..\include\pjmedia-audiodev\audiodev_imp.h"\ + "..\..\include\pjmedia-audiodev\audiotest.h"\ + "..\..\include\pjmedia-audiodev\config.h"\ + "..\..\include\pjmedia-audiodev\errno.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia_audiodev.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SOUND=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SOUND=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_SOUND=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SOUND=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\echo.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\plc.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\sound_port.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\splitcomb.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_SPLIT=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_SPLIT=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_SPLIT=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_SPLIT=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_SPLIT=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_SPLIT=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_SPLIT=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_SPLIT=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_SPLIT=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_SPLIT=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\delaybuf.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\splitcomb.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\stereo_port.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_STERE=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_STERE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_STERE=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_STERE=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_STERE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_STERE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_STERE=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_STERE=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_STERE=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_STERE=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\stereo.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\stream.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\socket.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\socket.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\socket.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\socket.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\socket.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\socket.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\socket.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\socket.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\socket.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\compat\m_arm.h"\ + "..\..\..\pjlib\include\pj\compat\sprintf.h"\ + "..\..\..\pjlib\include\pj\compat\vsprintf.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_STREA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\socket.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\jbuf.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\tonegen.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_TONEG=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_TONEG=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_TONEG=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_TONEG=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_TONEG=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_TONEG=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_TONEG=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_TONEG=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_TONEG=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_TONEG=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\silencedet.h"\ + "..\..\include\pjmedia\tonegen.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\transport_ice.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_TRANS=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_TRANS=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\include\pjmedia\config_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_TRANS=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_TRANS=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_TRANS=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\include\pjmedia\config_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_TRANS=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_TRANS=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\include\pjmedia\config_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_TRANS=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_TRANS=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_TRANS=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_TRANS=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\include\pjmedia\config_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_TRANS=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_TRANS=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\include\pjmedia\config_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_TRANS=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\types.h"\ + +NODEP_CPP_TRANS=\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\include\pjmedia\config_auto.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_TRANS=\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\dns.h"\ + "..\..\..\pjlib-util\include\pjlib-util\resolver.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\pjnath\include\pjnath\config.h"\ + "..\..\..\pjnath\include\pjnath\errno.h"\ + "..\..\..\pjnath\include\pjnath\ice_session.h"\ + "..\..\..\pjnath\include\pjnath\ice_strans.h"\ + "..\..\..\pjnath\include\pjnath\stun_auth.h"\ + "..\..\..\pjnath\include\pjnath\stun_config.h"\ + "..\..\..\pjnath\include\pjnath\stun_msg.h"\ + "..\..\..\pjnath\include\pjnath\stun_session.h"\ + "..\..\..\pjnath\include\pjnath\stun_sock.h"\ + "..\..\..\pjnath\include\pjnath\stun_transaction.h"\ + "..\..\..\pjnath\include\pjnath\turn_session.h"\ + "..\..\..\pjnath\include\pjnath\turn_sock.h"\ + "..\..\..\pjnath\include\pjnath\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_ice.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\transport_loop.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_TRANSP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_TRANSP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_TRANSP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_TRANSP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_TRANSP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_TRANSP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_TRANSP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_TRANSP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_TRANSP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_TRANSP=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_loop.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\transport_srtp.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_TRANSPO=\ + "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\build\srtp\srtp_config.h"\ + "..\..\..\third_party\srtp\crypto\include\aes.h"\ + "..\..\..\third_party\srtp\crypto\include\aes_icm.h"\ + "..\..\..\third_party\srtp\crypto\include\alloc.h"\ + "..\..\..\third_party\srtp\crypto\include\auth.h"\ + "..\..\..\third_party\srtp\crypto\include\cipher.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_kernel.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_types.h"\ + "..\..\..\third_party\srtp\crypto\include\cryptoalg.h"\ + "..\..\..\third_party\srtp\crypto\include\datatypes.h"\ + "..\..\..\third_party\srtp\crypto\include\err.h"\ + "..\..\..\third_party\srtp\crypto\include\gf2_8.h"\ + "..\..\..\third_party\srtp\crypto\include\integers.h"\ + "..\..\..\third_party\srtp\crypto\include\kernel_compat.h"\ + "..\..\..\third_party\srtp\crypto\include\key.h"\ + "..\..\..\third_party\srtp\crypto\include\prng.h"\ + "..\..\..\third_party\srtp\crypto\include\rand_source.h"\ + "..\..\..\third_party\srtp\crypto\include\rdbx.h"\ + "..\..\..\third_party\srtp\include\srtp.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_TRANSPO=\ + "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\build\srtp\srtp_config.h"\ + "..\..\..\third_party\srtp\crypto\include\aes.h"\ + "..\..\..\third_party\srtp\crypto\include\aes_icm.h"\ + "..\..\..\third_party\srtp\crypto\include\alloc.h"\ + "..\..\..\third_party\srtp\crypto\include\auth.h"\ + "..\..\..\third_party\srtp\crypto\include\cipher.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_kernel.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_types.h"\ + "..\..\..\third_party\srtp\crypto\include\cryptoalg.h"\ + "..\..\..\third_party\srtp\crypto\include\datatypes.h"\ + "..\..\..\third_party\srtp\crypto\include\err.h"\ + "..\..\..\third_party\srtp\crypto\include\gf2_8.h"\ + "..\..\..\third_party\srtp\crypto\include\integers.h"\ + "..\..\..\third_party\srtp\crypto\include\kernel_compat.h"\ + "..\..\..\third_party\srtp\crypto\include\key.h"\ + "..\..\..\third_party\srtp\crypto\include\prng.h"\ + "..\..\..\third_party\srtp\crypto\include\rand_source.h"\ + "..\..\..\third_party\srtp\crypto\include\rdbx.h"\ + "..\..\..\third_party\srtp\include\srtp.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_TRANSPO=\ + "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\build\srtp\srtp_config.h"\ + "..\..\..\third_party\srtp\crypto\include\aes.h"\ + "..\..\..\third_party\srtp\crypto\include\aes_icm.h"\ + "..\..\..\third_party\srtp\crypto\include\alloc.h"\ + "..\..\..\third_party\srtp\crypto\include\auth.h"\ + "..\..\..\third_party\srtp\crypto\include\cipher.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_kernel.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_types.h"\ + "..\..\..\third_party\srtp\crypto\include\cryptoalg.h"\ + "..\..\..\third_party\srtp\crypto\include\datatypes.h"\ + "..\..\..\third_party\srtp\crypto\include\err.h"\ + "..\..\..\third_party\srtp\crypto\include\gf2_8.h"\ + "..\..\..\third_party\srtp\crypto\include\integers.h"\ + "..\..\..\third_party\srtp\crypto\include\kernel_compat.h"\ + "..\..\..\third_party\srtp\crypto\include\key.h"\ + "..\..\..\third_party\srtp\crypto\include\prng.h"\ + "..\..\..\third_party\srtp\crypto\include\rand_source.h"\ + "..\..\..\third_party\srtp\crypto\include\rdbx.h"\ + "..\..\..\third_party\srtp\include\srtp.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_TRANSPO=\ + "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\build\srtp\srtp_config.h"\ + "..\..\..\third_party\srtp\crypto\include\aes.h"\ + "..\..\..\third_party\srtp\crypto\include\aes_icm.h"\ + "..\..\..\third_party\srtp\crypto\include\alloc.h"\ + "..\..\..\third_party\srtp\crypto\include\auth.h"\ + "..\..\..\third_party\srtp\crypto\include\cipher.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_kernel.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_types.h"\ + "..\..\..\third_party\srtp\crypto\include\cryptoalg.h"\ + "..\..\..\third_party\srtp\crypto\include\datatypes.h"\ + "..\..\..\third_party\srtp\crypto\include\err.h"\ + "..\..\..\third_party\srtp\crypto\include\gf2_8.h"\ + "..\..\..\third_party\srtp\crypto\include\integers.h"\ + "..\..\..\third_party\srtp\crypto\include\kernel_compat.h"\ + "..\..\..\third_party\srtp\crypto\include\key.h"\ + "..\..\..\third_party\srtp\crypto\include\prng.h"\ + "..\..\..\third_party\srtp\crypto\include\rand_source.h"\ + "..\..\..\third_party\srtp\crypto\include\rdbx.h"\ + "..\..\..\third_party\srtp\include\srtp.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_TRANSPO=\ + "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\build\srtp\srtp_config.h"\ + "..\..\..\third_party\srtp\crypto\include\aes.h"\ + "..\..\..\third_party\srtp\crypto\include\aes_icm.h"\ + "..\..\..\third_party\srtp\crypto\include\alloc.h"\ + "..\..\..\third_party\srtp\crypto\include\auth.h"\ + "..\..\..\third_party\srtp\crypto\include\cipher.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_kernel.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_types.h"\ + "..\..\..\third_party\srtp\crypto\include\cryptoalg.h"\ + "..\..\..\third_party\srtp\crypto\include\datatypes.h"\ + "..\..\..\third_party\srtp\crypto\include\err.h"\ + "..\..\..\third_party\srtp\crypto\include\gf2_8.h"\ + "..\..\..\third_party\srtp\crypto\include\integers.h"\ + "..\..\..\third_party\srtp\crypto\include\kernel_compat.h"\ + "..\..\..\third_party\srtp\crypto\include\key.h"\ + "..\..\..\third_party\srtp\crypto\include\prng.h"\ + "..\..\..\third_party\srtp\crypto\include\rand_source.h"\ + "..\..\..\third_party\srtp\crypto\include\rdbx.h"\ + "..\..\..\third_party\srtp\include\srtp.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_TRANSPO=\ + "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\build\srtp\srtp_config.h"\ + "..\..\..\third_party\srtp\crypto\include\aes.h"\ + "..\..\..\third_party\srtp\crypto\include\aes_icm.h"\ + "..\..\..\third_party\srtp\crypto\include\alloc.h"\ + "..\..\..\third_party\srtp\crypto\include\auth.h"\ + "..\..\..\third_party\srtp\crypto\include\cipher.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_kernel.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_types.h"\ + "..\..\..\third_party\srtp\crypto\include\cryptoalg.h"\ + "..\..\..\third_party\srtp\crypto\include\datatypes.h"\ + "..\..\..\third_party\srtp\crypto\include\err.h"\ + "..\..\..\third_party\srtp\crypto\include\gf2_8.h"\ + "..\..\..\third_party\srtp\crypto\include\integers.h"\ + "..\..\..\third_party\srtp\crypto\include\kernel_compat.h"\ + "..\..\..\third_party\srtp\crypto\include\key.h"\ + "..\..\..\third_party\srtp\crypto\include\prng.h"\ + "..\..\..\third_party\srtp\crypto\include\rand_source.h"\ + "..\..\..\third_party\srtp\crypto\include\rdbx.h"\ + "..\..\..\third_party\srtp\include\srtp.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_TRANSPO=\ + "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\build\srtp\srtp_config.h"\ + "..\..\..\third_party\srtp\crypto\include\aes.h"\ + "..\..\..\third_party\srtp\crypto\include\aes_icm.h"\ + "..\..\..\third_party\srtp\crypto\include\alloc.h"\ + "..\..\..\third_party\srtp\crypto\include\auth.h"\ + "..\..\..\third_party\srtp\crypto\include\cipher.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_kernel.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_types.h"\ + "..\..\..\third_party\srtp\crypto\include\cryptoalg.h"\ + "..\..\..\third_party\srtp\crypto\include\datatypes.h"\ + "..\..\..\third_party\srtp\crypto\include\err.h"\ + "..\..\..\third_party\srtp\crypto\include\gf2_8.h"\ + "..\..\..\third_party\srtp\crypto\include\integers.h"\ + "..\..\..\third_party\srtp\crypto\include\kernel_compat.h"\ + "..\..\..\third_party\srtp\crypto\include\key.h"\ + "..\..\..\third_party\srtp\crypto\include\prng.h"\ + "..\..\..\third_party\srtp\crypto\include\rand_source.h"\ + "..\..\..\third_party\srtp\crypto\include\rdbx.h"\ + "..\..\..\third_party\srtp\include\srtp.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_TRANSPO=\ + "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\build\srtp\srtp_config.h"\ + "..\..\..\third_party\srtp\crypto\include\aes.h"\ + "..\..\..\third_party\srtp\crypto\include\aes_icm.h"\ + "..\..\..\third_party\srtp\crypto\include\alloc.h"\ + "..\..\..\third_party\srtp\crypto\include\auth.h"\ + "..\..\..\third_party\srtp\crypto\include\cipher.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_kernel.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_types.h"\ + "..\..\..\third_party\srtp\crypto\include\cryptoalg.h"\ + "..\..\..\third_party\srtp\crypto\include\datatypes.h"\ + "..\..\..\third_party\srtp\crypto\include\err.h"\ + "..\..\..\third_party\srtp\crypto\include\gf2_8.h"\ + "..\..\..\third_party\srtp\crypto\include\integers.h"\ + "..\..\..\third_party\srtp\crypto\include\kernel_compat.h"\ + "..\..\..\third_party\srtp\crypto\include\key.h"\ + "..\..\..\third_party\srtp\crypto\include\prng.h"\ + "..\..\..\third_party\srtp\crypto\include\rand_source.h"\ + "..\..\..\third_party\srtp\crypto\include\rdbx.h"\ + "..\..\..\third_party\srtp\include\srtp.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_TRANSPO=\ + "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\build\srtp\srtp_config.h"\ + "..\..\..\third_party\srtp\crypto\include\aes.h"\ + "..\..\..\third_party\srtp\crypto\include\aes_icm.h"\ + "..\..\..\third_party\srtp\crypto\include\alloc.h"\ + "..\..\..\third_party\srtp\crypto\include\auth.h"\ + "..\..\..\third_party\srtp\crypto\include\cipher.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_kernel.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_types.h"\ + "..\..\..\third_party\srtp\crypto\include\cryptoalg.h"\ + "..\..\..\third_party\srtp\crypto\include\datatypes.h"\ + "..\..\..\third_party\srtp\crypto\include\err.h"\ + "..\..\..\third_party\srtp\crypto\include\gf2_8.h"\ + "..\..\..\third_party\srtp\crypto\include\integers.h"\ + "..\..\..\third_party\srtp\crypto\include\kernel_compat.h"\ + "..\..\..\third_party\srtp\crypto\include\key.h"\ + "..\..\..\third_party\srtp\crypto\include\prng.h"\ + "..\..\..\third_party\srtp\crypto\include\rand_source.h"\ + "..\..\..\third_party\srtp\crypto\include\rdbx.h"\ + "..\..\..\third_party\srtp\include\srtp.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_TRANSPO=\ + "..\..\..\pjlib-util\include\pjlib-util\base64.h"\ + "..\..\..\pjlib-util\include\pjlib-util\config.h"\ + "..\..\..\pjlib-util\include\pjlib-util\types.h"\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\..\third_party\build\srtp\srtp_config.h"\ + "..\..\..\third_party\srtp\crypto\include\aes.h"\ + "..\..\..\third_party\srtp\crypto\include\aes_icm.h"\ + "..\..\..\third_party\srtp\crypto\include\alloc.h"\ + "..\..\..\third_party\srtp\crypto\include\auth.h"\ + "..\..\..\third_party\srtp\crypto\include\cipher.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_kernel.h"\ + "..\..\..\third_party\srtp\crypto\include\crypto_types.h"\ + "..\..\..\third_party\srtp\crypto\include\cryptoalg.h"\ + "..\..\..\third_party\srtp\crypto\include\datatypes.h"\ + "..\..\..\third_party\srtp\crypto\include\err.h"\ + "..\..\..\third_party\srtp\crypto\include\gf2_8.h"\ + "..\..\..\third_party\srtp\crypto\include\integers.h"\ + "..\..\..\third_party\srtp\crypto\include\kernel_compat.h"\ + "..\..\..\third_party\srtp\crypto\include\key.h"\ + "..\..\..\third_party\srtp\crypto\include\prng.h"\ + "..\..\..\third_party\srtp\crypto\include\rand_source.h"\ + "..\..\..\third_party\srtp\crypto\include\rdbx.h"\ + "..\..\..\third_party\srtp\include\srtp.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_srtp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\transport_udp.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_TRANSPOR=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_TRANSPOR=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_TRANSPOR=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_TRANSPOR=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_TRANSPOR=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_TRANSPOR=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_TRANSPOR=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_TRANSPOR=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_TRANSPOR=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_TRANSPOR=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\codec.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\endpoint.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\rtcp.h"\ + "..\..\include\pjmedia\rtcp_xr.h"\ + "..\..\include\pjmedia\rtp.h"\ + "..\..\include\pjmedia\sdp.h"\ + "..\..\include\pjmedia\sound.h"\ + "..\..\include\pjmedia\stream.h"\ + "..\..\include\pjmedia\transport.h"\ + "..\..\include\pjmedia\transport_udp.h"\ + "..\..\include\pjmedia\types.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\wav_player.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_WAV_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_WAV_P=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_WAV_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_WAV_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_WAV_P=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_WAV_P=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_WAV_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_WAV_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_WAV_P=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_WAV_P=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\wav_playlist.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_WAV_PL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_WAV_PL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_WAV_PL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_WAV_PL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_WAV_PL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_WAV_PL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_WAV_PL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_WAV_PL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_WAV_PL=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_WAV_PL=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_playlist.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\wav_writer.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_WAV_W=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_WAV_W=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_WAV_W=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_WAV_W=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_WAV_W=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_WAV_W=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\alaw_ulaw.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_WAV_W=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_WAV_W=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_WAV_W=\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_WAV_W=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\port.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wav_port.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\wave.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_WAVE_=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_WAVE_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_WAVE_=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_WAVE_=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_WAVE_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_WAVE_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_WAVE_=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_WAVE_=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_WAVE_=\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\m_alpha.h"\ + "..\..\..\pjlib\include\pj\compat\m_armv4.h"\ + "..\..\..\pjlib\include\pj\compat\m_i386.h"\ + "..\..\..\pjlib\include\pj\compat\m_m68k.h"\ + "..\..\..\pjlib\include\pj\compat\m_powerpc.h"\ + "..\..\..\pjlib\include\pj\compat\m_sparc.h"\ + "..\..\..\pjlib\include\pj\compat\m_x86_64.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_WAVE_=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wave.h"\ + + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=..\..\src\pjmedia\wsola.c + +!IF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE emulator) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4I) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\circbuf.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE ARMV4T) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Release" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ELSEIF "$(CFG)" == "pjmedia_wince - Win32 (WCE x86) Debug" + +DEP_CPP_WSOLA=\ + "..\..\..\pjlib\include\pj\activesock.h"\ + "..\..\..\pjlib\include\pj\addr_resolv.h"\ + "..\..\..\pjlib\include\pj\array.h"\ + "..\..\..\pjlib\include\pj\assert.h"\ + "..\..\..\pjlib\include\pj\compat\assert.h"\ + "..\..\..\pjlib\include\pj\compat\cc_armcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_codew.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_gcce.h"\ + "..\..\..\pjlib\include\pj\compat\cc_msvc.h"\ + "..\..\..\pjlib\include\pj\compat\cc_mwcc.h"\ + "..\..\..\pjlib\include\pj\compat\ctype.h"\ + "..\..\..\pjlib\include\pj\compat\errno.h"\ + "..\..\..\pjlib\include\pj\compat\high_precision.h"\ + "..\..\..\pjlib\include\pj\compat\m_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_auto.h"\ + "..\..\..\pjlib\include\pj\compat\os_darwinos.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux.h"\ + "..\..\..\pjlib\include\pj\compat\os_linux_kernel.h"\ + "..\..\..\pjlib\include\pj\compat\os_palmos.h"\ + "..\..\..\pjlib\include\pj\compat\os_rtems.h"\ + "..\..\..\pjlib\include\pj\compat\os_sunos.h"\ + "..\..\..\pjlib\include\pj\compat\os_symbian.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32.h"\ + "..\..\..\pjlib\include\pj\compat\os_win32_wince.h"\ + "..\..\..\pjlib\include\pj\compat\setjmp.h"\ + "..\..\..\pjlib\include\pj\compat\size_t.h"\ + "..\..\..\pjlib\include\pj\compat\stdarg.h"\ + "..\..\..\pjlib\include\pj\compat\string.h"\ + "..\..\..\pjlib\include\pj\config.h"\ + "..\..\..\pjlib\include\pj\config_site.h"\ + "..\..\..\pjlib\include\pj\config_site_sample.h"\ + "..\..\..\pjlib\include\pj\ctype.h"\ + "..\..\..\pjlib\include\pj\errno.h"\ + "..\..\..\pjlib\include\pj\except.h"\ + "..\..\..\pjlib\include\pj\fifobuf.h"\ + "..\..\..\pjlib\include\pj\file_access.h"\ + "..\..\..\pjlib\include\pj\file_io.h"\ + "..\..\..\pjlib\include\pj\guid.h"\ + "..\..\..\pjlib\include\pj\hash.h"\ + "..\..\..\pjlib\include\pj\ioqueue.h"\ + "..\..\..\pjlib\include\pj\ip_helper.h"\ + "..\..\..\pjlib\include\pj\list.h"\ + "..\..\..\pjlib\include\pj\list_i.h"\ + "..\..\..\pjlib\include\pj\lock.h"\ + "..\..\..\pjlib\include\pj\log.h"\ + "..\..\..\pjlib\include\pj\math.h"\ + "..\..\..\pjlib\include\pj\os.h"\ + "..\..\..\pjlib\include\pj\pool.h"\ + "..\..\..\pjlib\include\pj\pool_alt.h"\ + "..\..\..\pjlib\include\pj\pool_buf.h"\ + "..\..\..\pjlib\include\pj\pool_i.h"\ + "..\..\..\pjlib\include\pj\rand.h"\ + "..\..\..\pjlib\include\pj\rbtree.h"\ + "..\..\..\pjlib\include\pj\sock.h"\ + "..\..\..\pjlib\include\pj\sock_select.h"\ + "..\..\..\pjlib\include\pj\string.h"\ + "..\..\..\pjlib\include\pj\string_i.h"\ + "..\..\..\pjlib\include\pj\timer.h"\ + "..\..\..\pjlib\include\pj\types.h"\ + "..\..\..\pjlib\include\pj\unicode.h"\ + "..\..\..\pjlib\include\pjlib.h"\ + "..\..\include\pjmedia\config.h"\ + "..\..\include\pjmedia\config_auto.h"\ + "..\..\include\pjmedia\errno.h"\ + "..\..\include\pjmedia\types.h"\ + "..\..\include\pjmedia\wsola.h"\ + + +!ENDIF + +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\..\include\pjmedia\alaw_ulaw.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\bidirectional.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\circbuf.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\clock.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\codec.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\conference.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\config.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\delaybuf.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\doxygen.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\echo.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\echo_port.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\endpoint.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\errno.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\g711.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\jbuf.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\master_port.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\mem_port.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\mp3_port.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\null_port.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\plc.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\port.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\resample.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\rtcp.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\rtcp_xr.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\rtp.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\sdp.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\sdp_neg.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\session.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\silencedet.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\sound.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\sound_port.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\splitcomb.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\stereo.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\stream.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\tonegen.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\transport.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\transport_ice.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\transport_loop.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\transport_udp.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\types.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\wav_playlist.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\wav_port.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\wave.h +# End Source File +# Begin Source File + +SOURCE=..\..\include\pjmedia\wsola.h +# End Source File +# End Group +# End Target +# End Project diff --git a/pjmedia/build/wince-evc4/pjmedia_wince.vcw b/pjmedia/build/wince-evc4/pjmedia_wince.vcw new file mode 100644 index 0000000..770b2b4 --- /dev/null +++ b/pjmedia/build/wince-evc4/pjmedia_wince.vcw @@ -0,0 +1,206 @@ +Microsoft eMbedded Visual Tools Workspace File, Format Version 4.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "PocketPJ"="..\..\..\pjsip-apps\src\pocketpj\PocketPJ.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "libgsmcodec"="..\..\..\third_party\build\gsm\libgsmcodec.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "libilbccodec"="..\..\..\third_party\build\ilbc\libilbccodec.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "libportaudio"="..\..\..\third_party\build\portaudio\libportaudio.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "libresample"="..\..\..\third_party\build\resample\libresample.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "libspeex"="..\..\..\third_party\build\speex\libspeex.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "libsrtp"="..\..\..\third_party\build\srtp\libsrtp.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "pjlib_util_wince"="..\..\..\pjlib-util\build\wince-evc4\pjlib_util_wince.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "pjlib_wince"="..\..\..\pjlib\build\wince-evc4\pjlib_wince.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "pjmedia_codec_wince"=".\pjmedia_codec_wince.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "pjmedia_test"=".\pjmedia_test.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libgsmcodec + End Project Dependency + Begin Project Dependency + Project_Dep_Name libilbccodec + End Project Dependency + Begin Project Dependency + Project_Dep_Name libportaudio + End Project Dependency + Begin Project Dependency + Project_Dep_Name libresample + End Project Dependency + Begin Project Dependency + Project_Dep_Name libspeex + End Project Dependency + Begin Project Dependency + Project_Dep_Name libsrtp + End Project Dependency + Begin Project Dependency + Project_Dep_Name pjlib_util_wince + End Project Dependency + Begin Project Dependency + Project_Dep_Name pjlib_wince + End Project Dependency + Begin Project Dependency + Project_Dep_Name pjmedia_codec_wince + End Project Dependency + Begin Project Dependency + Project_Dep_Name pjmedia_wince + End Project Dependency + Begin Project Dependency + Project_Dep_Name pjnath_wince + End Project Dependency +}}} + +############################################################################### + +Project: "pjmedia_wince"=".\pjmedia_wince.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "pjnath_wince"="..\..\..\pjnath\build\wince-evc4\pjnath_wince.vcp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/pjmedia/docs/doxygen.cfg b/pjmedia/docs/doxygen.cfg new file mode 100644 index 0000000..7576c5d --- /dev/null +++ b/pjmedia/docs/doxygen.cfg @@ -0,0 +1,1005 @@ +# Doxyfile 1.3-rc3 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# General configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "PJMEDIA Reference" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = $(PJ_VERSION) + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = docs/$(PJ_VERSION) + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, +# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en +# (Japanese with english messages), Korean, Norwegian, Polish, Portuguese, +# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish and Ukrainian. + +OUTPUT_LANGUAGE = English + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these class will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = NO + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited +# members of a class in the documentation of that class as if those members were +# ordinary class members. Constructors, destructors and assignment operators of +# the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. It is allowed to use relative paths in the argument list. + +STRIP_FROM_PATH = "/c/project/pjproject/pjmedia" + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower case letters. If set to YES upper case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# users are adviced to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explict @brief command for a brief description. + +JAVADOC_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = YES + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# reimplements. + +INHERIT_DOCS = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = NO + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consist of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. +# For instance some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources +# only. Doxygen will then generate output that is more tailored for Java. +# For instance namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +TYPEDEF_HIDES_STRUCT = YES + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = NO + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = include ../pjsip-apps/src/samples + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# *.h++ *.idl *.odl + +FILE_PATTERNS = *.h *.c + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = *_i.h + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories +# that are symbolic links (a Unix filesystem feature) are excluded from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. + +EXCLUDE_PATTERNS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = ../pjsip-apps/src/samples + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = docs + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. + +INPUT_FILTER = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .htm + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = docs/header.html + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = docs/footer.html + +# The HTML_STYLESHEET tag can be used to specify a user defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet + +HTML_STYLESHEET = ../pjlib/docs/doxygen.css + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output dir. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non empty doxygen will try to run +# the html help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the Html help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 1 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimised for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assigments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_XML = NO + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = YES + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_PREDEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. + +PREDEFINED = PJ_DECL(x)=x PJ_DEF(x)=x PJ_IDECL(x)=x \ + PJ_IDEF(x)=x PJ_INLINE(x)=x \ + PJ_DECL_DATA(x)=x \ + PJ_DECL_NO_RETURN(x)=x \ + PJ_NO_RETURN=x \ + PJ_HAS_HIGH_RES_TIMER=1 \ + PJ_LOG_MAX_LEVEL=4 \ + PJ_HAS_SEMAPHORE=1 \ + PJ_HAS_EVENT_OBJ=1 \ + PJ_HAS_TCP=1 \ + PJMEDIA_HAS_SRTP=1 \ + PJMEDIA_STREAM_ENABLE_KA=1 + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse the +# parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES tag can be used to specify one or more tagfiles. + +TAGFILES = ../pjlib/docs/pjlib.tag=../../../pjlib/docs/html ../pjlib-util/docs/pjlib-util.tag=../../../pjlib-util/docs/html ../pjnath/docs/pjnath.tag=../../../pjnath/docs/html ../pjsip/docs/pjmedia.tag=../../../pjmedia/docs/html + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = docs/pjmedia.tag + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = NO + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +#PERL_PATH = /usr/bin/perl +PERL_PATH = /c/Perl/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or +# super classes. Setting the tag to NO turns the diagrams off. Note that this +# option is superceded by the HAVE_DOT option below. This is only a fallback. It is +# recommended to install and use dot, since it yield more powerful graphs. + +CLASS_DIAGRAMS = NO + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermedate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::addtions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO + diff --git a/pjmedia/docs/footer.html b/pjmedia/docs/footer.html new file mode 100644 index 0000000..ec5a45f --- /dev/null +++ b/pjmedia/docs/footer.html @@ -0,0 +1,8 @@ +

 

+
+PJMEDIA small footprint Open Source media stack
+Copyright (C) 2006-2008 Teluu Inc. +
+ + + diff --git a/pjmedia/docs/header.html b/pjmedia/docs/header.html new file mode 100644 index 0000000..4b78a04 --- /dev/null +++ b/pjmedia/docs/header.html @@ -0,0 +1,8 @@ + + +$title ($projectnumber) + + + + +

Home --> Documentations --> PJMEDIA Reference

diff --git a/pjmedia/docs/master-port.jpg b/pjmedia/docs/master-port.jpg new file mode 100644 index 0000000..83238b4 Binary files /dev/null and b/pjmedia/docs/master-port.jpg differ diff --git a/pjmedia/docs/media-flow.jpg b/pjmedia/docs/media-flow.jpg new file mode 100644 index 0000000..5acac88 Binary files /dev/null and b/pjmedia/docs/media-flow.jpg differ diff --git a/pjmedia/docs/media-flow.vsd b/pjmedia/docs/media-flow.vsd new file mode 100644 index 0000000..3204365 Binary files /dev/null and b/pjmedia/docs/media-flow.vsd differ diff --git a/pjmedia/docs/media-srtp-transport.PNG b/pjmedia/docs/media-srtp-transport.PNG new file mode 100644 index 0000000..9e2623c Binary files /dev/null and b/pjmedia/docs/media-srtp-transport.PNG differ diff --git a/pjmedia/docs/media-transport.PNG b/pjmedia/docs/media-transport.PNG new file mode 100644 index 0000000..2e3f3a2 Binary files /dev/null and b/pjmedia/docs/media-transport.PNG differ diff --git a/pjmedia/docs/sample-manual-resampling.jpg b/pjmedia/docs/sample-manual-resampling.jpg new file mode 100644 index 0000000..a25b334 Binary files /dev/null and b/pjmedia/docs/sample-manual-resampling.jpg differ diff --git a/pjmedia/docs/siprtp.jpg b/pjmedia/docs/siprtp.jpg new file mode 100644 index 0000000..975f1fa Binary files /dev/null and b/pjmedia/docs/siprtp.jpg differ diff --git a/pjmedia/docs/sndtest.jpg b/pjmedia/docs/sndtest.jpg new file mode 100644 index 0000000..ba1ab98 Binary files /dev/null and b/pjmedia/docs/sndtest.jpg differ diff --git a/pjmedia/include/pjmedia-audiodev/audiodev.h b/pjmedia/include/pjmedia-audiodev/audiodev.h new file mode 100644 index 0000000..9e2843a --- /dev/null +++ b/pjmedia/include/pjmedia-audiodev/audiodev.h @@ -0,0 +1,729 @@ +/* $Id: audiodev.h 5110 2015-06-18 06:06:02Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_AUDIODEV_AUDIODEV_H__ +#define __PJMEDIA_AUDIODEV_AUDIODEV_H__ + +/** + * @file audiodev.h + * @brief Audio device API. + */ +#include +#include +#include +#include +#include +#include + + +PJ_BEGIN_DECL + +/** + * @defgroup s2_audio_device_reference Audio Device API Reference + * @ingroup audio_device_api + * @brief API Reference + * @{ + */ + +/** + * Type for device index. + */ +typedef pj_int32_t pjmedia_aud_dev_index; + +/** + * Device index constants. + */ +enum +{ + /** + * Constant to denote default capture device + */ + PJMEDIA_AUD_DEFAULT_CAPTURE_DEV = -1, + + /** + * Constant to denote default playback device + */ + PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV = -2, + + /** + * Constant to denote invalid device index. + */ + PJMEDIA_AUD_INVALID_DEV = -3 +}; + + +/** + * This enumeration identifies various audio device capabilities. These audio + * capabilities indicates what features are supported by the underlying + * audio device implementation. + * + * Applications get these capabilities in the #pjmedia_aud_dev_info structure. + * + * Application can also set the specific features/capabilities when opening + * the audio stream by setting the \a flags member of #pjmedia_aud_param + * structure. + * + * Once audio stream is running, application can also retrieve or set some + * specific audio capability, by using #pjmedia_aud_stream_get_cap() and + * #pjmedia_aud_stream_set_cap() and specifying the desired capability. The + * value of the capability is specified as pointer, and application needs to + * supply the pointer with the correct value, according to the documentation + * of each of the capability. + */ +typedef enum pjmedia_aud_dev_cap +{ + /** + * Support for audio formats other than PCM. The value of this capability + * is represented by #pjmedia_format structure. + */ + PJMEDIA_AUD_DEV_CAP_EXT_FORMAT = 1, + + /** + * Support for audio input latency control or query. The value of this + * capability is an unsigned integer containing milliseconds value of + * the latency. + */ + PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY = 2, + + /** + * Support for audio output latency control or query. The value of this + * capability is an unsigned integer containing milliseconds value of + * the latency. + */ + PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY = 4, + + /** + * Support for setting/retrieving the audio input device volume level. + * The value of this capability is an unsigned integer representing + * the input audio volume setting in percent. + */ + PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING = 8, + + /** + * Support for setting/retrieving the audio output device volume level. + * The value of this capability is an unsigned integer representing + * the output audio volume setting in percent. + */ + PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING = 16, + + /** + * Support for monitoring the current audio input signal volume. + * The value of this capability is an unsigned integer representing + * the audio volume in percent. + */ + PJMEDIA_AUD_DEV_CAP_INPUT_SIGNAL_METER = 32, + + /** + * Support for monitoring the current audio output signal volume. + * The value of this capability is an unsigned integer representing + * the audio volume in percent. + */ + PJMEDIA_AUD_DEV_CAP_OUTPUT_SIGNAL_METER = 64, + + /** + * Support for audio input routing. The value of this capability is an + * integer containing #pjmedia_aud_dev_route enumeration. + */ + PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE = 128, + + /** + * Support for audio output routing (e.g. loudspeaker vs earpiece). The + * value of this capability is an integer containing #pjmedia_aud_dev_route + * enumeration. + */ + PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE = 256, + + /** + * The audio device has echo cancellation feature. The value of this + * capability is a pj_bool_t containing boolean PJ_TRUE or PJ_FALSE. + */ + PJMEDIA_AUD_DEV_CAP_EC = 512, + + /** + * The audio device supports setting echo cancellation fail length. The + * value of this capability is an unsigned integer representing the + * echo tail in milliseconds. + */ + PJMEDIA_AUD_DEV_CAP_EC_TAIL = 1024, + + /** + * The audio device has voice activity detection feature. The value + * of this capability is a pj_bool_t containing boolean PJ_TRUE or + * PJ_FALSE. + */ + PJMEDIA_AUD_DEV_CAP_VAD = 2048, + + /** + * The audio device has comfort noise generation feature. The value + * of this capability is a pj_bool_t containing boolean PJ_TRUE or + * PJ_FALSE. + */ + PJMEDIA_AUD_DEV_CAP_CNG = 4096, + + /** + * The audio device has packet loss concealment feature. The value + * of this capability is a pj_bool_t containing boolean PJ_TRUE or + * PJ_FALSE. + */ + PJMEDIA_AUD_DEV_CAP_PLC = 8192, + + /** + * End of capability + */ + PJMEDIA_AUD_DEV_CAP_MAX = 16384 + +} pjmedia_aud_dev_cap; + + +/** + * This enumeration describes audio routing setting. + */ +typedef enum pjmedia_aud_dev_route +{ + /** + * Default route, it is the default audio route of the audio framework + * backend, as in opening audio device without specifying any route + * setting or with specifying neutral route setting. + */ + PJMEDIA_AUD_DEV_ROUTE_DEFAULT = 0, + + /** Route to loudspeaker */ + PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER = 1, + + /** Route to earpiece */ + PJMEDIA_AUD_DEV_ROUTE_EARPIECE = 2, + + /** Route to paired Bluetooth device */ + PJMEDIA_AUD_DEV_ROUTE_BLUETOOTH = 4 + +} pjmedia_aud_dev_route; + + +/** + * Device information structure returned by #pjmedia_aud_dev_get_info(). + */ +typedef struct pjmedia_aud_dev_info +{ + /** + * The device name + */ + char name[64]; + + /** + * Maximum number of input channels supported by this device. If the + * value is zero, the device does not support input operation (i.e. + * it is a playback only device). + */ + unsigned input_count; + + /** + * Maximum number of output channels supported by this device. If the + * value is zero, the device does not support output operation (i.e. + * it is an input only device). + */ + unsigned output_count; + + /** + * Default sampling rate. + */ + unsigned default_samples_per_sec; + + /** + * The underlying driver name + */ + char driver[32]; + + /** + * Device capabilities, as bitmask combination of #pjmedia_aud_dev_cap. + */ + unsigned caps; + + /** + * Supported audio device routes, as bitmask combination of + * #pjmedia_aud_dev_route. The value may be zero if the device + * does not support audio routing. + */ + unsigned routes; + + /** + * Number of audio formats supported by this device. The value may be + * zero if the device does not support non-PCM format. + */ + unsigned ext_fmt_cnt; + + /** + * Array of supported extended audio formats + */ + pjmedia_format ext_fmt[8]; + + +} pjmedia_aud_dev_info; + + +/** + * This callback is called by player stream when it needs additional data + * to be played by the device. Application must fill in the whole of output + * buffer with audio samples. + * + * The frame argument contains the following values: + * - timestamp Playback timestamp, in samples. + * - buf Buffer to be filled out by application. + * - size The size requested in bytes, which will be equal to + * the size of one whole packet. + * + * @param user_data User data associated with the stream. + * @param frame Audio frame, which buffer is to be filled in by + * the application. + * + * @return Returning non-PJ_SUCCESS will cause the audio stream + * to stop + */ +typedef pj_status_t (*pjmedia_aud_play_cb)(void *user_data, + pjmedia_frame *frame); + +/** + * This callback is called by recorder stream when it has captured the whole + * packet worth of audio samples. + * + * @param user_data User data associated with the stream. + * @param frame Captured frame. + * + * @return Returning non-PJ_SUCCESS will cause the audio stream + * to stop + */ +typedef pj_status_t (*pjmedia_aud_rec_cb)(void *user_data, + pjmedia_frame *frame); + +/** + * This structure specifies the parameters to open the audio stream. + */ +typedef struct pjmedia_aud_param +{ + /** + * The audio direction. This setting is mandatory. + */ + pjmedia_dir dir; + + /** + * The audio recorder device ID. This setting is mandatory if the audio + * direction includes input/capture direction. + */ + pjmedia_aud_dev_index rec_id; + + /** + * The audio playback device ID. This setting is mandatory if the audio + * direction includes output/playback direction. + */ + pjmedia_aud_dev_index play_id; + + /** + * Clock rate/sampling rate. This setting is mandatory. + */ + unsigned clock_rate; + + /** + * Number of channels. This setting is mandatory. + */ + unsigned channel_count; + + /** + * Number of samples per frame. This setting is mandatory. + */ + unsigned samples_per_frame; + + /** + * Number of bits per sample. This setting is mandatory. + */ + unsigned bits_per_sample; + + /** + * This flags specifies which of the optional settings are valid in this + * structure. The flags is bitmask combination of pjmedia_aud_dev_cap. + */ + unsigned flags; + + /** + * Set the audio format. This setting is optional, and will only be used + * if PJMEDIA_AUD_DEV_CAP_EXT_FORMAT is set in the flags. + */ + pjmedia_format ext_fmt; + + /** + * Input latency, in milliseconds. This setting is optional, and will + * only be used if PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY is set in the flags. + */ + unsigned input_latency_ms; + + /** + * Input latency, in milliseconds. This setting is optional, and will + * only be used if PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY is set in the flags. + */ + unsigned output_latency_ms; + + /** + * Input volume setting, in percent. This setting is optional, and will + * only be used if PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING is set in + * the flags. + */ + unsigned input_vol; + + /** + * Output volume setting, in percent. This setting is optional, and will + * only be used if PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING is set in + * the flags. + */ + unsigned output_vol; + + /** + * Set the audio input route. This setting is optional, and will only be + * used if PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE is set in the flags. + */ + pjmedia_aud_dev_route input_route; + + /** + * Set the audio output route. This setting is optional, and will only be + * used if PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE is set in the flags. + */ + pjmedia_aud_dev_route output_route; + + /** + * Enable/disable echo canceller, if the device supports it. This setting + * is optional, and will only be used if PJMEDIA_AUD_DEV_CAP_EC is set in + * the flags. + */ + pj_bool_t ec_enabled; + + /** + * Set echo canceller tail length in milliseconds, if the device supports + * it. This setting is optional, and will only be used if + * PJMEDIA_AUD_DEV_CAP_EC_TAIL is set in the flags. + */ + unsigned ec_tail_ms; + + /** + * Enable/disable PLC. This setting is optional, and will only be used + * if PJMEDIA_AUD_DEV_CAP_PLC is set in the flags. + */ + pj_bool_t plc_enabled; + + /** + * Enable/disable CNG. This setting is optional, and will only be used + * if PJMEDIA_AUD_DEV_CAP_CNG is set in the flags. + */ + pj_bool_t cng_enabled; + + /** + * Enable/disable VAD. This setting is optional, and will only be used + * if PJMEDIA_AUD_DEV_CAP_VAD is set in the flags. + */ + pj_bool_t vad_enabled; + +} pjmedia_aud_param; + + +/** Forward declaration for pjmedia_aud_stream */ +typedef struct pjmedia_aud_stream pjmedia_aud_stream; + +/** Forward declaration for audio device factory */ +typedef struct pjmedia_aud_dev_factory pjmedia_aud_dev_factory; + +/* typedef for factory creation function */ +typedef pjmedia_aud_dev_factory* +(*pjmedia_aud_dev_factory_create_func_ptr)(pj_pool_factory*); + + +/** + * Get string info for the specified capability. + * + * @param cap The capability ID. + * @param p_desc Optional pointer which will be filled with longer + * description about the capability. + * + * @return Capability name. + */ +PJ_DECL(const char*) pjmedia_aud_dev_cap_name(pjmedia_aud_dev_cap cap, + const char **p_desc); + + +/** + * Set a capability field value in #pjmedia_aud_param structure. This will + * also set the flags field for the specified capability in the structure. + * + * @param param The structure. + * @param cap The audio capability which value is to be set. + * @param pval Pointer to value. Please see the type of value to + * be supplied in the pjmedia_aud_dev_cap documentation. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_aud_param_set_cap(pjmedia_aud_param *param, + pjmedia_aud_dev_cap cap, + const void *pval); + + +/** + * Get a capability field value from #pjmedia_aud_param structure. This + * function will return PJMEDIA_EAUD_INVCAP error if the flag for that + * capability is not set in the flags field in the structure. + * + * @param param The structure. + * @param cap The audio capability which value is to be retrieved. + * @param pval Pointer to value. Please see the type of value to + * be supplied in the pjmedia_aud_dev_cap documentation. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_aud_param_get_cap(const pjmedia_aud_param *param, + pjmedia_aud_dev_cap cap, + void *pval); + +/** + * Initialize the audio subsystem. This will register all supported audio + * device factories to the audio subsystem. This function may be called + * more than once, but each call to this function must have the + * corresponding #pjmedia_aud_subsys_shutdown() call. + * + * @param pf The pool factory. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_aud_subsys_init(pj_pool_factory *pf); + + +/** + * Get the pool factory registered to the audio subsystem. + * + * @return The pool factory. + */ +PJ_DECL(pj_pool_factory*) pjmedia_aud_subsys_get_pool_factory(void); + + +/** + * Shutdown the audio subsystem. This will destroy all audio device factories + * registered in the audio subsystem. Note that currently opened audio streams + * may or may not be closed, depending on the implementation of the audio + * device factories. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_aud_subsys_shutdown(void); + + +/** + * Register a supported audio device factory to the audio subsystem. This + * function can only be called after calling #pjmedia_aud_subsys_init(). + * + * @param adf The audio device factory. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) +pjmedia_aud_register_factory(pjmedia_aud_dev_factory_create_func_ptr adf); + + +/** + * Unregister an audio device factory from the audio subsystem. This + * function can only be called after calling #pjmedia_aud_subsys_init(). + * Devices from this factory will be unlisted. If a device from this factory + * is currently in use, then the behavior is undefined. + * + * @param adf The audio device factory. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) +pjmedia_aud_unregister_factory(pjmedia_aud_dev_factory_create_func_ptr adf); + + +/** + * Refresh the list of sound devices installed in the system. This function + * will only refresh the list of audio device so all active audio streams will + * be unaffected. After refreshing the device list, application MUST make sure + * to update all index references to audio devices (i.e. all variables of type + * pjmedia_aud_dev_index) before calling any function that accepts audio device + * index as its parameter. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_aud_dev_refresh(void); + + +/** + * Get the number of sound devices installed in the system. + * + * @return The number of sound devices installed in the system. + */ +PJ_DECL(unsigned) pjmedia_aud_dev_count(void); + + +/** + * Get device information. + * + * @param id The audio device ID. + * @param info The device information which will be filled in by this + * function once it returns successfully. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_aud_dev_get_info(pjmedia_aud_dev_index id, + pjmedia_aud_dev_info *info); + + +/** + * Lookup device index based on the driver and device name. + * + * @param drv_name The driver name. + * @param dev_name The device name. + * @param id Pointer to store the returned device ID. + * + * @return PJ_SUCCESS if the device can be found. + */ +PJ_DECL(pj_status_t) pjmedia_aud_dev_lookup(const char *drv_name, + const char *dev_name, + pjmedia_aud_dev_index *id); + + +/** + * Initialize the audio device parameters with default values for the + * specified device. + * + * @param id The audio device ID. + * @param param The audio device parameters which will be initialized + * by this function once it returns successfully. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_aud_dev_default_param(pjmedia_aud_dev_index id, + pjmedia_aud_param *param); + + +/** + * Open audio stream object using the specified parameters. + * + * @param param Sound device parameters to be used for the stream. + * @param rec_cb Callback to be called on every input frame captured. + * @param play_cb Callback to be called everytime the sound device needs + * audio frames to be played back. + * @param user_data Arbitrary user data, which will be given back in the + * callbacks. + * @param p_strm Pointer to receive the audio stream. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_aud_stream_create(const pjmedia_aud_param *param, + pjmedia_aud_rec_cb rec_cb, + pjmedia_aud_play_cb play_cb, + void *user_data, + pjmedia_aud_stream **p_strm); + +/** + * Get the running parameters for the specified audio stream. + * + * @param strm The audio stream. + * @param param Audio stream parameters to be filled in by this + * function once it returns successfully. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_aud_stream_get_param(pjmedia_aud_stream *strm, + pjmedia_aud_param *param); + +/** + * Get the value of a specific capability of the audio stream. + * + * @param strm The audio stream. + * @param cap The audio capability which value is to be retrieved. + * @param value Pointer to value to be filled in by this function + * once it returns successfully. Please see the type + * of value to be supplied in the pjmedia_aud_dev_cap + * documentation. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_aud_stream_get_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + void *value); + +/** + * Set the value of a specific capability of the audio stream. + * + * @param strm The audio stream. + * @param cap The audio capability which value is to be set. + * @param value Pointer to value. Please see the type of value to + * be supplied in the pjmedia_aud_dev_cap documentation. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_aud_stream_set_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + const void *value); + +/** + * Start the stream. + * + * @param strm The audio stream. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_aud_stream_start(pjmedia_aud_stream *strm); + +/** + * Stop the stream. + * + * @param strm The audio stream. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_aud_stream_stop(pjmedia_aud_stream *strm); + +/** + * Destroy the stream. + * + * @param strm The audio stream. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_aud_stream_destroy(pjmedia_aud_stream *strm); + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJMEDIA_AUDIODEV_AUDIODEV_H__ */ + diff --git a/pjmedia/include/pjmedia-audiodev/audiodev_imp.h b/pjmedia/include/pjmedia-audiodev/audiodev_imp.h new file mode 100644 index 0000000..65088f5 --- /dev/null +++ b/pjmedia/include/pjmedia-audiodev/audiodev_imp.h @@ -0,0 +1,188 @@ +/* $Id: audiodev_imp.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __AUDIODEV_IMP_H__ +#define __AUDIODEV_IMP_H__ + +#include + +/** + * @defgroup s8_audio_device_implementors_api Audio Device Implementors API + * @ingroup audio_device_api + * @brief API for audio device implementors + * @{ + */ + +/** + * Sound device factory operations. + */ +typedef struct pjmedia_aud_dev_factory_op +{ + /** + * Initialize the audio device factory. + * + * @param f The audio device factory. + */ + pj_status_t (*init)(pjmedia_aud_dev_factory *f); + + /** + * Close this audio device factory and release all resources back to the + * operating system. + * + * @param f The audio device factory. + */ + pj_status_t (*destroy)(pjmedia_aud_dev_factory *f); + + /** + * Get the number of audio devices installed in the system. + * + * @param f The audio device factory. + */ + unsigned (*get_dev_count)(pjmedia_aud_dev_factory *f); + + /** + * Get the audio device information and capabilities. + * + * @param f The audio device factory. + * @param index Device index. + * @param info The audio device information structure which will be + * initialized by this function once it returns + * successfully. + */ + pj_status_t (*get_dev_info)(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_dev_info *info); + + /** + * Initialize the specified audio device parameter with the default + * values for the specified device. + * + * @param f The audio device factory. + * @param index Device index. + * @param param The audio device parameter. + */ + pj_status_t (*default_param)(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_param *param); + + /** + * Open the audio device and create audio stream. See + * #pjmedia_aud_stream_create() + */ + pj_status_t (*create_stream)(pjmedia_aud_dev_factory *f, + const pjmedia_aud_param *param, + pjmedia_aud_rec_cb rec_cb, + pjmedia_aud_play_cb play_cb, + void *user_data, + pjmedia_aud_stream **p_aud_strm); + + /** + * Refresh the list of audio devices installed in the system. + * + * @param f The audio device factory. + */ + pj_status_t (*refresh)(pjmedia_aud_dev_factory *f); + +} pjmedia_aud_dev_factory_op; + + +/** + * This structure describes an audio device factory. + */ +struct pjmedia_aud_dev_factory +{ + /** Internal data to be initialized by audio subsystem. */ + struct { + /** Driver index */ + unsigned drv_idx; + } sys; + + /** Operations */ + pjmedia_aud_dev_factory_op *op; +}; + + +/** + * Sound stream operations. + */ +typedef struct pjmedia_aud_stream_op +{ + /** + * See #pjmedia_aud_stream_get_param() + */ + pj_status_t (*get_param)(pjmedia_aud_stream *strm, + pjmedia_aud_param *param); + + /** + * See #pjmedia_aud_stream_get_cap() + */ + pj_status_t (*get_cap)(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + void *value); + + /** + * See #pjmedia_aud_stream_set_cap() + */ + pj_status_t (*set_cap)(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + const void *value); + + /** + * See #pjmedia_aud_stream_start() + */ + pj_status_t (*start)(pjmedia_aud_stream *strm); + + /** + * See #pjmedia_aud_stream_stop(). + */ + pj_status_t (*stop)(pjmedia_aud_stream *strm); + + /** + * See #pjmedia_aud_stream_destroy(). + */ + pj_status_t (*destroy)(pjmedia_aud_stream *strm); + +} pjmedia_aud_stream_op; + + +/** + * This structure describes the audio device stream. + */ +struct pjmedia_aud_stream +{ + /** Internal data to be initialized by audio subsystem */ + struct { + /** Driver index */ + unsigned drv_idx; + } sys; + + /** Operations */ + pjmedia_aud_stream_op *op; +}; + + + + +/** + * @} + */ + + + +#endif /* __AUDIODEV_IMP_H__ */ diff --git a/pjmedia/include/pjmedia-audiodev/audiotest.h b/pjmedia/include/pjmedia-audiodev/audiotest.h new file mode 100644 index 0000000..97b5798 --- /dev/null +++ b/pjmedia/include/pjmedia-audiodev/audiotest.h @@ -0,0 +1,116 @@ +/* $Id: audiotest.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_AUDIODEV_AUDIOTEST_H__ +#define __PJMEDIA_AUDIODEV_AUDIOTEST_H__ + +/** + * @file audiotest.h + * @brief Audio test utility. + */ +#include + + +PJ_BEGIN_DECL + +/** + * @defgroup s30_audio_test_utility Audio tests utility. + * @ingroup audio_device_api + * @brief Audio test utility. + * @{ + */ + +/** + * Statistic for each direction. + */ +typedef struct pjmedia_aud_test_stat +{ + /** + * Number of frames processed during the test. + */ + unsigned frame_cnt; + + /** + * Minimum inter-frame arrival time, in milliseconds + */ + unsigned min_interval; + + /** + * Maximum inter-frame arrival time, in milliseconds + */ + unsigned max_interval; + + /** + * Average inter-frame arrival time, in milliseconds + */ + unsigned avg_interval; + + /** + * Standard deviation of inter-frame arrival time, in milliseconds + */ + unsigned dev_interval; + + /** + * Maximum number of frame burst + */ + unsigned max_burst; + +} pjmedia_aud_test_stat; + + +/** + * Test results. + */ +typedef struct pjmedia_aud_test_results +{ + /** + * Recording statistic. + */ + pjmedia_aud_test_stat rec; + + /** + * Playback statistic. + */ + pjmedia_aud_test_stat play; + + /** + * Clock drifts per second, in samples. Positive number indicates rec + * device is running faster than playback device. + */ + pj_int32_t rec_drift_per_sec; + +} pjmedia_aud_test_results; + + +/** + * Perform audio device testing. + */ +PJ_DECL(pj_status_t) pjmedia_aud_test(const pjmedia_aud_param *param, + pjmedia_aud_test_results *result); + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJMEDIA_AUDIODEV_AUDIOTEST_H__ */ + + diff --git a/pjmedia/include/pjmedia-audiodev/config.h b/pjmedia/include/pjmedia-audiodev/config.h new file mode 100644 index 0000000..dbb33a2 --- /dev/null +++ b/pjmedia/include/pjmedia-audiodev/config.h @@ -0,0 +1,484 @@ +/* $Id: config.h 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_AUDIODEV_CONFIG_H__ +#define __PJMEDIA_AUDIODEV_CONFIG_H__ + +/** + * @file config.h + * @brief Audio config. + */ +#include +#include + + +PJ_BEGIN_DECL + +/** + * @defgroup audio_device_api Audio Device API + * @brief PJMEDIA audio device abstraction API. + */ + +/** + * @defgroup s1_audio_device_config Compile time configurations + * @ingroup audio_device_api + * @brief Compile time configurations + * @{ + */ + +/** + * This setting controls whether PortAudio support should be included. + * + * By default it is enabled except on Windows platforms (including + * Windows Mobile) and Symbian. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO +# if (defined(PJ_WIN32) && PJ_WIN32!=0) || \ + (defined(PJ_WIN64) && PJ_WIN64!=0) || \ + (defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0) +# define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 0 +# else +# define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO 1 +# endif +#endif + +/** + * This setting controls whether Android OpenSL audio support should be + * included. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_OPENSL +# define PJMEDIA_AUDIO_DEV_HAS_OPENSL 0 +#endif + +/** + * This setting controls whether Android JNI audio support should be + * included. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI +# define PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI 0 +#endif + +/** + * This setting controls whether BlackBerry 10 (BB10) audio support + * should be included. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_BB10 +# define PJMEDIA_AUDIO_DEV_HAS_BB10 0 +#endif + +/** + * This setting controls whether native ALSA support should be included. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_ALSA +# define PJMEDIA_AUDIO_DEV_HAS_ALSA 0 +#endif + + +/** + * This setting controls whether null audio support should be included. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_NULL_AUDIO +# define PJMEDIA_AUDIO_DEV_HAS_NULL_AUDIO 0 +#endif + + +/** + * This setting controls whether coreaudio support should be included. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_COREAUDIO +# define PJMEDIA_AUDIO_DEV_HAS_COREAUDIO 0 +#endif + + +/** + * This setting controls whether WMME support should be included. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_WMME +# define PJMEDIA_AUDIO_DEV_HAS_WMME 1 +#endif + + +/** + * This setting controls whether BDIMAD support should be included. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_BDIMAD +# define PJMEDIA_AUDIO_DEV_HAS_BDIMAD 0 +#endif + + +/** + * This setting controls whether Symbian APS support should be included. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_SYMB_APS +# define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS 0 +#endif + + +/** + * This setting controls whether Symbian APS should perform codec + * detection in its factory initalization. Note that codec detection + * may take few seconds and detecting more codecs will take more time. + * Possible values are: + * - 0: no codec detection, all APS codec (AMR-NB, G.711, G.729, and + * iLBC) will be assumed as supported. + * - 1: minimal codec detection, i.e: only detect for AMR-NB and G.711, + * (G.729 and iLBC are considered to be supported/unsupported when + * G.711 is supported/unsupported). + * - 2: full codec detection, i.e: detect AMR-NB, G.711, G.729, and iLBC. + * + * Default: 1 (minimal codec detection) + */ +#ifndef PJMEDIA_AUDIO_DEV_SYMB_APS_DETECTS_CODEC +# define PJMEDIA_AUDIO_DEV_SYMB_APS_DETECTS_CODEC 1 +#endif + + +/** + * This setting controls whether Symbian VAS support should be included. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS +# define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS 0 +#endif + +/** + * This setting controls Symbian VAS version to be used. Currently, valid + * values are only 1 (for VAS 1.0) and 2 (for VAS 2.0). + * + * Default: 1 (VAS version 1.0) + */ +#ifndef PJMEDIA_AUDIO_DEV_SYMB_VAS_VERSION +# define PJMEDIA_AUDIO_DEV_SYMB_VAS_VERSION 1 +#endif + + +/** + * This setting controls whether Symbian audio (using built-in multimedia + * framework) support should be included. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA +# define PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA PJ_SYMBIAN +#endif + + +/** + * This setting controls whether the Symbian audio with built-in multimedia + * framework backend should be started synchronously. Note that synchronous + * start will block the application/UI, e.g: about 40ms for each direction + * on N95. While asynchronous start may cause invalid value (always zero) + * returned in input/output volume query, if the query is performed when + * the internal start procedure is not completely finished. + * + * Default: 1 (yes) + */ +#ifndef PJMEDIA_AUDIO_DEV_MDA_USE_SYNC_START +# define PJMEDIA_AUDIO_DEV_MDA_USE_SYNC_START 1 +#endif + + +/** + * This setting controls whether the Audio Device API should support + * device implementation that is based on the old sound device API + * (sound.h). + * + * Enable this API if: + * - you have implemented your own sound device using the old sound + * device API (sound.h), and + * - you wish to be able to use your sound device implementation + * using the new Audio Device API. + * + * Please see http://trac.pjsip.org/repos/wiki/Audio_Dev_API for more + * info. + */ +#ifndef PJMEDIA_AUDIO_DEV_HAS_LEGACY_DEVICE +# define PJMEDIA_AUDIO_DEV_HAS_LEGACY_DEVICE 0 +#endif + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJMEDIA_AUDIODEV_CONFIG_H__ */ + +/* + --------------------- DOCUMENTATION FOLLOWS --------------------------- + */ + +/** + * @addtogroup audio_device_api Audio Device API + * @{ + +PJMEDIA Audio Device API is a cross-platform audio API appropriate for use with +VoIP applications and many other types of audio streaming applications. + +The API abstracts many different audio API's on various platforms, such as: + - PortAudio back-end for Win32, Windows Mobile, Linux, Unix, dan MacOS X. + - native WMME audio for Win32 and Windows Mobile devices + - native Symbian audio streaming/multimedia framework (MMF) implementation + - native Nokia Audio Proxy Server (APS) implementation + - null-audio implementation + - and more to be implemented in the future + +The Audio Device API/library is an evolution from PJMEDIA @ref PJMED_SND and +contains many enhancements: + + - Forward compatibility: +\n + The new API has been designed to be extensible, it will support new API's as + well as new features that may be introduced in the future without breaking + compatibility with applications that use this API as well as compatibility + with existing device implementations. + + - Device capabilities: +\n + At the heart of the API is device capabilities management, where all possible + audio capabilities of audio devices should be able to be handled in a generic + manner. With this framework, new capabilities that may be discovered in the + future can be handled in manner without breaking existing applications. + + - Built-in features: +\n + The device capabilities framework enables applications to use and control + audio features built-in in the device, such as: + - echo cancellation, + - built-in codecs, + - audio routing (e.g. to earpiece or loudspeaker), + - volume control, + - etc. + + - Codec support: +\n + Some audio devices such as Nokia/Symbian Audio Proxy Server (APS) and Nokia + VoIP Audio Services (VAS) support built-in hardware audio codecs (e.g. G.729, + iLBC, and AMR), and application can use the sound device in encoded mode to + make use of these hardware codecs. + + - Multiple backends: +\n + The new API supports multiple audio backends (called factories or drivers in + the code) to be active simultaneously, and audio backends may be added or + removed during run-time. + + +@section using Overview on using the API + +@subsection getting_started Getting started + + -# Configure the application's project settings.\n + Add the following + include: + \code + #include \endcode\n + And add pjmedia-audiodev library to your application link + specifications.\n + -# Compile time settings.\n + Use the compile time settings to enable or + disable specific audio drivers. For more information, please see + \ref s1_audio_device_config. + -# API initialization and cleaning up.\n + Before anything else, application must initialize the API by calling: + \code + pjmedia_aud_subsys_init(pf);\endcode\n + And add this in the application cleanup sequence + \code + pjmedia_aud_subsys_shutdown();\endcode + +@subsection devices Working with devices + + -# The following code prints the list of audio devices detected + in the system. + \code + int dev_count; + pjmedia_aud_dev_index dev_idx; + pj_status_t status; + + dev_count = pjmedia_aud_dev_count(); + printf("Got %d audio devices\n", dev_count); + + for (dev_idx=0; dev_idx +#include + +/** + * @defgroup error_codes Error Codes + * @ingroup audio_device_api + * @brief Audio devive library specific error codes. + * @{ + */ + + +PJ_BEGIN_DECL + + +/** + * Start of error code relative to PJ_ERRNO_START_USER. + * This value is 420000. + */ +#define PJMEDIA_AUDIODEV_ERRNO_START \ + (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*5) +#define PJMEDIA_AUDIODEV_ERRNO_END \ + (PJMEDIA_AUDIODEV_ERRNO_START + PJ_ERRNO_SPACE_SIZE - 1) + + +/** + * Mapping from PortAudio error codes to pjmedia error space. + */ +#define PJMEDIA_AUDIODEV_PORTAUDIO_ERRNO_START \ + (PJMEDIA_AUDIODEV_ERRNO_END-10000) +#define PJMEDIA_AUDIODEV_PORTAUDIO_ERRNO_END \ + (PJMEDIA_AUDIODEV_PORTAUDIO_ERRNO_START + 10000 -1) +/** + * Convert PortAudio error code to PJLIB error code. + * PortAudio error code range: 0 >= err >= -10000 + */ +#define PJMEDIA_AUDIODEV_ERRNO_FROM_PORTAUDIO(err) \ + ((int)PJMEDIA_AUDIODEV_PORTAUDIO_ERRNO_START-err) + +/** + * Mapping from Windows multimedia WaveIn error codes. + */ +#define PJMEDIA_AUDIODEV_WMME_IN_ERROR_START \ + (PJMEDIA_AUDIODEV_ERRNO_START + 30000) +#define PJMEDIA_AUDIODEV_WMME_IN_ERROR_END \ + (PJMEDIA_AUDIODEV_WMME_IN_ERROR_START + 1000 - 1) +/** + * Convert WaveIn operation error codes to PJLIB error space. + */ +#define PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_IN(err) \ + ((int)PJMEDIA_AUDIODEV_WMME_IN_ERROR_START+err) + + +/** + * Mapping from Windows multimedia WaveOut error codes. + */ +#define PJMEDIA_AUDIODEV_WMME_OUT_ERROR_START \ + (PJMEDIA_AUDIODEV_WMME_IN_ERROR_END + 1000) +#define PJMEDIA_AUDIODEV_WMME_OUT_ERROR_END \ + (PJMEDIA_AUDIODEV_WMME_OUT_ERROR_START + 1000) +/** + * Convert WaveOut operation error codes to PJLIB error space. + */ +#define PJMEDIA_AUDIODEV_ERRNO_FROM_WMME_OUT(err) \ + ((int)PJMEDIA_AUDIODEV_WMME_OUT_ERROR_START+err) + + +/** + * Mapping from CoreAudio error codes to pjmedia error space. + */ +#define PJMEDIA_AUDIODEV_COREAUDIO_ERRNO_START \ + (PJMEDIA_AUDIODEV_ERRNO_START+20000) +#define PJMEDIA_AUDIODEV_COREAUDIO_ERRNO_END \ + (PJMEDIA_AUDIODEV_COREAUDIO_ERRNO_START + 20000 -1) +/** + * Convert CoreAudio error code to PJLIB error code. + * CoreAudio error code range: 0 >= err >= -10000 + */ +#define PJMEDIA_AUDIODEV_ERRNO_FROM_COREAUDIO(err) \ + ((int)PJMEDIA_AUDIODEV_COREAUDIO_ERRNO_START-err) + +/** + * Mapping from BDIMAD error codes to pjmedia error space. + */ +#define PJMEDIA_AUDIODEV_BDIMAD_ERROR_START \ + (PJMEDIA_AUDIODEV_ERRNO_START + 40000) +#define PJMEDIA_AUDIODEV_BDIMAD_ERROR_END \ + (PJMEDIA_AUDIODEV_BDIMAD_ERROR_START + 2000 - 1) +/** + * Convert BDIMAD error codes to PJLIB error space. + */ +#define PJMEDIA_AUDIODEV_ERRNO_FROM_BDIMAD(err) \ + ((int)PJMEDIA_AUDIODEV_BDIMAD_ERROR_START+err) + +/************************************************************ + * Audio Device API error codes + ***********************************************************/ +/** + * @hideinitializer + * General/unknown error. + */ +#define PJMEDIA_EAUD_ERR (PJMEDIA_AUDIODEV_ERRNO_START+1) /* 420001 */ + +/** + * @hideinitializer + * Unknown error from audio driver + */ +#define PJMEDIA_EAUD_SYSERR (PJMEDIA_AUDIODEV_ERRNO_START+2) /* 420002 */ + +/** + * @hideinitializer + * Audio subsystem not initialized + */ +#define PJMEDIA_EAUD_INIT (PJMEDIA_AUDIODEV_ERRNO_START+3) /* 420003 */ + +/** + * @hideinitializer + * Invalid audio device + */ +#define PJMEDIA_EAUD_INVDEV (PJMEDIA_AUDIODEV_ERRNO_START+4) /* 420004 */ + +/** + * @hideinitializer + * Found no devices + */ +#define PJMEDIA_EAUD_NODEV (PJMEDIA_AUDIODEV_ERRNO_START+5) /* 420005 */ + +/** + * @hideinitializer + * Unable to find default device + */ +#define PJMEDIA_EAUD_NODEFDEV (PJMEDIA_AUDIODEV_ERRNO_START+6) /* 420006 */ + +/** + * @hideinitializer + * Device not ready + */ +#define PJMEDIA_EAUD_NOTREADY (PJMEDIA_AUDIODEV_ERRNO_START+7) /* 420007 */ + +/** + * @hideinitializer + * The audio capability is invalid or not supported + */ +#define PJMEDIA_EAUD_INVCAP (PJMEDIA_AUDIODEV_ERRNO_START+8) /* 420008 */ + +/** + * @hideinitializer + * The operation is invalid or not supported + */ +#define PJMEDIA_EAUD_INVOP (PJMEDIA_AUDIODEV_ERRNO_START+9) /* 420009 */ + +/** + * @hideinitializer + * Bad or invalid audio device format + */ +#define PJMEDIA_EAUD_BADFORMAT (PJMEDIA_AUDIODEV_ERRNO_START+10) /* 4200010 */ + +/** + * @hideinitializer + * Invalid audio device sample format + */ +#define PJMEDIA_EAUD_SAMPFORMAT (PJMEDIA_AUDIODEV_ERRNO_START+11) /* 4200011 */ + +/** + * @hideinitializer + * Bad latency setting + */ +#define PJMEDIA_EAUD_BADLATENCY (PJMEDIA_AUDIODEV_ERRNO_START+12) /* 4200012 */ + + + + + +/** + * Get error message for the specified error code. Note that this + * function is only able to decode PJMEDIA Audiodev specific error code. + * Application should use pj_strerror(), which should be able to + * decode all error codes belonging to all subsystems (e.g. pjlib, + * pjmedia, pjsip, etc). + * + * @param status The error code. + * @param buffer The buffer where to put the error message. + * @param bufsize Size of the buffer. + * + * @return The error message as NULL terminated string, + * wrapped with pj_str_t. + */ +PJ_DECL(pj_str_t) pjmedia_audiodev_strerror(pj_status_t status, char *buffer, + pj_size_t bufsize); + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_AUDIODEV_AUDIODEV_ERRNO_H__ */ + diff --git a/pjmedia/include/pjmedia-codec.h b/pjmedia/include/pjmedia-codec.h new file mode 100644 index 0000000..b019be6 --- /dev/null +++ b/pjmedia/include/pjmedia-codec.h @@ -0,0 +1,44 @@ +/* $Id: pjmedia-codec.h 4815 2014-04-10 10:01:07Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_PJMEDIA_CODEC_H__ +#define __PJMEDIA_CODEC_PJMEDIA_CODEC_H__ + +/** + * @file pjmedia-codec.h + * @brief Include all codecs API in PJMEDIA-CODEC + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#endif /* __PJMEDIA_CODEC_PJMEDIA_CODEC_H__ */ + diff --git a/pjmedia/include/pjmedia-codec/amr_helper.h b/pjmedia/include/pjmedia-codec/amr_helper.h new file mode 100644 index 0000000..58c7417 --- /dev/null +++ b/pjmedia/include/pjmedia-codec/amr_helper.h @@ -0,0 +1,1237 @@ +/* $Id: amr_helper.h 5075 2015-04-22 09:03:23Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __PJMEDIA_CODECS_AMR_HELPER_H__ +#define __PJMEDIA_CODECS_AMR_HELPER_H__ + +/** + * @file pjmedia-codec/amr_helper.h + * @brief Common tables and helper functions for AMR codec (NB & WB). + */ + + +#ifdef _MSC_VER +# pragma warning(disable:4214) // bit field types other than int +#endif + +/** + * @defgroup PJMED_AMR_CODEC_HELPER AMR Codec Helper + * @ingroup PJMEDIA_CODEC_CODECS + * @brief AMR common tables and helper functions. + * @{ + * + * This sections describes common AMR constants tables (e.g: bits sensitivity + * order map, frame lengths, bitrates) and helper functions (e.g: pack AMR + * payload in octet-aligned mode or bandwidth-efficient mode, payload parser, + * reorder AMR bitstream). + */ + +PJ_BEGIN_DECL + + +/* AMR bits sensitivity order maps */ + +const pj_int16_t pjmedia_codec_amrnb_ordermap122[244] = +{ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 23, 15, 16, 17, 18, + 19, 20, 21, 22, 24, 25, 26, 27, 28, 38, + 141, 39, 142, 40, 143, 41, 144, 42, 145, 43, + 146, 44, 147, 45, 148, 46, 149, 47, 97, 150, + 200, 48, 98, 151, 201, 49, 99, 152, 202, 86, + 136, 189, 239, 87, 137, 190, 240, 88, 138, 191, + 241, 91, 194, 92, 195, 93, 196, 94, 197, 95, + 198, 29, 30, 31, 32, 33, 34, 35, 50, 100, + 153, 203, 89, 139, 192, 242, 51, 101, 154, 204, + 55, 105, 158, 208, 90, 140, 193, 243, 59, 109, + 162, 212, 63, 113, 166, 216, 67, 117, 170, 220, + 36, 37, 54, 53, 52, 58, 57, 56, 62, 61, + 60, 66, 65, 64, 70, 69, 68, 104, 103, 102, + 108, 107, 106, 112, 111, 110, 116, 115, 114, 120, + 119, 118, 157, 156, 155, 161, 160, 159, 165, 164, + 163, 169, 168, 167, 173, 172, 171, 207, 206, 205, + 211, 210, 209, 215, 214, 213, 219, 218, 217, 223, + 222, 221, 73, 72, 71, 76, 75, 74, 79, 78, + 77, 82, 81, 80, 85, 84, 83, 123, 122, 121, + 126, 125, 124, 129, 128, 127, 132, 131, 130, 135, + 134, 133, 176, 175, 174, 179, 178, 177, 182, 181, + 180, 185, 184, 183, 188, 187, 186, 226, 225, 224, + 229, 228, 227, 232, 231, 230, 235, 234, 233, 238, + 237, 236, 96, 199 +}; + +const pj_int16_t pjmedia_codec_amrnb_ordermap102[204] = +{ + 7, 6, 5, 4, 3, 2, 1, 0, 16, 15, + 14, 13, 12, 11, 10, 9, 8, 26, 27, 28, + 29, 30, 31, 115, 116, 117, 118, 119, 120, 72, + 73, 161, 162, 65, 68, 69, 108, 111, 112, 154, + 157, 158, 197, 200, 201, 32, 33, 121, 122, 74, + 75, 163, 164, 66, 109, 155, 198, 19, 23, 21, + 22, 18, 17, 20, 24, 25, 37, 36, 35, 34, + 80, 79, 78, 77, 126, 125, 124, 123, 169, 168, + 167, 166, 70, 67, 71, 113, 110, 114, 159, 156, + 160, 202, 199, 203, 76, 165, 81, 82, 92, 91, + 93, 83, 95, 85, 84, 94, 101, 102, 96, 104, + 86, 103, 87, 97, 127, 128, 138, 137, 139, 129, + 141, 131, 130, 140, 147, 148, 142, 150, 132, 149, + 133, 143, 170, 171, 181, 180, 182, 172, 184, 174, + 173, 183, 190, 191, 185, 193, 175, 192, 176, 186, + 38, 39, 49, 48, 50, 40, 52, 42, 41, 51, + 58, 59, 53, 61, 43, 60, 44, 54, 194, 179, + 189, 196, 177, 195, 178, 187, 188, 151, 136, 146, + 153, 134, 152, 135, 144, 145, 105, 90, 100, 107, + 88, 106, 89, 98, 99, 62, 47, 57, 64, 45, + 63, 46, 55, 56 +}; + +const pj_int16_t pjmedia_codec_amrnb_ordermap795[159] = +{ + 8, 7, 6, 5, 4, 3, 2, 14, 16, 9, + 10, 12, 13, 15, 11, 17, 20, 22, 24, 23, + 19, 18, 21, 56, 88, 122, 154, 57, 89, 123, + 155, 58, 90, 124, 156, 52, 84, 118, 150, 53, + 85, 119, 151, 27, 93, 28, 94, 29, 95, 30, + 96, 31, 97, 61, 127, 62, 128, 63, 129, 59, + 91, 125, 157, 32, 98, 64, 130, 1, 0, 25, + 26, 33, 99, 34, 100, 65, 131, 66, 132, 54, + 86, 120, 152, 60, 92, 126, 158, 55, 87, 121, + 153, 117, 116, 115, 46, 78, 112, 144, 43, 75, + 109, 141, 40, 72, 106, 138, 36, 68, 102, 134, + 114, 149, 148, 147, 146, 83, 82, 81, 80, 51, + 50, 49, 48, 47, 45, 44, 42, 39, 35, 79, + 77, 76, 74, 71, 67, 113, 111, 110, 108, 105, + 101, 145, 143, 142, 140, 137, 133, 41, 73, 107, + 139, 37, 69, 103, 135, 38, 70, 104, 136 +}; + +const pj_int16_t pjmedia_codec_amrnb_ordermap74[148] = +{ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 26, 87, 27, + 88, 28, 89, 29, 90, 30, 91, 51, 80, 112, + 141, 52, 81, 113, 142, 54, 83, 115, 144, 55, + 84, 116, 145, 58, 119, 59, 120, 21, 22, 23, + 17, 18, 19, 31, 60, 92, 121, 56, 85, 117, + 146, 20, 24, 25, 50, 79, 111, 140, 57, 86, + 118, 147, 49, 78, 110, 139, 48, 77, 53, 82, + 114, 143, 109, 138, 47, 76, 108, 137, 32, 33, + 61, 62, 93, 94, 122, 123, 41, 42, 43, 44, + 45, 46, 70, 71, 72, 73, 74, 75, 102, 103, + 104, 105, 106, 107, 131, 132, 133, 134, 135, 136, + 34, 63, 95, 124, 35, 64, 96, 125, 36, 65, + 97, 126, 37, 66, 98, 127, 38, 67, 99, 128, + 39, 68, 100, 129, 40, 69, 101, 130 +}; + +const pj_int16_t pjmedia_codec_amrnb_ordermap67[134] = +{ + 0, 1, 4, 3, 5, 6, 13, 7, 2, 8, + 9, 11, 15, 12, 14, 10, 28, 82, 29, 83, + 27, 81, 26, 80, 30, 84, 16, 55, 109, 56, + 110, 31, 85, 57, 111, 48, 73, 102, 127, 32, + 86, 51, 76, 105, 130, 52, 77, 106, 131, 58, + 112, 33, 87, 19, 23, 53, 78, 107, 132, 21, + 22, 18, 17, 20, 24, 25, 50, 75, 104, 129, + 47, 72, 101, 126, 54, 79, 108, 133, 46, 71, + 100, 125, 128, 103, 74, 49, 45, 70, 99, 124, + 42, 67, 96, 121, 39, 64, 93, 118, 38, 63, + 92, 117, 35, 60, 89, 114, 34, 59, 88, 113, + 44, 69, 98, 123, 43, 68, 97, 122, 41, 66, + 95, 120, 40, 65, 94, 119, 37, 62, 91, 116, + 36, 61, 90, 115 +}; + +const pj_int16_t pjmedia_codec_amrnb_ordermap59[118] = +{ + 0, 1, 4, 5, 3, 6, 7, 2, 13, 15, + 8, 9, 11, 12, 14, 10, 16, 28, 74, 29, + 75, 27, 73, 26, 72, 30, 76, 51, 97, 50, + 71, 96, 117, 31, 77, 52, 98, 49, 70, 95, + 116, 53, 99, 32, 78, 33, 79, 48, 69, 94, + 115, 47, 68, 93, 114, 46, 67, 92, 113, 19, + 21, 23, 22, 18, 17, 20, 24, 111, 43, 89, + 110, 64, 65, 44, 90, 25, 45, 66, 91, 112, + 54, 100, 40, 61, 86, 107, 39, 60, 85, 106, + 36, 57, 82, 103, 35, 56, 81, 102, 34, 55, + 80, 101, 42, 63, 88, 109, 41, 62, 87, 108, + 38, 59, 84, 105, 37, 58, 83, 104 +}; + +const pj_int16_t pjmedia_codec_amrnb_ordermap515[103] = +{ + 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, + 13, 12, 11, 10, 9, 8, 23, 24, 25, 26, + 27, 46, 65, 84, 45, 44, 43, 64, 63, 62, + 83, 82, 81, 102, 101, 100, 42, 61, 80, 99, + 28, 47, 66, 85, 18, 41, 60, 79, 98, 29, + 48, 67, 17, 20, 22, 40, 59, 78, 97, 21, + 30, 49, 68, 86, 19, 16, 87, 39, 38, 58, + 57, 77, 35, 54, 73, 92, 76, 96, 95, 36, + 55, 74, 93, 32, 51, 33, 52, 70, 71, 89, + 90, 31, 50, 69, 88, 37, 56, 75, 94, 34, + 53, 72, 91 +}; + +const pj_int16_t pjmedia_codec_amrnb_ordermap475[95] = +{ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 23, 24, 25, 26, + 27, 28, 48, 49, 61, 62, 82, 83, 47, 46, + 45, 44, 81, 80, 79, 78, 17, 18, 20, 22, + 77, 76, 75, 74, 29, 30, 43, 42, 41, 40, + 38, 39, 16, 19, 21, 50, 51, 59, 60, 63, + 64, 72, 73, 84, 85, 93, 94, 32, 33, 35, + 36, 53, 54, 56, 57, 66, 67, 69, 70, 87, + 88, 90, 91, 34, 55, 68, 89, 37, 58, 71, + 92, 31, 52, 65, 86 +}; + + +const pj_int16_t pjmedia_codec_amrwb_ordermap_660[] = +{ + 0, 5, 6, 7, 61, 84, 107, 130, 62, 85, + 8, 4, 37, 38, 39, 40, 58, 81, 104, 127, + 60, 83, 106, 129, 108, 131, 128, 41, 42, 80, + 126, 1, 3, 57, 103, 82, 105, 59, 2, 63, + 109, 110, 86, 19, 22, 23, 64, 87, 18, 20, + 21, 17, 13, 88, 43, 89, 65, 111, 14, 24, + 25, 26, 27, 28, 15, 16, 44, 90, 66, 112, + 9, 11, 10, 12, 67, 113, 29, 30, 31, 32, + 34, 33, 35, 36, 45, 51, 68, 74, 91, 97, + 114, 120, 46, 69, 92, 115, 52, 75, 98, 121, + 47, 70, 93, 116, 53, 76, 99, 122, 48, 71, + 94, 117, 54, 77, 100, 123, 49, 72, 95, 118, + 55, 78, 101, 124, 50, 73, 96, 119, 56, 79, + 102, 125 +}; + +const pj_int16_t pjmedia_codec_amrwb_ordermap_885[] = +{ + 0, 4, 6, 7, 5, 3, 47, 48, 49, 112, + 113, 114, 75, 106, 140, 171, 80, 111, 145, 176, + 77, 108, 142, 173, 78, 109, 143, 174, 79, 110, + 144, 175, 76, 107, 141, 172, 50, 115, 51, 2, + 1, 81, 116, 146, 19, 21, 12, 17, 18, 20, + 16, 25, 13, 10, 14, 24, 23, 22, 26, 8, + 15, 52, 117, 31, 82, 147, 9, 33, 11, 83, + 148, 53, 118, 28, 27, 84, 149, 34, 35, 29, + 46, 32, 30, 54, 119, 37, 36, 39, 38, 40, + 85, 150, 41, 42, 43, 44, 45, 55, 60, 65, + 70, 86, 91, 96, 101, 120, 125, 130, 135, 151, + 156, 161, 166, 56, 87, 121, 152, 61, 92, 126, + 157, 66, 97, 131, 162, 71, 102, 136, 167, 57, + 88, 122, 153, 62, 93, 127, 158, 67, 98, 132, + 163, 72, 103, 137, 168, 58, 89, 123, 154, 63, + 94, 128, 159, 68, 99, 133, 164, 73, 104, 138, + 169, 59, 90, 124, 155, 64, 95, 129, 160, 69, + 100, 134, 165, 74, 105, 139, 170 +}; + +const pj_int16_t pjmedia_codec_amrwb_ordermap_1265[] = +{ + 0, 4, 6, 93, 143, 196, 246, 7, 5, 3, + 47, 48, 49, 50, 51, 150, 151, 152, 153, 154, + 94, 144, 197, 247, 99, 149, 202, 252, 96, 146, + 199, 249, 97, 147, 200, 250, 100, 203, 98, 148, + 201, 251, 95, 145, 198, 248, 52, 2, 1, 101, + 204, 155, 19, 21, 12, 17, 18, 20, 16, 25, + 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, + 156, 31, 102, 205, 9, 33, 11, 103, 206, 54, + 157, 28, 27, 104, 207, 34, 35, 29, 46, 32, + 30, 55, 158, 37, 36, 39, 38, 40, 105, 208, + 41, 42, 43, 44, 45, 56, 106, 159, 209, 57, + 66, 75, 84, 107, 116, 125, 134, 160, 169, 178, + 187, 210, 219, 228, 237, 58, 108, 161, 211, 62, + 112, 165, 215, 67, 117, 170, 220, 71, 121, 174, + 224, 76, 126, 179, 229, 80, 130, 183, 233, 85, + 135, 188, 238, 89, 139, 192, 242, 59, 109, 162, + 212, 63, 113, 166, 216, 68, 118, 171, 221, 72, + 122, 175, 225, 77, 127, 180, 230, 81, 131, 184, + 234, 86, 136, 189, 239, 90, 140, 193, 243, 60, + 110, 163, 213, 64, 114, 167, 217, 69, 119, 172, + 222, 73, 123, 176, 226, 78, 128, 181, 231, 82, + 132, 185, 235, 87, 137, 190, 240, 91, 141, 194, + 244, 61, 111, 164, 214, 65, 115, 168, 218, 70, + 120, 173, 223, 74, 124, 177, 227, 79, 129, 182, + 232, 83, 133, 186, 236, 88, 138, 191, 241, 92, + 142, 195, 245 +}; + +const pj_int16_t pjmedia_codec_amrwb_ordermap_1425[] = +{ + 0, 4, 6, 101, 159, 220, 278, 7, 5, 3, + 47, 48, 49, 50, 51, 166, 167, 168, 169, 170, + 102, 160, 221, 279, 107, 165, 226, 284, 104, 162, + 223, 281, 105, 163, 224, 282, 108, 227, 106, 164, + 225, 283, 103, 161, 222, 280, 52, 2, 1, 109, + 228, 171, 19, 21, 12, 17, 18, 20, 16, 25, + 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, + 172, 31, 110, 229, 9, 33, 11, 111, 230, 54, + 173, 28, 27, 112, 231, 34, 35, 29, 46, 32, + 30, 55, 174, 37, 36, 39, 38, 40, 113, 232, + 41, 42, 43, 44, 45, 56, 114, 175, 233, 62, + 120, 181, 239, 75, 133, 194, 252, 57, 115, 176, + 234, 63, 121, 182, 240, 70, 128, 189, 247, 76, + 134, 195, 253, 83, 141, 202, 260, 92, 150, 211, + 269, 84, 142, 203, 261, 93, 151, 212, 270, 85, + 143, 204, 262, 94, 152, 213, 271, 86, 144, 205, + 263, 95, 153, 214, 272, 64, 122, 183, 241, 77, + 135, 196, 254, 65, 123, 184, 242, 78, 136, 197, + 255, 87, 145, 206, 264, 96, 154, 215, 273, 58, + 116, 177, 235, 66, 124, 185, 243, 71, 129, 190, + 248, 79, 137, 198, 256, 88, 146, 207, 265, 97, + 155, 216, 274, 59, 117, 178, 236, 67, 125, 186, + 244, 72, 130, 191, 249, 80, 138, 199, 257, 89, + 147, 208, 266, 98, 156, 217, 275, 60, 118, 179, + 237, 68, 126, 187, 245, 73, 131, 192, 250, 81, + 139, 200, 258, 90, 148, 209, 267, 99, 157, 218, + 276, 61, 119, 180, 238, 69, 127, 188, 246, 74, + 132, 193, 251, 82, 140, 201, 259, 91, 149, 210, + 268, 100, 158, 219, 277 +}; + +const pj_int16_t pjmedia_codec_amrwb_ordermap_1585[] = +{ + 0, 4, 6, 109, 175, 244, 310, 7, 5, 3, + 47, 48, 49, 50, 51, 182, 183, 184, 185, 186, + 110, 176, 245, 311, 115, 181, 250, 316, 112, 178, + 247, 313, 113, 179, 248, 314, 116, 251, 114, 180, + 249, 315, 111, 177, 246, 312, 52, 2, 1, 117, + 252, 187, 19, 21, 12, 17, 18, 20, 16, 25, + 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, + 188, 31, 118, 253, 9, 33, 11, 119, 254, 54, + 189, 28, 27, 120, 255, 34, 35, 29, 46, 32, + 30, 55, 190, 37, 36, 39, 38, 40, 121, 256, + 41, 42, 43, 44, 45, 56, 122, 191, 257, 63, + 129, 198, 264, 76, 142, 211, 277, 89, 155, 224, + 290, 102, 168, 237, 303, 57, 123, 192, 258, 70, + 136, 205, 271, 83, 149, 218, 284, 96, 162, 231, + 297, 62, 128, 197, 263, 75, 141, 210, 276, 88, + 154, 223, 289, 101, 167, 236, 302, 58, 124, 193, + 259, 71, 137, 206, 272, 84, 150, 219, 285, 97, + 163, 232, 298, 59, 125, 194, 260, 64, 130, 199, + 265, 67, 133, 202, 268, 72, 138, 207, 273, 77, + 143, 212, 278, 80, 146, 215, 281, 85, 151, 220, + 286, 90, 156, 225, 291, 93, 159, 228, 294, 98, + 164, 233, 299, 103, 169, 238, 304, 106, 172, 241, + 307, 60, 126, 195, 261, 65, 131, 200, 266, 68, + 134, 203, 269, 73, 139, 208, 274, 78, 144, 213, + 279, 81, 147, 216, 282, 86, 152, 221, 287, 91, + 157, 226, 292, 94, 160, 229, 295, 99, 165, 234, + 300, 104, 170, 239, 305, 107, 173, 242, 308, 61, + 127, 196, 262, 66, 132, 201, 267, 69, 135, 204, + 270, 74, 140, 209, 275, 79, 145, 214, 280, 82, + 148, 217, 283, 87, 153, 222, 288, 92, 158, 227, + 293, 95, 161, 230, 296, 100, 166, 235, 301, 105, + 171, 240, 306, 108, 174, 243, 309 +}; + +const pj_int16_t pjmedia_codec_amrwb_ordermap_1825[] = +{ + 0, 4, 6, 121, 199, 280, 358, 7, 5, 3, + 47, 48, 49, 50, 51, 206, 207, 208, 209, 210, + 122, 200, 281, 359, 127, 205, 286, 364, 124, 202, + 283, 361, 125, 203, 284, 362, 128, 287, 126, 204, + 285, 363, 123, 201, 282, 360, 52, 2, 1, 129, + 288, 211, 19, 21, 12, 17, 18, 20, 16, 25, + 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, + 212, 31, 130, 289, 9, 33, 11, 131, 290, 54, + 213, 28, 27, 132, 291, 34, 35, 29, 46, 32, + 30, 55, 214, 37, 36, 39, 38, 40, 133, 292, + 41, 42, 43, 44, 45, 56, 134, 215, 293, 198, + 299, 136, 120, 138, 60, 279, 58, 62, 357, 139, + 140, 295, 156, 57, 219, 297, 63, 217, 137, 170, + 300, 222, 64, 106, 61, 78, 294, 92, 142, 141, + 135, 221, 296, 301, 343, 59, 298, 184, 329, 315, + 220, 216, 265, 251, 218, 237, 352, 223, 157, 86, + 171, 87, 164, 351, 111, 302, 65, 178, 115, 323, + 72, 192, 101, 179, 93, 73, 193, 151, 337, 309, + 143, 274, 69, 324, 165, 150, 97, 338, 110, 310, + 330, 273, 68, 107, 175, 245, 114, 79, 113, 189, + 246, 259, 174, 71, 185, 96, 344, 100, 322, 83, + 334, 316, 333, 252, 161, 348, 147, 82, 269, 232, + 260, 308, 353, 347, 163, 231, 306, 320, 188, 270, + 146, 177, 266, 350, 256, 85, 149, 116, 191, 160, + 238, 258, 336, 305, 255, 88, 224, 99, 339, 230, + 228, 227, 272, 242, 241, 319, 233, 311, 102, 74, + 180, 275, 66, 194, 152, 325, 172, 247, 244, 261, + 117, 158, 166, 354, 75, 144, 108, 312, 94, 186, + 303, 80, 234, 89, 195, 112, 340, 181, 345, 317, + 326, 276, 239, 167, 118, 313, 70, 355, 327, 253, + 190, 176, 271, 104, 98, 153, 103, 90, 76, 267, + 277, 248, 225, 262, 182, 84, 154, 235, 335, 168, + 331, 196, 341, 249, 162, 307, 148, 349, 263, 321, + 257, 243, 229, 356, 159, 119, 67, 187, 173, 145, + 240, 77, 304, 332, 314, 342, 109, 254, 81, 278, + 105, 91, 346, 318, 183, 250, 197, 328, 95, 155, + 169, 268, 226, 236, 264 +}; + +const pj_int16_t pjmedia_codec_amrwb_ordermap_1985[] = +{ + 0, 4, 6, 129, 215, 304, 390, 7, 5, 3, + 47, 48, 49, 50, 51, 222, 223, 224, 225, 226, + 130, 216, 305, 391, 135, 221, 310, 396, 132, 218, + 307, 393, 133, 219, 308, 394, 136, 311, 134, 220, + 309, 395, 131, 217, 306, 392, 52, 2, 1, 137, + 312, 227, 19, 21, 12, 17, 18, 20, 16, 25, + 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, + 228, 31, 138, 313, 9, 33, 11, 139, 314, 54, + 229, 28, 27, 140, 315, 34, 35, 29, 46, 32, + 30, 55, 230, 37, 36, 39, 38, 40, 141, 316, + 41, 42, 43, 44, 45, 56, 142, 231, 317, 63, + 73, 92, 340, 82, 324, 149, 353, 159, 334, 165, + 338, 178, 163, 254, 77, 168, 257, 153, 343, 57, + 248, 238, 79, 252, 166, 67, 80, 201, 101, 267, + 143, 164, 341, 255, 339, 187, 376, 318, 78, 328, + 362, 115, 232, 242, 253, 290, 276, 62, 58, 158, + 68, 93, 179, 319, 148, 169, 154, 72, 385, 329, + 333, 344, 102, 83, 144, 233, 323, 124, 243, 192, + 354, 237, 64, 247, 202, 209, 150, 116, 335, 268, + 239, 299, 188, 196, 298, 94, 195, 258, 123, 363, + 384, 109, 325, 371, 170, 370, 84, 110, 295, 180, + 74, 210, 191, 106, 291, 205, 367, 381, 377, 206, + 355, 122, 119, 120, 383, 160, 105, 108, 277, 380, + 294, 284, 285, 345, 208, 269, 249, 366, 386, 300, + 297, 259, 125, 369, 197, 97, 194, 286, 211, 281, + 280, 183, 372, 87, 155, 283, 59, 348, 327, 184, + 76, 111, 330, 203, 349, 69, 98, 152, 145, 189, + 66, 320, 337, 173, 358, 251, 198, 174, 263, 262, + 126, 241, 193, 88, 388, 117, 95, 387, 112, 359, + 287, 244, 103, 272, 301, 171, 162, 234, 273, 127, + 373, 181, 292, 85, 378, 302, 121, 107, 364, 346, + 356, 212, 278, 213, 65, 382, 288, 207, 113, 175, + 99, 296, 374, 368, 199, 260, 185, 336, 331, 161, + 270, 264, 250, 240, 75, 350, 151, 60, 89, 321, + 156, 274, 360, 326, 70, 282, 167, 146, 352, 81, + 91, 389, 266, 245, 177, 235, 190, 256, 204, 342, + 128, 118, 303, 104, 379, 182, 114, 375, 200, 96, + 293, 172, 214, 365, 279, 86, 289, 351, 347, 357, + 261, 186, 176, 271, 90, 100, 147, 322, 275, 361, + 71, 332, 61, 265, 157, 246, 236 +}; + +const pj_int16_t pjmedia_codec_amrwb_ordermap_2305[] = +{ + 0, 4, 6, 145, 247, 352, 454, 7, 5, 3, + 47, 48, 49, 50, 51, 254, 255, 256, 257, 258, + 146, 248, 353, 455, 151, 253, 358, 460, 148, 250, + 355, 457, 149, 251, 356, 458, 152, 359, 150, 252, + 357, 459, 147, 249, 354, 456, 52, 2, 1, 153, + 360, 259, 19, 21, 12, 17, 18, 20, 16, 25, + 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, + 260, 31, 154, 361, 9, 33, 11, 155, 362, 54, + 261, 28, 27, 156, 363, 34, 35, 29, 46, 32, + 30, 55, 262, 37, 36, 39, 38, 40, 157, 364, + 41, 42, 43, 44, 45, 56, 158, 263, 365, 181, + 192, 170, 79, 57, 399, 90, 159, 297, 377, 366, + 275, 68, 183, 388, 286, 194, 299, 92, 70, 182, + 401, 172, 59, 91, 58, 400, 368, 161, 81, 160, + 264, 171, 80, 389, 390, 378, 379, 193, 298, 69, + 266, 265, 367, 277, 288, 276, 287, 184, 60, 195, + 82, 93, 71, 369, 402, 173, 162, 444, 300, 391, + 98, 76, 278, 61, 267, 374, 135, 411, 167, 102, + 380, 200, 87, 178, 65, 94, 204, 124, 72, 342, + 189, 305, 381, 396, 433, 301, 226, 407, 289, 237, + 113, 215, 185, 128, 309, 403, 116, 320, 196, 331, + 370, 422, 174, 64, 392, 83, 425, 219, 134, 188, + 432, 112, 427, 139, 279, 163, 436, 208, 447, 218, + 236, 229, 97, 294, 385, 230, 166, 268, 177, 443, + 225, 426, 101, 272, 138, 127, 290, 117, 347, 199, + 414, 95, 140, 240, 410, 395, 209, 129, 283, 346, + 105, 241, 437, 86, 308, 448, 203, 345, 186, 107, + 220, 415, 334, 319, 106, 313, 118, 123, 73, 207, + 421, 214, 384, 373, 438, 62, 371, 341, 75, 449, + 168, 323, 164, 242, 416, 324, 304, 197, 335, 404, + 271, 63, 191, 325, 96, 169, 231, 280, 312, 187, + 406, 84, 201, 100, 67, 382, 175, 336, 202, 330, + 269, 393, 376, 383, 293, 307, 409, 179, 285, 314, + 302, 372, 398, 190, 180, 89, 99, 103, 232, 78, + 88, 77, 136, 387, 165, 198, 394, 125, 176, 428, + 74, 375, 238, 227, 66, 273, 282, 141, 306, 412, + 114, 85, 130, 348, 119, 291, 296, 386, 233, 397, + 303, 405, 284, 445, 423, 221, 210, 205, 450, 108, + 274, 434, 216, 343, 337, 142, 243, 321, 408, 451, + 310, 292, 120, 109, 281, 439, 270, 429, 332, 295, + 418, 211, 315, 222, 326, 131, 430, 244, 327, 349, + 417, 316, 143, 338, 440, 234, 110, 212, 452, 245, + 121, 419, 350, 223, 132, 441, 328, 413, 317, 339, + 126, 104, 137, 446, 344, 239, 435, 115, 333, 206, + 322, 217, 228, 424, 453, 311, 351, 111, 442, 224, + 213, 122, 431, 340, 235, 246, 133, 144, 420, 329, + 318 +}; + +const pj_int16_t pjmedia_codec_amrwb_ordermap_2385[] = +{ + 0, 4, 6, 145, 251, 360, 466, 7, 5, 3, + 47, 48, 49, 50, 51, 262, 263, 264, 265, 266, + 146, 252, 361, 467, 151, 257, 366, 472, 148, 254, + 363, 469, 149, 255, 364, 470, 156, 371, 150, 256, + 365, 471, 147, 253, 362, 468, 52, 2, 1, 157, + 372, 267, 19, 21, 12, 17, 18, 20, 16, 25, + 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, + 268, 31, 152, 153, 154, 155, 258, 259, 260, 261, + 367, 368, 369, 370, 473, 474, 475, 476, 158, 373, + 9, 33, 11, 159, 374, 54, 269, 28, 27, 160, + 375, 34, 35, 29, 46, 32, 30, 55, 270, 37, + 36, 39, 38, 40, 161, 376, 41, 42, 43, 44, + 45, 56, 162, 271, 377, 185, 196, 174, 79, 57, + 411, 90, 163, 305, 389, 378, 283, 68, 187, 400, + 294, 198, 307, 92, 70, 186, 413, 176, 59, 91, + 58, 412, 380, 165, 81, 164, 272, 175, 80, 401, + 402, 390, 391, 197, 306, 69, 274, 273, 379, 285, + 296, 284, 295, 188, 60, 199, 82, 93, 71, 381, + 414, 177, 166, 456, 308, 403, 98, 76, 286, 61, + 275, 386, 135, 423, 171, 102, 392, 204, 87, 182, + 65, 94, 208, 124, 72, 350, 193, 313, 393, 408, + 445, 309, 230, 419, 297, 241, 113, 219, 189, 128, + 317, 415, 116, 328, 200, 339, 382, 434, 178, 64, + 404, 83, 437, 223, 134, 192, 444, 112, 439, 139, + 287, 167, 448, 212, 459, 222, 240, 233, 97, 302, + 397, 234, 170, 276, 181, 455, 229, 438, 101, 280, + 138, 127, 298, 117, 355, 203, 426, 95, 140, 244, + 422, 407, 213, 129, 291, 354, 105, 245, 449, 86, + 316, 460, 207, 353, 190, 107, 224, 427, 342, 327, + 106, 321, 118, 123, 73, 211, 433, 218, 396, 385, + 450, 62, 383, 349, 75, 461, 172, 331, 168, 246, + 428, 332, 312, 201, 343, 416, 279, 63, 195, 333, + 96, 173, 235, 288, 320, 191, 418, 84, 205, 100, + 67, 394, 179, 344, 206, 338, 277, 405, 388, 395, + 301, 315, 421, 183, 293, 322, 310, 384, 410, 194, + 184, 89, 99, 103, 236, 78, 88, 77, 136, 399, + 169, 202, 406, 125, 180, 440, 74, 387, 242, 231, + 66, 281, 290, 141, 314, 424, 114, 85, 130, 356, + 119, 299, 304, 398, 237, 409, 311, 417, 292, 457, + 435, 225, 214, 209, 462, 108, 282, 446, 220, 351, + 345, 142, 247, 329, 420, 463, 318, 300, 120, 109, + 289, 451, 278, 441, 340, 303, 430, 215, 323, 226, + 334, 131, 442, 248, 335, 357, 429, 324, 143, 346, + 452, 238, 110, 216, 464, 249, 121, 431, 358, 227, + 132, 453, 336, 425, 325, 347, 126, 104, 137, 458, + 352, 243, 447, 115, 341, 210, 330, 221, 232, 436, + 465, 319, 359, 111, 454, 228, 217, 122, 443, 348, + 239, 250, 133, 144, 432, 337, 326 +}; + +/** + * AMR-NB bitstream sensitivity order maps. + */ +const pj_int16_t* const pjmedia_codec_amrnb_ordermaps[8] = +{ + pjmedia_codec_amrnb_ordermap475, + pjmedia_codec_amrnb_ordermap515, + pjmedia_codec_amrnb_ordermap59, + pjmedia_codec_amrnb_ordermap67, + pjmedia_codec_amrnb_ordermap74, + pjmedia_codec_amrnb_ordermap795, + pjmedia_codec_amrnb_ordermap102, + pjmedia_codec_amrnb_ordermap122 +}; + +/** + * AMR-WB bitstream sensitivity order maps. + */ +const pj_int16_t* const pjmedia_codec_amrwb_ordermaps[9] = +{ + pjmedia_codec_amrwb_ordermap_660, + pjmedia_codec_amrwb_ordermap_885, + pjmedia_codec_amrwb_ordermap_1265, + pjmedia_codec_amrwb_ordermap_1425, + pjmedia_codec_amrwb_ordermap_1585, + pjmedia_codec_amrwb_ordermap_1825, + pjmedia_codec_amrwb_ordermap_1985, + pjmedia_codec_amrwb_ordermap_2305, + pjmedia_codec_amrwb_ordermap_2385 +}; + +/** + * Constant of AMR-NB frame lengths in bytes. + */ +const pj_uint8_t pjmedia_codec_amrnb_framelen[16] = + {12, 13, 15, 17, 19, 20, 26, 31, 5, 0, 0, 0, 0, 0, 0, 0}; +/** + * Constant of AMR-NB frame lengths in bits. + */ +const pj_uint16_t pjmedia_codec_amrnb_framelenbits[9] = + {95, 103, 118, 134, 148, 159, 204, 244, 39}; +/** + * Constant of AMR-NB bitrates. + */ +const pj_uint16_t pjmedia_codec_amrnb_bitrates[8] = + {4750, 5150, 5900, 6700, 7400, 7950, 10200, 12200}; + +/** + * Constant of AMR-WB frame lengths in bytes. + */ +const pj_uint8_t pjmedia_codec_amrwb_framelen[16] = + {17, 23, 32, 37, 40, 46, 50, 58, 60, 5, 0, 0, 0, 0, 0, 0}; +/** + * Constant of AMR-WB frame lengths in bits. + */ +const pj_uint16_t pjmedia_codec_amrwb_framelenbits[10] = + {132, 177, 253, 285, 317, 365, 397, 461, 477, 40}; +/** + * Constant of AMR-WB bitrates. + */ +const pj_uint16_t pjmedia_codec_amrwb_bitrates[9] = + {6600, 8850, 12650, 14250, 15850, 18250, 19850, 23050, 23850}; + + +/** + * This structure describes AMR frame info, to be fitted into #pjmedia_frame + * bit info. + */ +#pragma pack(1) +typedef struct pjmedia_codec_amr_bit_info { + pj_uint8_t frame_type; /**< AMR frame type. */ + pj_int8_t mode; /**< AMR mode. */ + pj_uint8_t start_bit; /**< Frame start bit. */ + pj_uint8_t good_quality:1; /**< Flag if frame is good/degraded. */ + pj_uint8_t STI:1; /**< STI mode (first/update). */ +} pjmedia_codec_amr_bit_info; +#pragma pack() + + +/** + * This structure describes AMR settings. + */ +typedef struct pjmedia_codec_amr_pack_setting { + pj_uint8_t amr_nb:1; /**< Set 1 for AMR-NB, 0 for AMR-WB. */ + pj_uint8_t reorder:1; /**< Reorder bitstream into descending + sensitivity order or vice versa. */ + pj_uint8_t octet_aligned:1; /**< TRUE if payload is in octet-aligned mode, + FALSE if payload is in bandwidth + efficient mode. */ + pj_uint8_t cmr:4; /**< Change Mode Request for remote + encoder. */ +} pjmedia_codec_amr_pack_setting; + + +/** + * Get AMR mode based on bitrate. + * + * @param bitrate AMR bitrate. + * + * @return AMR mode. + */ +PJ_INLINE(pj_int8_t) pjmedia_codec_amr_get_mode(unsigned bitrate) +{ + pj_int8_t mode = -1; + + if(bitrate==4750){ + mode = 0; + } else if(bitrate==5150){ + mode = 1; + } else if(bitrate==5900){ + mode = 2; + } else if(bitrate==6700){ + mode = 3; + } else if(bitrate==7400){ + mode = 4; + } else if(bitrate==7950){ + mode = 5; + } else if(bitrate==10200){ + mode = 6; + } else if(bitrate==12200){ + mode = 7; + + /* AMRWB */ + } else if(bitrate==6600){ + mode = 0; + } else if(bitrate==8850){ + mode = 1; + } else if(bitrate==12650){ + mode = 2; + } else if(bitrate==14250){ + mode = 3; + } else if(bitrate==15850){ + mode = 4; + } else if(bitrate==18250){ + mode = 5; + } else if(bitrate==19850){ + mode = 6; + } else if(bitrate==23050){ + mode = 7; + } else if(bitrate==23850){ + mode = 8; + } + return mode; +} + +/** + * Get AMR mode based on frame length. + * + * @param amrnb Set to PJ_TRUE for AMR-NB domain or PJ_FALSE for AMR-WB. + * @param frame_len The frame length. + * + * @return AMR mode. + */ + +PJ_INLINE(pj_int8_t) pjmedia_codec_amr_get_mode2(pj_bool_t amrnb, + unsigned frame_len) +{ + int i; + + if (amrnb) { + for (i = 0; i < 9; ++i) + if (frame_len == pjmedia_codec_amrnb_framelen[i]) + return (pj_int8_t)i; + } else { + for (i = 0; i < 10; ++i) { + if (frame_len == pjmedia_codec_amrwb_framelen[i]) + return (pj_int8_t)i; + } + } + + pj_assert(!"Invalid AMR frame length"); + return -1; +} + +/** + * Prepare a frame before pass it to decoder. This function will do: + * - reorder AMR bitstream from descending sensitivity order into + * encoder bits order. This can be enabled/disabled via param + * 'setting' by setting/resetting field 'reorder'. + * - align left the start bit (make the start_bit to be 0). + * + * @param in Input frame. + * @param setting Settings, see #pjmedia_codec_amr_pack_setting. + * @param out Output frame. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE(pj_status_t) pjmedia_codec_amr_predecode( + const pjmedia_frame *in, + const pjmedia_codec_amr_pack_setting *setting, + pjmedia_frame *out) +{ + pj_int8_t amr_bits[477 + 7] = {0}; + pj_int8_t *p_amr_bits = &amr_bits[0]; + + pj_uint8_t *r = (pj_uint8_t*) in->buf; /* read cursor */ + pj_uint8_t *w = (pj_uint8_t*) out->buf; /* write cursor */ + + /* env vars for AMR or AMRWB */ + pj_uint8_t SID_FT; + const pj_uint8_t *framelen_tbl; + const pj_uint16_t *framelenbit_tbl; + const pj_uint16_t *bitrate_tbl; + const pj_int16_t* const *order_maps; + + pjmedia_codec_amr_bit_info *in_info = + (pjmedia_codec_amr_bit_info*) &in->bit_info; + pjmedia_codec_amr_bit_info *out_info = + (pjmedia_codec_amr_bit_info*) &out->bit_info; + + unsigned i; + + *out_info = *in_info; + + if (setting->amr_nb) { + SID_FT = 8; + framelen_tbl = pjmedia_codec_amrnb_framelen; + framelenbit_tbl = pjmedia_codec_amrnb_framelenbits; + bitrate_tbl = pjmedia_codec_amrnb_bitrates; + order_maps = pjmedia_codec_amrnb_ordermaps; + } else { + SID_FT = 9; + framelen_tbl = pjmedia_codec_amrwb_framelen; + framelenbit_tbl = pjmedia_codec_amrwb_framelenbits; + bitrate_tbl = pjmedia_codec_amrwb_bitrates; + order_maps = pjmedia_codec_amrwb_ordermaps; + } + + PJ_UNUSED_ARG(bitrate_tbl); + + /* unpack AMR bitstream if there is any data */ + if (in_info->frame_type <= SID_FT) { + i = 0; + if (in_info->start_bit) { + for (; i < (unsigned)(8-in_info->start_bit); ++i) + *p_amr_bits++ = (pj_uint8_t) + ((*r >> (7-in_info->start_bit-i)) & 1); + ++r; + } + for(; i < framelenbit_tbl[in_info->frame_type]; i += 8, ++r) { + *p_amr_bits++ = (pj_uint8_t)((*r >> 7) & 1); + *p_amr_bits++ = (pj_uint8_t)((*r >> 6) & 1); + *p_amr_bits++ = (pj_uint8_t)((*r >> 5) & 1); + *p_amr_bits++ = (pj_uint8_t)((*r >> 4) & 1); + *p_amr_bits++ = (pj_uint8_t)((*r >> 3) & 1); + *p_amr_bits++ = (pj_uint8_t)((*r >> 2) & 1); + *p_amr_bits++ = (pj_uint8_t)((*r >> 1) & 1); + *p_amr_bits++ = (pj_uint8_t)((*r ) & 1); + } + } + + if (in_info->frame_type < SID_FT) { + + /* Speech */ + out_info->mode = in_info->frame_type; + out->size = framelen_tbl[out_info->mode]; + + pj_bzero(out->buf, out->size); + + if (setting->reorder) { + const pj_int16_t *order_map; + + order_map = order_maps[out_info->mode]; + for(i = 0; i < framelenbit_tbl[out_info->mode]; ++i) { + if (amr_bits[i]) { + pj_uint16_t bitpos; + bitpos = order_map[i]; + w[bitpos>>3] |= 1 << (7 - (bitpos % 8)); + } + } + } else { + for(i = 0; i < framelenbit_tbl[out_info->mode]; ++i) { + if (amr_bits[i]) + w[i >> 3] |= 1 << (7 - (i % 8)); + } + } + + } else if (in_info->frame_type == SID_FT) { + + /* SID */ + pj_uint8_t w_bitptr = 0; + pj_uint8_t FT_; + + if (setting->amr_nb) + FT_ = (pj_uint8_t)((amr_bits[36] << 2) | (amr_bits[37] << 1) | + amr_bits[38]); + else + FT_ = (pj_uint8_t)((amr_bits[36] << 3) | (amr_bits[37] << 2) | + (amr_bits[38] << 1) | amr_bits[39]); + + out_info->mode = FT_; + out->size = 5; + + pj_bzero(out->buf, out->size); + for(i = 0; i < framelenbit_tbl[SID_FT]; ++i) { + if (amr_bits[i]) + *w |= (1 << (7-w_bitptr)); + + if (++w_bitptr == 8) { + ++w; + w_bitptr = 0; + } + } + + } else { + + /* NO DATA */ + out->size = 0; + out_info->mode = -1; + } + + out_info->start_bit = 0; + + return PJ_SUCCESS; +} + + +/** + * Pack encoded AMR frame(s) into an RTP payload. + * + * @param frames AMR frames to be packed. + * @param nframes Number of frames to be packed. + * @param setting Settings, see #pjmedia_codec_amr_pack_setting. + * @param pkt Payload. + * @param pkt_size Payload size, as input this specifies payload maximum size, + * as output this specifies payload packed size. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE (pj_status_t) pjmedia_codec_amr_pack( + const pjmedia_frame frames[], + unsigned nframes, + const pjmedia_codec_amr_pack_setting *setting, + void *pkt, + pj_size_t *pkt_size) +{ + /* Write cursor */ + pj_uint8_t *w = (pj_uint8_t*)pkt; + pj_uint8_t w_bitptr = 0; + + /* Read cursor */ + pj_uint8_t *r; + + /* env vars for AMR or AMRWB */ + pj_uint8_t SID_FT; + const pj_uint8_t *framelen_tbl; + const pj_uint16_t *framelenbit_tbl; + const pj_uint16_t *bitrate_tbl; + const pj_int16_t* const *order_maps; + + /* frame info */ + pjmedia_codec_amr_bit_info *info; + + unsigned i, max_pkt_size; + + max_pkt_size = *pkt_size; + + if (setting->amr_nb) { + SID_FT = 8; + framelen_tbl = pjmedia_codec_amrnb_framelen; + framelenbit_tbl = pjmedia_codec_amrnb_framelenbits; + bitrate_tbl = pjmedia_codec_amrnb_bitrates; + order_maps = pjmedia_codec_amrnb_ordermaps; + } else { + SID_FT = 9; + framelen_tbl = pjmedia_codec_amrwb_framelen; + framelenbit_tbl = pjmedia_codec_amrwb_framelenbits; + bitrate_tbl = pjmedia_codec_amrwb_bitrates; + order_maps = pjmedia_codec_amrwb_ordermaps; + } + + PJ_UNUSED_ARG(bitrate_tbl); + + /* Code Mode Request, 4 bits */ + *w = (pj_uint8_t)(setting->cmr << 4); + w_bitptr = 4; + if (setting->octet_aligned) { + ++w; + w_bitptr = 0; + } + + /* Table Of Contents, 6 bits each */ + for (i = 0; i < nframes; ++i) { + pj_uint8_t TOC, FT, Q; + pj_bool_t F; + + info = (pjmedia_codec_amr_bit_info*)&frames[i].bit_info; + + F = (i != nframes-1); + FT = info->frame_type; + Q = (pj_uint8_t)(info->good_quality == 1); + pj_assert(FT <= SID_FT || FT == 14 || FT == 15); + + /* Check buffer availability */ + *pkt_size = w - (pj_uint8_t*)pkt + 1; + PJ_ASSERT_RETURN(*pkt_size <= max_pkt_size, PJ_ETOOSMALL); + + TOC = (pj_uint8_t)((F<<5) | (FT<<1) | Q); + if (w_bitptr == 0) { + *w = (pj_uint8_t)(TOC<<2); + w_bitptr = 6; + } else if (w_bitptr == 2) { + *w++ |= TOC; + w_bitptr = 0; + } else if (w_bitptr == 4) { + *w++ |= TOC>>2; + *w = (pj_uint8_t)(TOC<<6); + w_bitptr = 2; + } else if (w_bitptr == 6) { + *w++ |= TOC>>4; + *w = (pj_uint8_t)(TOC<<4); + w_bitptr = 4; + } + if (setting->octet_aligned) { + ++w; + w_bitptr = 0; + } + } + + /* Encoded data */ + for (i = 0; i < nframes; ++i) { + pj_int8_t amr_bits[477 + 7] = {0}; + pj_int8_t *p_amr_bits = &amr_bits[0]; + unsigned j; + + info = (pjmedia_codec_amr_bit_info*)&frames[i].bit_info; + + /* Check buffer availability */ + *pkt_size = w - (pj_uint8_t*)pkt; + if (info->frame_type <= SID_FT) + *pkt_size += framelen_tbl[info->frame_type] + 1; + PJ_ASSERT_RETURN(*pkt_size <= max_pkt_size, PJ_ETOOSMALL); + + /* Skip if there is no data */ + if (info->frame_type > SID_FT) + continue; + + /* Unpack bits */ + r = (pj_uint8_t*) frames[i].buf; + j = 0; + if (info->start_bit) { + for (; j < (unsigned)(8-info->start_bit); ++j) + *p_amr_bits++ = (pj_uint8_t) + ((*r >> (7-info->start_bit-j)) & 1); + ++r; + } + for(; j < framelenbit_tbl[info->frame_type]; j+=8, ++r) { + *p_amr_bits++ = (pj_uint8_t)((*r >> 7) & 1); + *p_amr_bits++ = (pj_uint8_t)((*r >> 6) & 1); + *p_amr_bits++ = (pj_uint8_t)((*r >> 5) & 1); + *p_amr_bits++ = (pj_uint8_t)((*r >> 4) & 1); + *p_amr_bits++ = (pj_uint8_t)((*r >> 3) & 1); + *p_amr_bits++ = (pj_uint8_t)((*r >> 2) & 1); + *p_amr_bits++ = (pj_uint8_t)((*r >> 1) & 1); + *p_amr_bits++ = (pj_uint8_t)((*r ) & 1); + } + + if (info->frame_type < SID_FT) { + + /* Speech */ + if (w_bitptr == 0) *w = 0; + + if (setting->reorder) { + const pj_int16_t *order_map; + + /* Put bits in the packet, sensitivity descending ordered */ + order_map = order_maps[info->frame_type]; + for(j = 0; j < framelenbit_tbl[info->frame_type]; ++j) { + if (amr_bits[order_map[j]]) + *w |= (1 << (7-w_bitptr)); + + if (++w_bitptr == 8) { + w_bitptr = 0; + ++w; + *w = 0; + } + } + } else { + for(j = 0; j < framelenbit_tbl[info->frame_type]; ++j) { + if (amr_bits[j]) + *w |= (1 << (7-w_bitptr)); + + if (++w_bitptr == 8) { + w_bitptr = 0; + ++w; + *w = 0; + } + } + } + + } else if (info->frame_type == SID_FT) { + + /* SID */ + amr_bits[35] |= info->STI; + + if (setting->amr_nb) { + amr_bits[36] = (pj_uint8_t)((info->mode >> 2) & 1); + amr_bits[37] = (pj_uint8_t)((info->mode >> 1) & 1); + amr_bits[38] = (pj_uint8_t)((info->mode) & 1); + } else { + amr_bits[36] = (pj_uint8_t)((info->mode >> 3) & 1); + amr_bits[37] = (pj_uint8_t)((info->mode >> 2) & 1); + amr_bits[38] = (pj_uint8_t)((info->mode >> 1) & 1); + amr_bits[39] = (pj_uint8_t)((info->mode) & 1); + } + + if (w_bitptr == 0) *w = 0; + for(j = 0; j < framelenbit_tbl[info->frame_type]; ++j) { + if (amr_bits[j]) + *w |= (1 << (7-w_bitptr)); + + if (++w_bitptr == 8) { + w_bitptr = 0; + ++w; + *w = 0; + } + } + } + + if (setting->octet_aligned) { + ++w; + w_bitptr = 0; + } + } + + *pkt_size = w - (pj_uint8_t*)pkt; + if (w_bitptr) + *pkt_size += 1; + + return PJ_SUCCESS; +} + + +/** + * Parse AMR payload into frames. + * + * @param pkt Payload. + * @param pkt_size Payload size. + * @param ts Base timestamp. + * @param setting Settings, see #pjmedia_codec_amr_pack_setting. + * @param frames Frames parsed. + * @param nframes Number of frames parsed. + * @param cmr Change Mode Request message for local encoder. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE(pj_status_t) pjmedia_codec_amr_parse( + void *pkt, + pj_size_t pkt_size, + const pj_timestamp *ts, + const pjmedia_codec_amr_pack_setting* setting, + pjmedia_frame frames[], + unsigned *nframes, + pj_uint8_t *cmr) +{ + unsigned cnt = 0; + pj_timestamp ts_ = *ts; + + /* Read cursor */ + pj_uint8_t r_bitptr = 0; + pj_uint8_t *r = (pj_uint8_t*)pkt; + + /* env vars for AMR or AMRWB */ + pj_uint8_t SID_FT; + const pj_uint8_t *framelen_tbl; + const pj_uint16_t *framelenbit_tbl; + const pj_int16_t* const *order_maps; + + /* frame info */ + pjmedia_codec_amr_bit_info *info; + + if (setting->amr_nb) { + SID_FT = 8; + framelen_tbl = pjmedia_codec_amrnb_framelen; + framelenbit_tbl = pjmedia_codec_amrnb_framelenbits; + order_maps = pjmedia_codec_amrnb_ordermaps; + } else { + SID_FT = 9; + framelen_tbl = pjmedia_codec_amrwb_framelen; + framelenbit_tbl = pjmedia_codec_amrwb_framelenbits; + order_maps = pjmedia_codec_amrwb_ordermaps; + } + + PJ_UNUSED_ARG(pkt_size); + PJ_UNUSED_ARG(order_maps); + + /* Code Mode Request, 4 bits */ + *cmr = (pj_uint8_t)((*r >> 4) & 0x0F); + r_bitptr = 4; + if (setting->octet_aligned) { + ++r; + r_bitptr = 0; + } + + /* Table Of Contents, 6 bits each */ + for (;;) { + pj_uint8_t TOC = 0; + pj_uint8_t F, FT, Q; + + if (r_bitptr == 0) { + TOC = (pj_uint8_t)(*r >> 2); + r_bitptr = 6; + } else if (r_bitptr == 2) { + TOC = (pj_uint8_t)(*r++ & 0x3F); + r_bitptr = 0; + } else if (r_bitptr == 4) { + TOC = (pj_uint8_t)((*r++ & 0x0f) << 2); + TOC |= *r >> 6; + r_bitptr = 2; + } else if (r_bitptr == 6) { + TOC = (pj_uint8_t)((*r++ & 0x03) << 4); + TOC |= *r >> 4; + r_bitptr = 4; + } + + F = (pj_uint8_t)(TOC >> 5); + FT = (pj_uint8_t)((TOC >> 1) & 0x0F); + Q = (pj_uint8_t)(TOC & 1); + + if (FT > SID_FT && FT < 14) { + /* Discard the whole packet (RFC4867 4.3.2) */ + //pj_assert(!"Invalid AMR frametype, stream may be corrupted!"); + cnt = 0; + PJ_LOG(4, ("AMR parser", "Invalid AMR frametype, stream may be " + "corrupted!")); + break; + } + + if (setting->octet_aligned) { + ++r; + r_bitptr = 0; + } + + /* Set frame attributes */ + info = (pjmedia_codec_amr_bit_info*) &frames[cnt].bit_info; + info->frame_type = FT; + info->mode = (pj_int8_t)((FT < SID_FT)? FT : -1); + info->good_quality = (pj_uint8_t)(Q == 1); + info->start_bit = 0; + info->STI = 0; + frames[cnt].timestamp = ts_; + frames[cnt].type = PJMEDIA_FRAME_TYPE_AUDIO; + + /* AMR frame length is 20ms */ + ts_.u64 += setting->amr_nb? 160 : 320; + + if (++cnt == *nframes || !F) + break; + } + *nframes = cnt; + + cnt = 0; + + /* Speech frames */ + while (cnt < *nframes) { + pj_uint8_t FT; + + info = (pjmedia_codec_amr_bit_info*) &frames[cnt].bit_info; + FT = info->frame_type; + + frames[cnt].buf = r; + info->start_bit = r_bitptr; + + if (FT == SID_FT) { + unsigned sti_bitptr; + sti_bitptr = r_bitptr + 35; + info->STI = (pj_uint8_t) + (r[sti_bitptr >> 3] >> (7 - (sti_bitptr % 8))) & 1; + } + + if (setting->octet_aligned) { + r += framelen_tbl[FT]; + frames[cnt].size = framelen_tbl[FT]; + } else { + if (FT == 14 || FT == 15) { + /* NO DATA */ + frames[cnt].size = 0; + } else { + unsigned adv_bit; + + adv_bit = framelenbit_tbl[FT] + r_bitptr; + r += adv_bit >> 3; + r_bitptr = (pj_uint8_t)(adv_bit % 8); + + frames[cnt].size = adv_bit >> 3; + if (r_bitptr) + ++frames[cnt].size; + } + } + ++cnt; + } + + return PJ_SUCCESS; +} + + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJMEDIA_CODECS_AMR_HELPER_H__ */ diff --git a/pjmedia/include/pjmedia-codec/amr_sdp_match.h b/pjmedia/include/pjmedia-codec/amr_sdp_match.h new file mode 100644 index 0000000..7f379ab --- /dev/null +++ b/pjmedia/include/pjmedia-codec/amr_sdp_match.h @@ -0,0 +1,61 @@ +/* $Id: amr_sdp_match.h 3911 2011-12-15 06:45:23Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_AMR_SDP_MATCH_H__ +#define __PJMEDIA_CODEC_AMR_SDP_MATCH_H__ + + +/** + * @file g7221_sdp_match.h + * @brief Special SDP format match for AMR-NB and AMR-WB. + */ + +#include + +PJ_BEGIN_DECL + + +/* Match AMR-NB and AMR-WB format in the SDP media offer and answer. This + * function will match some AMR settings in the SDP format parameters, i.e: + * octet-align, crc, robust-sorting, interleaving. Note that, for answerer, + * if octet-align mode needs to be adaptable to offerer setting, application + * should set #PJMEDIA_SDP_NEG_FMT_MATCH_ALLOW_MODIFY_ANSWER in the option. + * + * @param pool The memory pool. + * @param offer The SDP media offer. + * @param o_fmt_idx Index of the AMR format in the SDP media offer. + * @param answer The SDP media answer. + * @param a_fmt_idx Index of the AMR format in the SDP media answer. + * @param option The format matching option, see + * #pjmedia_sdp_neg_fmt_match_flag. + * + * @return PJ_SUCCESS when the formats in offer and answer match. + */ +PJ_DECL(pj_status_t) pjmedia_codec_amr_match_sdp( pj_pool_t *pool, + pjmedia_sdp_media *offer, + unsigned o_fmt_idx, + pjmedia_sdp_media *answer, + unsigned a_fmt_idx, + unsigned option); + + +PJ_END_DECL + + +#endif /* __PJMEDIA_CODEC_AMR_SDP_MATCH_H__ */ diff --git a/pjmedia/include/pjmedia-codec/audio_codecs.h b/pjmedia/include/pjmedia-codec/audio_codecs.h new file mode 100644 index 0000000..5605c5c --- /dev/null +++ b/pjmedia/include/pjmedia-codec/audio_codecs.h @@ -0,0 +1,98 @@ +/* $Id: audio_codecs.h 3666 2011-07-19 08:40:20Z nanang $ */ +/* + * Copyright (C) 2011-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_ALL_CODECS_H__ +#define __PJMEDIA_CODEC_ALL_CODECS_H__ + +/** + * @file pjmedia-codec/all_codecs.h + * @brief Helper function to register all codecs + */ +#include +#include + + +PJ_BEGIN_DECL + +/** + * @defgroup PJMEDIA_CODEC_REGISTER_ALL Codec registration helper + * @ingroup PJMEDIA_CODEC_CODECS + * @brief Helper function to register all codecs + * @{ + * + * Helper function to register all codecs that are implemented in + * PJMEDIA-CODEC library. + */ + +/** + * Codec configuration. Call #pjmedia_audio_codec_config_default() to initialize + * this structure with the default values. + */ +typedef struct pjmedia_audio_codec_config +{ + /** Speex codec settings. See #pjmedia_codec_speex_init() for more info */ + struct { + unsigned option; /**< Bitmask of options. */ + int quality; /**< Codec quality. */ + int complexity; /**< Codec complexity. */ + } speex; + + /** iLBC settings */ + struct { + unsigned mode; /**< iLBC mode. */ + } ilbc; + + /** Passthrough */ + struct { + pjmedia_codec_passthrough_setting setting; /**< Passthrough */ + } passthrough; + +} pjmedia_audio_codec_config; + + +/** + * Initialize pjmedia_audio_codec_config structure with default values. + * + * @param cfg The codec config to be initialized. + */ +PJ_DECL(void) +pjmedia_audio_codec_config_default(pjmedia_audio_codec_config *cfg); + +/** + * Register all known audio codecs implemented in PJMEDA-CODEC library to the + * specified media endpoint. + * + * @param endpt The media endpoint. + * @param c Optional codec configuration, or NULL to use default + * values. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) +pjmedia_codec_register_audio_codecs(pjmedia_endpt *endpt, + const pjmedia_audio_codec_config *c); + + +/** + * @} PJMEDIA_CODEC_REGISTER_ALL + */ + + +PJ_END_DECL + +#endif /* __PJMEDIA_CODEC_ALL_CODECS_H__ */ diff --git a/pjmedia/include/pjmedia-codec/config.h b/pjmedia/include/pjmedia-codec/config.h new file mode 100644 index 0000000..29350db --- /dev/null +++ b/pjmedia/include/pjmedia-codec/config.h @@ -0,0 +1,465 @@ +/* $Id: config.h 4331 2013-01-23 06:18:18Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_CONFIG_H__ +#define __PJMEDIA_CODEC_CONFIG_H__ + +/** + * @file config.h + * @brief PJMEDIA-CODEC compile time settings + */ + +/** + * @defgroup pjmedia_codec_config PJMEDIA-CODEC Compile Time Settings + * @ingroup PJMEDIA_CODEC + * @brief Various compile time settings such as to enable/disable codecs + * @{ + */ + +#include + +/* + * Include config_auto.h if autoconf is used (PJ_AUTOCONF is set) + */ +#if defined(PJ_AUTOCONF) +# include +#endif + + +/** + * Unless specified otherwise, L16 codec is included by default. + */ +#ifndef PJMEDIA_HAS_L16_CODEC +# define PJMEDIA_HAS_L16_CODEC 1 +#endif + + +/** + * Unless specified otherwise, GSM codec is included by default. + */ +#ifndef PJMEDIA_HAS_GSM_CODEC +# define PJMEDIA_HAS_GSM_CODEC 1 +#endif + + +/** + * Unless specified otherwise, Speex codec is included by default. + */ +#ifndef PJMEDIA_HAS_SPEEX_CODEC +# define PJMEDIA_HAS_SPEEX_CODEC 1 +#endif + +/** + * Speex codec default complexity setting. + */ +#ifndef PJMEDIA_CODEC_SPEEX_DEFAULT_COMPLEXITY +# define PJMEDIA_CODEC_SPEEX_DEFAULT_COMPLEXITY 2 +#endif + +/** + * Speex codec default quality setting. Please note that pjsua-lib may override + * this setting via its codec quality setting (i.e PJSUA_DEFAULT_CODEC_QUALITY). + */ +#ifndef PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY +# define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 8 +#endif + + +/** + * Unless specified otherwise, iLBC codec is included by default. + */ +#ifndef PJMEDIA_HAS_ILBC_CODEC +# define PJMEDIA_HAS_ILBC_CODEC 1 +#endif + + +/** + * Unless specified otherwise, G.722 codec is included by default. + */ +#ifndef PJMEDIA_HAS_G722_CODEC +# define PJMEDIA_HAS_G722_CODEC 1 +#endif + + +/** + * Default G.722 codec encoder and decoder level adjustment. The G.722 + * specifies that it uses 14 bit PCM for input and output, while PJMEDIA + * normally uses 16 bit PCM, so the conversion is done by applying + * level adjustment. If the value is non-zero, then PCM input samples to + * the encoder will be shifted right by this value, and similarly PCM + * output samples from the decoder will be shifted left by this value. + * + * This can be changed at run-time after initialization by calling + * #pjmedia_codec_g722_set_pcm_shift(). + * + * Default: 2. + */ +#ifndef PJMEDIA_G722_DEFAULT_PCM_SHIFT +# define PJMEDIA_G722_DEFAULT_PCM_SHIFT 2 +#endif + + +/** + * Specifies whether G.722 PCM shifting should be stopped when clipping + * detected in the decoder. Enabling this feature can be useful when + * talking to G.722 implementation that uses 16 bit PCM for G.722 input/ + * output (for any reason it seems to work) and the PCM shifting causes + * audio clipping. + * + * See also #PJMEDIA_G722_DEFAULT_PCM_SHIFT. + * + * Default: enabled. + */ +#ifndef PJMEDIA_G722_STOP_PCM_SHIFT_ON_CLIPPING +# define PJMEDIA_G722_STOP_PCM_SHIFT_ON_CLIPPING 1 +#endif + + +/** + * Enable the features provided by Intel IPP libraries, for example + * codecs such as G.729, G.723.1, G.726, G.728, G.722.1, and AMR. + * + * By default this is disabled. Please follow the instructions in + * http://trac.pjsip.org/repos/wiki/Intel_IPP_Codecs on how to setup + * Intel IPP with PJMEDIA. + */ +#ifndef PJMEDIA_HAS_INTEL_IPP +# define PJMEDIA_HAS_INTEL_IPP 0 +#endif + + +/** + * Visual Studio only: when this option is set, the Intel IPP libraries + * will be automatically linked to application using pragma(comment) + * constructs. This is convenient, however it will only link with + * the stub libraries and the Intel IPP DLL's will be required when + * distributing the application. + * + * If application wants to link with the different types of the Intel IPP + * libraries (for example, the static libraries), it must set this option + * to zero and specify the Intel IPP libraries in the application's input + * library specification manually. + * + * Default 1. + */ +#ifndef PJMEDIA_AUTO_LINK_IPP_LIBS +# define PJMEDIA_AUTO_LINK_IPP_LIBS 1 +#endif + + +/** + * Enable Intel IPP AMR codec. This also needs to be enabled when AMR WB + * codec is enabled. This option is only used when PJMEDIA_HAS_INTEL_IPP + * is enabled. + * + * Default: 1 + */ +#ifndef PJMEDIA_HAS_INTEL_IPP_CODEC_AMR +# define PJMEDIA_HAS_INTEL_IPP_CODEC_AMR 1 +#endif + + +/** + * Enable Intel IPP AMR wideband codec. The PJMEDIA_HAS_INTEL_IPP_CODEC_AMR + * option must also be enabled to use this codec. This option is only used + * when PJMEDIA_HAS_INTEL_IPP is enabled. + * + * Default: 1 + */ +#ifndef PJMEDIA_HAS_INTEL_IPP_CODEC_AMRWB +# define PJMEDIA_HAS_INTEL_IPP_CODEC_AMRWB 1 +#endif + + +/** + * Enable Intel IPP G.729 codec. This option is only used when + * PJMEDIA_HAS_INTEL_IPP is enabled. + * + * Default: 1 + */ +#ifndef PJMEDIA_HAS_INTEL_IPP_CODEC_G729 +# define PJMEDIA_HAS_INTEL_IPP_CODEC_G729 1 +#endif + + +/** + * Enable Intel IPP G.723.1 codec. This option is only used when + * PJMEDIA_HAS_INTEL_IPP is enabled. + * + * Default: 1 + */ +#ifndef PJMEDIA_HAS_INTEL_IPP_CODEC_G723_1 +# define PJMEDIA_HAS_INTEL_IPP_CODEC_G723_1 1 +#endif + + +/** + * Enable Intel IPP G.726 codec. This option is only used when + * PJMEDIA_HAS_INTEL_IPP is enabled. + * + * Default: 1 + */ +#ifndef PJMEDIA_HAS_INTEL_IPP_CODEC_G726 +# define PJMEDIA_HAS_INTEL_IPP_CODEC_G726 1 +#endif + + +/** + * Enable Intel IPP G.728 codec. This option is only used when + * PJMEDIA_HAS_INTEL_IPP is enabled. + * + * Default: 1 + */ +#ifndef PJMEDIA_HAS_INTEL_IPP_CODEC_G728 +# define PJMEDIA_HAS_INTEL_IPP_CODEC_G728 1 +#endif + + +/** + * Enable Intel IPP G.722.1 codec. This option is only used when + * PJMEDIA_HAS_INTEL_IPP is enabled. + * + * Default: 1 + */ +#ifndef PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1 +# define PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1 1 +#endif + +/** + * Enable Passthrough codecs. + * + * Default: 0 + */ +#ifndef PJMEDIA_HAS_PASSTHROUGH_CODECS +# define PJMEDIA_HAS_PASSTHROUGH_CODECS 0 +#endif + +/** + * Enable AMR passthrough codec. + * + * Default: 1 + */ +#ifndef PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR +# define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 1 +#endif + +/** + * Enable G.729 passthrough codec. + * + * Default: 1 + */ +#ifndef PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 +# define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 1 +#endif + +/** + * Enable iLBC passthrough codec. + * + * Default: 1 + */ +#ifndef PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC +# define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 1 +#endif + +/** + * Enable PCMU passthrough codec. + * + * Default: 1 + */ +#ifndef PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU +# define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 1 +#endif + +/** + * Enable PCMA passthrough codec. + * + * Default: 1 + */ +#ifndef PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA +# define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 1 +#endif + +/* If passthrough and PCMU/PCMA are enabled, disable the software + * G.711 codec + */ +#if PJMEDIA_HAS_PASSTHROUGH_CODECS && \ + (PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU || PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA) +# undef PJMEDIA_HAS_G711_CODEC +# define PJMEDIA_HAS_G711_CODEC 0 +#endif + + +/** + * G.722.1 codec is disabled by default. + */ +#ifndef PJMEDIA_HAS_G7221_CODEC +# define PJMEDIA_HAS_G7221_CODEC 0 +#endif + +/** + * Enable OpenCORE AMR-NB codec. + * See https://trac.pjsip.org/repos/ticket/1388 for some info. + * + * Default: 0 + */ +#ifndef PJMEDIA_HAS_OPENCORE_AMRNB_CODEC +# define PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 0 +#endif + +/** + * Enable OpenCORE AMR-WB codec. + * See https://trac.pjsip.org/repos/ticket/1608 for some info. + * + * Default: 0 + */ +#ifndef PJMEDIA_HAS_OPENCORE_AMRWB_CODEC +# define PJMEDIA_HAS_OPENCORE_AMRWB_CODEC 0 +#endif + +/** + * Link with libopencore-amrXX via pragma comment on Visual Studio. + * This option only makes sense if PJMEDIA_HAS_OPENCORE_AMRNB/WB_CODEC + * is enabled. + * + * Default: 1 + */ +#ifndef PJMEDIA_AUTO_LINK_OPENCORE_AMR_LIBS +# define PJMEDIA_AUTO_LINK_OPENCORE_AMR_LIBS 1 +#endif + +/** + * Link with libopencore-amrXX.a that has been produced with gcc. + * This option only makes sense if PJMEDIA_HAS_OPENCORE_AMRNB/WB_CODEC + * and PJMEDIA_AUTO_LINK_OPENCORE_AMR_LIBS are enabled. + * + * Default: 1 + */ +#ifndef PJMEDIA_OPENCORE_AMR_BUILT_WITH_GCC +# define PJMEDIA_OPENCORE_AMR_BUILT_WITH_GCC 1 +#endif + + +/** + * Default G.722.1 codec encoder and decoder level adjustment. + * If the value is non-zero, then PCM input samples to the encoder will + * be shifted right by this value, and similarly PCM output samples from + * the decoder will be shifted left by this value. + * + * This can be changed at run-time after initialization by calling + * #pjmedia_codec_g7221_set_pcm_shift(). + */ +#ifndef PJMEDIA_G7221_DEFAULT_PCM_SHIFT +# define PJMEDIA_G7221_DEFAULT_PCM_SHIFT 1 +#endif + + +/** + * Enabling both G.722.1 codec implementations, internal PJMEDIA and IPP, + * may cause problem in SDP, i.e: payload types duplications. So, let's + * just trap such case here at compile time. + * + * Application can control which implementation to be used by manipulating + * PJMEDIA_HAS_G7221_CODEC and PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1 in + * config_site.h. + */ +#if (PJMEDIA_HAS_G7221_CODEC != 0) && (PJMEDIA_HAS_INTEL_IPP != 0) && \ + (PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1 != 0) +# error Only one G.722.1 implementation can be enabled at the same time. \ + Please use PJMEDIA_HAS_G7221_CODEC and \ + PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1 in your config_site.h \ + to control which implementation to be used. +#endif + + +/** + * Enable SILK codec. + * + * Default: 0 + */ +#ifndef PJMEDIA_HAS_SILK_CODEC +# define PJMEDIA_HAS_SILK_CODEC 0 +#endif + + +/** + * SILK codec default complexity setting, valid values are 0 (lowest), 1, + * and 2. + * + * Default: 2 + */ +#ifndef PJMEDIA_CODEC_SILK_DEFAULT_COMPLEXITY +# define PJMEDIA_CODEC_SILK_DEFAULT_COMPLEXITY 2 +#endif + +/** + * SILK codec default quality setting, valid values are ranging from + * 0 (lowest) to 10. Please note that pjsua-lib may override this setting + * via its codec quality setting (i.e PJSUA_DEFAULT_CODEC_QUALITY). + * + * Default: 10 + */ +#ifndef PJMEDIA_CODEC_SILK_DEFAULT_QUALITY +# define PJMEDIA_CODEC_SILK_DEFAULT_QUALITY 10 +#endif + + +/** + * Specify if FFMPEG codecs are available. + * + * Default: PJMEDIA_HAS_LIBAVCODEC + */ +#ifndef PJMEDIA_HAS_FFMPEG_CODEC +# define PJMEDIA_HAS_FFMPEG_CODEC PJMEDIA_HAS_LIBAVCODEC +#endif + + +/** + * Specify if FFMPEG video codecs are available. + * + * Default: PJMEDIA_HAS_FFMPEG_CODEC + */ +#ifndef PJMEDIA_HAS_FFMPEG_VID_CODEC +# define PJMEDIA_HAS_FFMPEG_VID_CODEC PJMEDIA_HAS_FFMPEG_CODEC +#endif + +/** + * Enable FFMPEG H263+/H263-1998 codec. + * + * Default: 1 + */ +#ifndef PJMEDIA_HAS_FFMPEG_CODEC_H263P +# define PJMEDIA_HAS_FFMPEG_CODEC_H263P PJMEDIA_HAS_FFMPEG_VID_CODEC +#endif + +/** + * Enable FFMPEG H264 codec (requires libx264). + * + * Default: 0 + */ +#ifndef PJMEDIA_HAS_FFMPEG_CODEC_H264 +# define PJMEDIA_HAS_FFMPEG_CODEC_H264 PJMEDIA_HAS_FFMPEG_VID_CODEC +#endif + +/** + * @} + */ + + + +#endif /* __PJMEDIA_CODEC_CONFIG_H__ */ diff --git a/pjmedia/include/pjmedia-codec/config_auto.h.in b/pjmedia/include/pjmedia-codec/config_auto.h.in new file mode 100644 index 0000000..11da110 --- /dev/null +++ b/pjmedia/include/pjmedia-codec/config_auto.h.in @@ -0,0 +1,89 @@ +/* $Id: config_auto.h.in 4331 2013-01-23 06:18:18Z ming $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_CONFIG_AUTO_H_ +#define __PJMEDIA_CODEC_CONFIG_AUTO_H_ + +/** + * @file config_auto.h + * @brief PJMEDIA-CODEC configuration as set by autoconf script + */ + +/* + * Note: + * The configuration in config_site.h overrides any other settings, + * including the setting as detected by autoconf. + */ + +/* L16 codec */ +#ifndef PJMEDIA_HAS_L16_CODEC +#undef PJMEDIA_HAS_L16_CODEC +#endif + + +/* GSM codec */ +#ifndef PJMEDIA_HAS_GSM_CODEC +#undef PJMEDIA_HAS_GSM_CODEC +#endif + +#undef PJMEDIA_EXTERNAL_GSM_CODEC +#undef PJMEDIA_EXTERNAL_GSM_GSM_H +#undef PJMEDIA_EXTERNAL_GSM_H + +/* Speex codec */ +#ifndef PJMEDIA_HAS_SPEEX_CODEC +#undef PJMEDIA_HAS_SPEEX_CODEC +#endif + +#undef PJMEDIA_EXTERNAL_SPEEX_CODEC + +/* iLBC codec */ +#ifndef PJMEDIA_HAS_ILBC_CODEC +#undef PJMEDIA_HAS_ILBC_CODEC +#endif + + +/* G722 codec */ +#ifndef PJMEDIA_HAS_G722_CODEC +#undef PJMEDIA_HAS_G722_CODEC +#endif + +/* G7221 codec */ +#ifndef PJMEDIA_HAS_G7221_CODEC +#undef PJMEDIA_HAS_G7221_CODEC +#endif + +/* OpenCORE AMR-NB codec */ +#ifndef PJMEDIA_HAS_OPENCORE_AMRNB_CODEC +#undef PJMEDIA_HAS_OPENCORE_AMRNB_CODEC +#endif + +/* OpenCORE AMR-WB codec */ +#ifndef PJMEDIA_HAS_OPENCORE_AMRWB_CODEC +#undef PJMEDIA_HAS_OPENCORE_AMRWB_CODEC +#endif + +/* SILK codec */ +#ifndef PJMEDIA_HAS_SILK_CODEC +#undef PJMEDIA_HAS_SILK_CODEC +#endif + +#endif /* __PJMEDIA_CODEC_CONFIG_AUTO_H_ */ + + diff --git a/pjmedia/include/pjmedia-codec/ffmpeg_vid_codecs.h b/pjmedia/include/pjmedia-codec/ffmpeg_vid_codecs.h new file mode 100644 index 0000000..e238af2 --- /dev/null +++ b/pjmedia/include/pjmedia-codec/ffmpeg_vid_codecs.h @@ -0,0 +1,67 @@ +/* $Id: ffmpeg_vid_codecs.h 4049 2012-04-13 06:24:23Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODECS_FFMPEG_VID_H__ +#define __PJMEDIA_CODECS_FFMPEG_VID_H__ + + +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJMEDIA_CODEC_VID_FFMPEG FFmpeg Codecs + * @ingroup PJMEDIA_CODEC_VID_CODECS + * @{ + */ + +/** + * Initialize and register FFMPEG video codecs factory to pjmedia endpoint. + * + * @param mgr The video codec manager instance where this codec will + * be registered to. Specify NULL to use default instance + * (in that case, an instance of video codec manager must + * have been created beforehand). + * @param pf Pool factory. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_ffmpeg_vid_init(pjmedia_vid_codec_mgr *mgr, + pj_pool_factory *pf); + + +/** + * Unregister FFMPEG video codecs factory from the video codec manager and + * deinitialize the codecs library. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_ffmpeg_vid_deinit(void); + + +PJ_END_DECL + + +/** + * @} + */ + +#endif /* __PJMEDIA_CODECS_FFMPEG_VID_H__ */ + diff --git a/pjmedia/include/pjmedia-codec/g722.h b/pjmedia/include/pjmedia-codec/g722.h new file mode 100644 index 0000000..8f5b72f --- /dev/null +++ b/pjmedia/include/pjmedia-codec/g722.h @@ -0,0 +1,104 @@ +/* $Id: g722.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_G722_H__ +#define __PJMEDIA_CODEC_G722_H__ + +/** + * @file pjmedia-codec/g722.h + * @brief G.722 codec. + */ + +#include + +/** + * @defgroup PJMED_G722 G.722 Codec + * @ingroup PJMEDIA_CODEC_CODECS + * @brief Implementation of G.722 Codec + * @{ + * + * This section describes functions to initialize and register G.722 codec + * factory to the codec manager. After the codec factory has been registered, + * application can use @ref PJMEDIA_CODEC API to manipulate the codec. + * + * The G.722 implementation uses 16-bit PCM with sampling rate 16000Hz and + * 20ms frame length resulting in 64kbps bitrate. + * + * The G.722 codec implementation is provided as part of pjmedia-codec + * library, and does not depend on external G.722 codec implementation. + * + * \section codec_setting Codec Settings + * + * \subsection general_setting General Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * \subsection specific_setting Codec Specific Settings + * + * Currently none. + */ + +PJ_BEGIN_DECL + + +/** + * Initialize and register G.722 codec factory to pjmedia endpoint. + * + * @param endpt The pjmedia endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_g722_init(pjmedia_endpt *endpt); + + +/** + * Unregister G.722 codec factory from pjmedia endpoint and cleanup + * resources allocated by the factory. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_g722_deinit(void); + + +/** + * Set the G.722 codec encoder and decoder level adjustment. + * If the value is non-zero, then PCM input samples to the encoder will + * be shifted right by this value, and similarly PCM output samples from + * the decoder will be shifted left by this value. + * + * Default value is PJMEDIA_G722_DEFAULT_PCM_SHIFT. + * + * @param val The value + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_g722_set_pcm_shift(unsigned val); + + +PJ_END_DECL + + +/** + * @} + */ + +#endif /* __PJMEDIA_CODEC_G722_H__ */ + diff --git a/pjmedia/include/pjmedia-codec/g7221.h b/pjmedia/include/pjmedia-codec/g7221.h new file mode 100644 index 0000000..0f738e8 --- /dev/null +++ b/pjmedia/include/pjmedia-codec/g7221.h @@ -0,0 +1,165 @@ +/* $Id: g7221.h 5058 2015-04-09 08:15:48Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODECS_G7221_H__ +#define __PJMEDIA_CODECS_G7221_H__ + +/** + * @file pjmedia-codec/g7221.h + * @brief G722.1 codec. + */ + +#include + +/** + * @defgroup PJMED_G7221_CODEC G.722.1 Codec (Siren7/Siren14) + * @ingroup PJMEDIA_CODEC_CODECS + * @brief Implementation of G.722.1 codec + * @{ + * + * G.722.1 licensed from Polycom®
+ * G.722.1 Annex C licensed from Polycom® + * + * This section describes functions to initialize and register G.722.1 codec + * factory to the codec manager. After the codec factory has been registered, + * application can use @ref PJMEDIA_CODEC API to manipulate the codec. + * + * PJMEDIA G722.1 codec implementation is based on ITU-T Recommendation + * G.722.1 (05/2005) C fixed point implementation including its Annex C. + * + * G.722.1 is a low complexity codec that supports 7kHz and 14kHz audio + * bandwidth working at bitrates ranging from 16kbps to 48kbps. It may be + * used with speech or music inputs. + * + * + * \section codec_setting Codec Settings + * + * \subsection general_setting General Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * \subsection specific_setting Codec Specific Settings + * + * The following settings are applicable for this codec. + * + * \subsubsection bitrate Bitrate + * + * The codec implementation supports standard and non-standard bitrates. + * Use #pjmedia_codec_g7221_set_mode() to enable or disable the bitrates. + * + * By default, only standard bitrates are enabled upon initialization: + * - for 7kHz audio bandwidth (16kHz sampling rate): 24kbps and 32kbps, + * - for 14kHz audio bandwidth (32kHz sampling rate): 24kbps, 32kbps, and + * 48kbps. + * + * The usage of non-standard bitrates must follow these requirements: + * - for 7kHz audio bandwidth (16kHz sampling rate): 16000 to 32000 bps, + * multiplication of 400 + * - for 14kHz audio bandwidth (32kHz sampling rate): 24000 to 48000 bps, + * multiplication of 400 + * + * The bitrate is set via param.setting.dec_fmtp, if it does not + * contain bitrate info, the codec will check param.info.avg_bps. + * + * \note + * Currently only up to two non-standard modes can be enabled. + * + * \remark + * There is a flaw in the codec manager as currently it could not + * differentiate G.722.1 codecs by bitrates, hence invoking + * #pjmedia_codec_mgr_set_default_param() may only affect a G.722.1 codec + * with the highest priority (or first index found in codec enumeration + * when they have same priority) and invoking + * #pjmedia_codec_mgr_set_codec_priority() will set priority of all G.722.1 + * codecs with sampling rate as specified. + */ + +PJ_BEGIN_DECL + +/** + * Initialize and register G.722.1 codec factory to pjmedia endpoint. + * + * @param endpt The pjmedia endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_g7221_init( pjmedia_endpt *endpt ); + + +/** + * Enable and disable G.722.1 mode. By default, the standard modes are + * enabled upon initialization, i.e.: + * - sampling rate 16kHz, bitrate 24kbps and 32kbps. + * - sampling rate 32kHz, bitrate 24kbps, 32kbps, and 48kbps. + * This function can also be used for enabling non-standard modes. + * Note that currently only up to two non-standard modes can be enabled + * at one time. + * + * @param sample_rate PCM sampling rate, in Hz, valid values are only + * 16000 and 32000. + * @param bitrate G722.1 bitrate, in bps, the valid values are + * standard and non-standard bitrates as described + * above. + * @param enabled PJ_TRUE for enabling specified mode. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_g7221_set_mode(unsigned sample_rate, + unsigned bitrate, + pj_bool_t enabled); + +/** + * Set the G.722.1 codec encoder and decoder level adjustment. + * If the value is non-zero, then PCM input samples to the encoder will + * be shifted right by this value, and similarly PCM output samples from + * the decoder will be shifted left by this value. + * + * \note + * This function is also applicable for G722.1 implementation with IPP + * back-end. + * + * Default value is PJMEDIA_G7221_DEFAULT_PCM_SHIFT. + * + * @param val The value + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_g7221_set_pcm_shift(int val); + + + +/** + * Unregister G.722.1 codecs factory from pjmedia endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_g7221_deinit(void); + + +PJ_END_DECL + + +/** + * @} + */ + +#endif /* __PJMEDIA_CODECS_G7221_H__ */ + diff --git a/pjmedia/include/pjmedia-codec/g7221_sdp_match.h b/pjmedia/include/pjmedia-codec/g7221_sdp_match.h new file mode 100644 index 0000000..c3aa647 --- /dev/null +++ b/pjmedia/include/pjmedia-codec/g7221_sdp_match.h @@ -0,0 +1,59 @@ +/* $Id: g7221_sdp_match.h 3911 2011-12-15 06:45:23Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_G7221_SDP_MATCH_H__ +#define __PJMEDIA_CODEC_G7221_SDP_MATCH_H__ + + +/** + * @file g7221_sdp_match.h + * @brief Special SDP format match for G722.1. + */ + +#include + +PJ_BEGIN_DECL + +/** + * Match G.722.1 format in the SDP media offer and answer. This function + * will match G.722.1 bitrate setting in the SDP format parameter of + * offer and answer. + * + * @param pool The memory pool. + * @param offer The SDP media offer. + * @param o_fmt_idx Index of the G.722.1 format in the SDP media offer. + * @param answer The SDP media answer. + * @param a_fmt_idx Index of the G.722.1 format in the SDP media answer. + * @param option The format matching option, see + * #pjmedia_sdp_neg_fmt_match_flag. + * + * @return PJ_SUCCESS when the formats in offer and answer match. + */ +PJ_DECL(pj_status_t) pjmedia_codec_g7221_match_sdp( pj_pool_t *pool, + pjmedia_sdp_media *offer, + unsigned o_fmt_idx, + pjmedia_sdp_media *answer, + unsigned a_fmt_idx, + unsigned option); + + +PJ_END_DECL + + +#endif /* __PJMEDIA_CODEC_G7221_SDP_MATCH_H__ */ diff --git a/pjmedia/include/pjmedia-codec/gsm.h b/pjmedia/include/pjmedia-codec/gsm.h new file mode 100644 index 0000000..aa939d4 --- /dev/null +++ b/pjmedia/include/pjmedia-codec/gsm.h @@ -0,0 +1,87 @@ +/* $Id: gsm.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_GSM_H__ +#define __PJMEDIA_CODEC_GSM_H__ + +/** + * @file pjmedia-codec/gsm.h + * @brief GSM 06.10 codec. + */ + +#include + +/** + * @defgroup PJMED_GSM GSM 06.10 Codec + * @ingroup PJMEDIA_CODEC_CODECS + * @brief Implementation of GSM FR based on GSM 06.10 library + * @{ + * + * This section describes functions to initialize and register GSM codec + * factory to the codec manager. After the codec factory has been registered, + * application can use @ref PJMEDIA_CODEC API to manipulate the codec. + * + * The GSM codec supports 16-bit PCM with sampling rate of 8000Hz resulting + * in 13.2kbps bitrate. + * + * \section codec_setting Codec Settings + * + * \subsection general_setting General Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * \subsection specific_setting Codec Specific Settings + * + * Currently none. + */ + +PJ_BEGIN_DECL + + +/** + * Initialize and register GSM codec factory to pjmedia endpoint. + * + * @param endpt The pjmedia endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_gsm_init( pjmedia_endpt *endpt ); + + + +/** + * Unregister GSM codec factory from pjmedia endpoint and deinitialize + * the GSM codec library. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_gsm_deinit(void); + + +PJ_END_DECL + + +/** + * @} + */ + +#endif /* __PJMEDIA_CODEC_GSM_H__ */ + diff --git a/pjmedia/include/pjmedia-codec/h263_packetizer.h b/pjmedia/include/pjmedia-codec/h263_packetizer.h new file mode 100644 index 0000000..62644a0 --- /dev/null +++ b/pjmedia/include/pjmedia-codec/h263_packetizer.h @@ -0,0 +1,146 @@ +/* $Id: h263_packetizer.h 3715 2011-08-19 09:35:25Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_H263_PACKETIZER_H__ +#define __PJMEDIA_H263_PACKETIZER_H__ + + +/** + * @file h263_packetizer.h + * @brief Packetizes/unpacketizes H.263 bitstream into RTP payload. + */ + +#include +#include + +PJ_BEGIN_DECL + + +/** + * Opaque declaration for H.263 packetizer. + */ +typedef struct pjmedia_h263_packetizer pjmedia_h263_packetizer; + + +/** + * Enumeration of H.263 packetization modes. + */ +typedef enum +{ + /** + * H.263 RTP packetization using RFC 4629. + */ + PJMEDIA_H263_PACKETIZER_MODE_RFC4629, + + /** + * H.263 RTP packetization using legacy RFC 2190. + * This is currently not supported. + */ + PJMEDIA_H263_PACKETIZER_MODE_RFC2190, + +} pjmedia_h263_packetizer_mode; + + +/** + * H.263 packetizer configuration. + */ +typedef struct pjmedia_h263_packetizer_cfg +{ + /** + * Maximum payload length. + * Default: PJMEDIA_MAX_MTU + */ + int mtu; + + /** + * Packetization mode. + * Default: PJMEDIA_H263_PACKETIZER_MODE_RFC4629 + */ + pjmedia_h263_packetizer_mode mode; + +} pjmedia_h263_packetizer_cfg; + + +/** + * Create H.263 packetizer. + * + * @param pool The memory pool. + * @param cfg Packetizer settings, if NULL, default setting + * will be used. + * @param p_pktz Pointer to receive the packetizer. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_h263_packetizer_create( + pj_pool_t *pool, + const pjmedia_h263_packetizer_cfg *cfg, + pjmedia_h263_packetizer **p_pktz); + + +/** + * Generate an RTP payload from a H.263 picture bitstream. Note that this + * function will apply in-place processing, so the bitstream may be modified + * during the packetization. + * + * @param pktz The packetizer. + * @param bits The picture bitstream to be packetized. + * @param bits_len The length of the bitstream. + * @param bits_pos The bitstream offset to be packetized. + * @param payload The output payload. + * @param payload_len The output payload length. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_h263_packetize(pjmedia_h263_packetizer *pktz, + pj_uint8_t *bits, + pj_size_t bits_len, + unsigned *bits_pos, + const pj_uint8_t **payload, + pj_size_t *payload_len); + + +/** + * Append an RTP payload to an H.263 picture bitstream. Note that in case of + * noticing packet lost, application should keep calling this function with + * payload pointer set to NULL, as the packetizer need to update its internal + * state. + * + * @param pktz The packetizer. + * @param payload The payload to be unpacketized. + * @param payload_len The payload length. + * @param bits The bitstream buffer. + * @param bits_size The bitstream buffer size. + * @param bits_pos The bitstream offset to put the unpacketized payload + * in the bitstream, upon return, this will be updated + * to the latest offset as a result of the unpacketized + * payload. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_h263_unpacketize(pjmedia_h263_packetizer *pktz, + const pj_uint8_t *payload, + pj_size_t payload_len, + pj_uint8_t *bits, + pj_size_t bits_size, + unsigned *bits_pos); + + +PJ_END_DECL + + +#endif /* __PJMEDIA_H263_PACKETIZER_H__ */ diff --git a/pjmedia/include/pjmedia-codec/h264_packetizer.h b/pjmedia/include/pjmedia-codec/h264_packetizer.h new file mode 100644 index 0000000..4e26180 --- /dev/null +++ b/pjmedia/include/pjmedia-codec/h264_packetizer.h @@ -0,0 +1,157 @@ +/* $Id: h264_packetizer.h 3664 2011-07-19 03:42:28Z nanang $ */ +/* + * Copyright (C) 2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_H264_PACKETIZER_H__ +#define __PJMEDIA_H264_PACKETIZER_H__ + +/** + * @file h264_packetizer.h + * @brief Packetizes H.264 bitstream into RTP payload and vice versa. + */ + +#include + +PJ_BEGIN_DECL + +/** + * Opaque declaration for H.264 packetizer. + */ +typedef struct pjmedia_h264_packetizer pjmedia_h264_packetizer; + + +/** + * Enumeration of H.264 packetization modes. + */ +typedef enum +{ + /** + * Single NAL unit packetization mode will only generate payloads + * containing a complete single NAL unit packet. As H.264 NAL unit + * size can be very large, this mode is usually not applicable for + * network environments with MTU size limitation. + */ + PJMEDIA_H264_PACKETIZER_MODE_SINGLE_NAL, + + /** + * Non-interleaved packetization mode will generate payloads with the + * following possible formats: + * - single NAL unit packets, + * - NAL units aggregation STAP-A packets, + * - fragmented NAL unit FU-A packets. + */ + PJMEDIA_H264_PACKETIZER_MODE_NON_INTERLEAVED, + + /** + * Interleaved packetization mode will generate payloads with the + * following possible formats: + * - single NAL unit packets, + * - NAL units aggregation STAP-A & STAP-B packets, + * - fragmented NAL unit FU-A & FU-B packets. + * This packetization mode is currently unsupported. + */ + PJMEDIA_H264_PACKETIZER_MODE_INTERLEAVED, +} pjmedia_h264_packetizer_mode; + + +/** + * H.264 packetizer setting. + */ +typedef struct pjmedia_h264_packetizer_cfg +{ + /** + * Maximum payload length. + * Default: PJMEDIA_MAX_MTU + */ + int mtu; + + /** + * Packetization mode. + * Default: PJMEDIA_H264_PACKETIZER_MODE_NON_INTERLEAVED + */ + pjmedia_h264_packetizer_mode mode; +} +pjmedia_h264_packetizer_cfg; + + +/** + * Create H.264 packetizer. + * + * @param pool The memory pool. + * @param cfg Packetizer settings, if NULL, default setting + * will be used. + * @param p_pktz Pointer to receive the packetizer. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_h264_packetizer_create( + pj_pool_t *pool, + const pjmedia_h264_packetizer_cfg *cfg, + pjmedia_h264_packetizer **p_pktz); + + +/** + * Generate an RTP payload from a H.264 picture bitstream. Note that this + * function will apply in-place processing, so the bitstream may be modified + * during the packetization. + * + * @param pktz The packetizer. + * @param bits The picture bitstream to be packetized. + * @param bits_len The length of the bitstream. + * @param bits_pos The bitstream offset to be packetized. + * @param payload The output payload. + * @param payload_len The output payload length. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_h264_packetize(pjmedia_h264_packetizer *pktz, + pj_uint8_t *bits, + pj_size_t bits_len, + unsigned *bits_pos, + const pj_uint8_t **payload, + pj_size_t *payload_len); + + +/** + * Append an RTP payload to an H.264 picture bitstream. Note that in case of + * noticing packet lost, application should keep calling this function with + * payload pointer set to NULL, as the packetizer need to update its internal + * state. + * + * @param pktz The packetizer. + * @param payload The payload to be unpacketized. + * @param payload_len The payload length. + * @param bits The bitstream buffer. + * @param bits_size The bitstream buffer size. + * @param bits_pos The bitstream offset to put the unpacketized payload + * in the bitstream, upon return, this will be updated + * to the latest offset as a result of the unpacketized + * payload. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_h264_unpacketize(pjmedia_h264_packetizer *pktz, + const pj_uint8_t *payload, + pj_size_t payload_len, + pj_uint8_t *bits, + pj_size_t bits_len, + unsigned *bits_pos); + + +PJ_END_DECL + +#endif /* __PJMEDIA_H264_PACKETIZER_H__ */ diff --git a/pjmedia/include/pjmedia-codec/ilbc.h b/pjmedia/include/pjmedia-codec/ilbc.h new file mode 100644 index 0000000..c92f637 --- /dev/null +++ b/pjmedia/include/pjmedia-codec/ilbc.h @@ -0,0 +1,119 @@ +/* $Id: ilbc.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_ILBC_H__ +#define __PJMEDIA_CODEC_ILBC_H__ + +/** + * @file pjmedia-codec/ilbc.h + * @brief iLBC codec. + */ + +#include + +/** + * @defgroup PJMED_ILBC iLBC Codec + * @ingroup PJMEDIA_CODEC_CODECS + * @brief Implementation of iLBC Codec + * @{ + * + * This section describes functions to initialize and register iLBC codec + * factory to the codec manager. After the codec factory has been registered, + * application can use @ref PJMEDIA_CODEC API to manipulate the codec. + * + * The iLBC codec is developed by Global IP Solutions (GIPS), formerly + * Global IP Sound. The iLBC offers low bitrate and graceful audio quality + * degradation on frame losses. + * + * The iLBC codec supports 16-bit PCM audio signal with sampling rate of + * 8000Hz operating at two modes: 20ms and 30ms frame length modes, resulting + * in bitrates of 15.2kbps for 20ms mode and 13.33kbps for 30ms mode. + * + * + * \section codec_setting Codec Settings + * + * \subsection general_setting General Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * \subsection specific_setting Codec Specific Settings + * + * The following settings are applicable for this codec. + * + * \subsubsection mode Mode + * + * The default mode should be set upon initialization, see + * #pjmedia_codec_ilbc_init(). After the codec is initialized, the default + * mode can be modified using #pjmedia_codec_mgr_set_default_param(). + * + * In #pjmedia_codec_param, iLBC mode can be set by specifying SDP + * format parameter "mode" in the SDP "a=fmtp" attribute for decoding + * direction. Valid values are "20" and "30" (for 20ms and 30ms mode + * respectively). + * + * Here is an example to set up #pjmedia_codec_param to use mode 20ms: + * \code + pjmedia_codec_param param; + ... + // setting iLBC mode in SDP + param.setting.dec_fmtp.cnt = 1; + param.setting.dec_fmtp.param[0].name = pj_str("mode"); + param.setting.dec_fmtp.param[0].val = pj_str("20"); + ... + \endcode + */ + +PJ_BEGIN_DECL + + +/** + * Initialize and register iLBC codec factory to pjmedia endpoint. + * + * @param endpt The pjmedia endpoint. + * @param mode Default decoder mode to be used. Valid values are + * 20 and 30 ms. Note that encoder mode follows the + * setting advertised in the remote's SDP. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_ilbc_init( pjmedia_endpt *endpt, + int mode ); + + + +/** + * Unregister iLBC codec factory from pjmedia endpoint and deinitialize + * the iLBC codec library. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_ilbc_deinit(void); + + +PJ_END_DECL + + +/** + * @} + */ + +#endif /* __PJMEDIA_CODEC_ILBC_H__ */ + diff --git a/pjmedia/include/pjmedia-codec/ipp_codecs.h b/pjmedia/include/pjmedia-codec/ipp_codecs.h new file mode 100644 index 0000000..3544367 --- /dev/null +++ b/pjmedia/include/pjmedia-codec/ipp_codecs.h @@ -0,0 +1,322 @@ +/* $Id: ipp_codecs.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODECS_IPP_H__ +#define __PJMEDIA_CODECS_IPP_H__ + +/** + * @file pjmedia-codec/ipp_codecs.h + * @brief IPP codecs wrapper. + */ + +#include + +/** + * @defgroup PJMED_IPP_CODEC IPP Codecs + * @ingroup PJMEDIA_CODEC_CODECS + * @brief Implementation of IPP codecs + * @{ + * + * This section describes functions to initialize and register IPP codec + * factory to the codec manager. After the codec factory has been registered, + * application can use @ref PJMEDIA_CODEC API to manipulate the codec. + * + * This codec factory contains various codecs, i.e: G.729, G.723.1, G.726, + * G.728, G.722.1, AMR, and AMR-WB. + * + * + * \section pjmedia_codec_ipp_g729 IPP G.729 + * + * IPP G.729 is compliant with ITU-T G.729 and Annexes A, B, C, C+, D, + * E, I specifications. However, currently the pjmedia implementation is + * using Annexes A and B only. + * + * IPP G.729 supports 16-bit PCM audio signal with sampling rate 8000Hz, + * frame length 10ms, and resulting in bitrate 8000bps (annexes D and E + * introduce bitrates 6400bps and 11800bps). + * + * \subsection codec_setting Codec Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * Note that G.729 VAD status should be signalled in SDP, see more + * description below. + * + * \subsubsection annexb Annex B + * + * The capability of VAD/DTX is specified in Annex B. + * + * By default, Annex B is enabled. This default setting of Annex B can + * be modified using #pjmedia_codec_mgr_set_default_param(). + * + * In #pjmedia_codec_param, Annex B is configured via VAD setting and + * format parameter "annexb" in the SDP "a=fmtp" attribute in + * decoding fmtp field. Valid values are "yes" and "no", + * the implementation default is "yes". When this parameter is omitted + * in the SDP, the value will be "yes" (RFC 4856 Section 2.1.9). + * + * Here is an example of modifying default setting of Annex B to + * be disabled using #pjmedia_codec_mgr_set_default_param(): + \code + pjmedia_codec_param param; + + pjmedia_codec_mgr_get_default_param(.., ¶m); + ... + // Set VAD + param.setting.vad = 0; + // Set SDP format parameter + param.setting.dec_fmtp.cnt = 1; + param.setting.dec_fmtp.param[0].name = pj_str("annexb"); + param.setting.dec_fmtp.param[0].val = pj_str("no"); + ... + pjmedia_codec_mgr_set_default_param(.., ¶m); + \endcode + * + * \note + * The difference of Annex B status in SDP offer/answer may be considered as + * incompatible codec in SDP negotiation. + * + * + * \section pjmedia_codec_ipp_g7231 IPP G.723.1 + * + * IPP G.723.1 speech codec is compliant with ITU-T G.723.1 and Annex A + * specifications. + * + * IPP G.723.1 supports 16-bit PCM audio signal with sampling rate 8000Hz, + * frame length 30ms, and resulting in bitrates 5300bps and 6300bps. + * + * By default, pjmedia implementation uses encoding bitrate of 6300bps. + * The bitrate is signalled in-band in G.723.1 frames and interoperable. + * + * \subsection codec_setting Codec Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * + * \section pjmedia_codec_ipp_g726 IPP G.726 + * + * IPP G.726 is compliant with ITU-T G.726 and G.726 Annex A specifications. + * + * IPP G.726 supports 16-bit PCM audio signal with sampling rate 8000Hz, + * 10ms frame length and producing 16kbps, 24kbps, 32kbps, 48kbps bitrates. + * The bitrate is specified explicitly in its encoding name, i.e: G726-16, + * G726-24, G726-32, G726-48. + * + * \subsection codec_setting Codec Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * + * \section pjmedia_codec_ipp_g728 IPP G.728 + * + * IPP G.728 is compliant with ITU-T G.728 with I, G, H Appendixes + * specifications for Low-Delay CELP coder. + * + * IPP G.728 supports 16-bit PCM audio signal with sampling rate 8000Hz, + * 20ms frame length and producing 9.6kbps, 12.8kbps, and 16kbps bitrates. + * + * The pjmedia implementation currently uses 16kbps bitrate only. + * + * \subsection codec_setting Codec Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * + * \section pjmedia_codec_ipp_g7221 IPP G.722.1 + * + * The pjmedia implementation of IPP G.722.1 supports 16-bit PCM audio + * signal with sampling rate 16000Hz, 20ms frame length and producing + * 16kbps, 24kbps, and 32kbps bitrates. + * + * \subsection codec_setting Codec Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * \subsubsection bitrate Bitrate + * + * The codec implementation supports only standard bitrates, i.e: + * 24kbps and 32kbps. Both are enabled by default. + * + * \remark + * There is a flaw in the codec manager as currently it could not + * differentiate G.722.1 codecs by bitrates, hence invoking + * #pjmedia_codec_mgr_set_default_param() may only affect a G.722.1 codec + * with the highest priority (or first index found in codec enumeration + * when they have same priority) and invoking + * #pjmedia_codec_mgr_set_codec_priority() will set priority of all G.722.1 + * codecs with sampling rate as specified. + * + * + * \section pjmedia_codec_ipp_amr IPP AMR + * + * The IPP AMR is compliant with GSM06.90-94 specifications for GSM Adaptive + * Multi-Rate codec. + * + * IPP AMR supports 16-bit PCM audio signal with sampling rate 8000Hz, + * 20ms frame length and producing various bitrates that ranges from 4.75kbps + * to 12.2kbps. + * + * \subsection codec_setting Codec Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * \subsubsection bitrate Bitrate + * + * By default, encoding bitrate is 7400bps. This default setting can be + * modified using #pjmedia_codec_mgr_set_default_param() by specifying + * prefered AMR bitrate in field info::avg_bps of + * #pjmedia_codec_param. Valid bitrates could be seen in + * #pjmedia_codec_amrnb_bitrates. + * + * \subsubsection payload_format Payload Format + * + * There are two AMR payload format types, bandwidth-efficient and + * octet-aligned. Default setting is using octet-aligned. This default payload + * format can be modified using #pjmedia_codec_mgr_set_default_param(). + * + * In #pjmedia_codec_param, payload format can be set by specifying SDP + * format parameters "octet-align" in the SDP "a=fmtp" attribute for + * decoding direction. Valid values are "0" (for bandwidth efficient mode) + * and "1" (for octet-aligned mode). + * + * \subsubsection mode_set Mode-Set + * + * Mode-set is used for restricting AMR modes in decoding direction. + * + * By default, no mode-set restriction applied. This default setting can be + * be modified using #pjmedia_codec_mgr_set_default_param(). + * + * In #pjmedia_codec_param, mode-set could be specified via format parameters + * "mode-set" in the SDP "a=fmtp" attribute for decoding direction. Valid + * value is a comma separated list of modes from the set 0 - 7, e.g: + * "4,5,6,7". When this parameter is omitted, no mode-set restrictions applied. + * + * Here is an example of modifying AMR default codec param: + \code + pjmedia_codec_param param; + + pjmedia_codec_mgr_get_default_param(.., ¶m); + ... + // set default encoding bitrate to the highest 12.2kbps + param.info.avg_bps = 12200; + + // restrict decoding bitrate to 10.2kbps and 12.2kbps only + param.setting.dec_fmtp.param[0].name = pj_str("mode-set"); + param.setting.dec_fmtp.param[0].val = pj_str("6,7"); + + // also set to use bandwidth-efficient payload format + param.setting.dec_fmtp.param[1].name = pj_str("octet-align"); + param.setting.dec_fmtp.param[1].val = pj_str("0"); + + param.setting.dec_fmtp.cnt = 2; + ... + pjmedia_codec_mgr_set_default_param(.., ¶m); + \endcode + * + * + * \section pjmedia_codec_ipp_amrwb IPP AMR-WB + * + * The IPP AMR-WB is compliant with 3GPP TS 26.190-192, 194, 201 + * specifications for Adaptive Multi-Rate WideBand codec. + * + * IPP AMR-WB supports 16-bit PCM audio signal with sampling rate 16000Hz, + * 20ms frame length and producing various bitrates. Valid bitrates could be + * seen in #pjmedia_codec_amrwb_bitrates. The pjmedia implementation default + * bitrate is 15850bps. + * + * \subsection codec_setting Codec Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * \subsubsection bitrate Bitrate + * + * By default, encoding bitrate is 15850bps. This default setting can be + * modified using #pjmedia_codec_mgr_set_default_param() by specifying + * prefered AMR bitrate in field info::avg_bps of + * #pjmedia_codec_param. + * + * \subsubsection payload_format Payload Format + * + * There are two AMR payload format types, bandwidth-efficient and + * octet-aligned. Default setting is using octet-aligned. This default payload + * format can be modified using #pjmedia_codec_mgr_set_default_param(). + * + * In #pjmedia_codec_param, payload format can be set by specifying SDP + * format parameters "octet-align" in the SDP "a=fmtp" attribute for + * decoding direction. Valid values are "0" (for bandwidth efficient mode) + * and "1" (for octet-aligned mode). + * + * \subsubsection mode_set Mode-Set + * + * Mode-set is used for restricting AMR modes in decoding direction. + * + * By default, no mode-set restriction applied. This default setting can be + * be modified using #pjmedia_codec_mgr_set_default_param(). + * + * In #pjmedia_codec_param, mode-set could be specified via format parameters + * "mode-set" in the SDP "a=fmtp" attribute for decoding direction. Valid + * value is a comma separated list of modes from the set 0 - 7, e.g: + * "4,5,6,7". When this parameter is omitted, no mode-set restrictions applied. + */ + +PJ_BEGIN_DECL + + +/** + * Initialize and register IPP codecs factory to pjmedia endpoint. + * + * @param endpt The pjmedia endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_ipp_init( pjmedia_endpt *endpt ); + + +/** + * Unregister IPP codecs factory from pjmedia endpoint and deinitialize + * the IPP codecs library. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_ipp_deinit(void); + + +PJ_END_DECL + + +/** + * @} + */ + +#endif /* __PJMEDIA_CODECS_IPP_H__ */ + diff --git a/pjmedia/include/pjmedia-codec/l16.h b/pjmedia/include/pjmedia-codec/l16.h new file mode 100644 index 0000000..04b50d0 --- /dev/null +++ b/pjmedia/include/pjmedia-codec/l16.h @@ -0,0 +1,81 @@ +/* $Id: l16.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_L16_H__ +#define __PJMEDIA_CODEC_L16_H__ + +#include + + +/** + * @defgroup PJMED_L16 L16 Codec Family + * @ingroup PJMEDIA_CODEC_CODECS + * @brief Implementation of PCM/16bit/linear codecs + * @{ + * + * This section describes functions to initialize and register L16 codec + * factory to the codec manager. After the codec factory has been registered, + * application can use @ref PJMEDIA_CODEC API to manipulate the codec. + * + * Note that the L16 codec factory registers several (about fourteen!) + * L16 codec types to codec manager (different combinations of clock + * rate and number of channels). + * + * \section codec_setting Codec Settings + * + * \subsection general_setting General Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * \subsection specific_setting Codec Specific Settings + * + * Currently none. + */ + +PJ_BEGIN_DECL + + +/** + * Initialize and register L16 codec factory to pjmedia endpoint. + * + * @param endpt The pjmedia endpoint. + * @param options Must be zero for now. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_l16_init( pjmedia_endpt *endpt, + unsigned options); + + + +/** + * Unregister L16 codec factory from pjmedia endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_l16_deinit(void); + + +PJ_END_DECL + + +#endif /* __PJMEDIA_CODEC_L16_H__ */ + diff --git a/pjmedia/include/pjmedia-codec/opencore_amr.h b/pjmedia/include/pjmedia-codec/opencore_amr.h new file mode 100644 index 0000000..3d5049b --- /dev/null +++ b/pjmedia/include/pjmedia-codec/opencore_amr.h @@ -0,0 +1,146 @@ +/* $Id: opencore_amr.h 4335 2013-01-29 08:09:15Z ming $ */ +/* + * Copyright (C) 2011-2013 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2011 Dan Arrhenius + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_OPENCORE_AMR_H__ +#define __PJMEDIA_CODEC_OPENCORE_AMR_H__ + +#include + +/** + * @defgroup PJMED_OC_AMR OpenCORE AMR Codec + * @ingroup PJMEDIA_CODEC_CODECS + * @brief AMRCodec wrapper for OpenCORE AMR codec + * @{ + */ + +PJ_BEGIN_DECL + +/** + * Bitmask options to be passed during AMR codec factory initialization. + */ +enum pjmedia_amr_options +{ + PJMEDIA_AMR_NO_NB = 1, /**< Disable narrowband mode. */ + PJMEDIA_AMR_NO_WB = 2, /**< Disable wideband mode. */ +}; + +/** + * Settings. Use #pjmedia_codec_opencore_amrnb/wb_set_config() to + * activate. + */ +typedef struct pjmedia_codec_amr_config +{ + /** + * Control whether to use octent align. + */ + pj_bool_t octet_align; + + /** + * Set the bitrate. + */ + unsigned bitrate; + +} pjmedia_codec_amr_config; + +typedef pjmedia_codec_amr_config pjmedia_codec_amrnb_config; +typedef pjmedia_codec_amr_config pjmedia_codec_amrwb_config; + +/** + * Initialize and register AMR codec factory to pjmedia endpoint. + * + * @param endpt The pjmedia endpoint. + * @param options Bitmask of pjmedia_amr_options (default=0). + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_opencore_amr_init(pjmedia_endpt* endpt, + unsigned options); + +/** + * Initialize and register AMR codec factory using default settings to + * pjmedia endpoint. + * + * @param endpt The pjmedia endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_codec_opencore_amr_init_default(pjmedia_endpt* endpt); + +/** + * Unregister AMR codec factory from pjmedia endpoint and deinitialize + * the OpenCORE codec library. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_opencore_amr_deinit(void); + +/** + * Initialize and register AMR-NB codec factory to pjmedia endpoint. Calling + * this function will automatically initialize AMR codec factory without + * the wideband mode (i.e. it is equivalent to calling + * #pjmedia_codec_opencore_amr_init() with PJMEDIA_AMR_NO_WB). Application + * should call #pjmedia_codec_opencore_amr_init() instead if wishing to use + * both modes. + * + * @param endpt The pjmedia endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_opencore_amrnb_init(pjmedia_endpt* endpt); + +/** + * Unregister AMR-NB codec factory from pjmedia endpoint and deinitialize + * the OpenCORE codec library. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_opencore_amrnb_deinit(void); + + +/** + * Set AMR-NB parameters. + * + * @param cfg The settings; + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_opencore_amrnb_set_config( + const pjmedia_codec_amrnb_config* cfg); + + +/** + * Set AMR-WB parameters. + * + * @param cfg The settings; + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_opencore_amrwb_set_config( + const pjmedia_codec_amrwb_config* cfg); + +PJ_END_DECL + + +/** + * @} + */ + +#endif /* __PJMEDIA_CODEC_OPENCORE_AMRNB_H__ */ + diff --git a/pjmedia/include/pjmedia-codec/openh264.h b/pjmedia/include/pjmedia-codec/openh264.h new file mode 100644 index 0000000..8d6a53a --- /dev/null +++ b/pjmedia/include/pjmedia-codec/openh264.h @@ -0,0 +1,69 @@ +/* $Id: openh264.h 4815 2014-04-10 10:01:07Z bennylp $ */ +/* + * Copyright (C) 2014 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_OPENH264_H__ +#define __PJMEDIA_CODEC_OPENH264_H__ + +#include +#include + +/** + * @file pjmedia-codec/openh264.h + * @brief Open H.264 codec + */ + + +PJ_BEGIN_DECL + +/** + * @defgroup PJMEDIA_CODEC_OPENH264 Open H.264 Codec + * @ingroup PJMEDIA_CODEC_VID_CODECS + * @{ + */ + +/** + * Initialize and register OpenH264 codec factory. + * + * @param mgr The video codec manager instance where this codec will + * be registered to. Specify NULL to use default instance + * (in that case, an instance of video codec manager must + * have been created beforehand). + * @param pf Pool factory. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_openh264_vid_init(pjmedia_vid_codec_mgr *mgr, + pj_pool_factory *pf); + +/** + * Unregister OpenH264 video codecs factory from the video codec manager and + * deinitialize the codec library. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_openh264_vid_deinit(void); + + +/** + * @} PJMEDIA_CODEC_OPENH264 + */ + + +PJ_END_DECL + +#endif /* __PJMEDIA_CODEC_OPENH264_H__ */ diff --git a/pjmedia/include/pjmedia-codec/passthrough.h b/pjmedia/include/pjmedia-codec/passthrough.h new file mode 100644 index 0000000..775af19 --- /dev/null +++ b/pjmedia/include/pjmedia-codec/passthrough.h @@ -0,0 +1,277 @@ +/* $Id: passthrough.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODECS_PASSTHROUGH_H__ +#define __PJMEDIA_CODECS_PASSTHROUGH_H__ + +/** + * @file pjmedia-codec/passthrough.h + * @brief Passthrough codecs. + */ + +#include + +/** + * @defgroup PJMED_PASSTHROUGH_CODEC Passthrough Codecs + * @ingroup PJMEDIA_CODEC_CODECS + * @brief Implementation of passthrough codecs + * @{ + * + * This section describes functions to initialize and register passthrough + * codecs factory to the codec manager. After the codec factory has been + * registered, application can use @ref PJMEDIA_CODEC API to manipulate + * the codec. + * + * Passthrough codecs are codecs wrapper that does NOT perform encoding + * or decoding, it just PACK and PARSE encoded audio data from/into RTP + * payload. This will accomodate pjmedia ports which work with encoded + * audio data, e.g: encoded audio files, sound device with capability + * of playing/recording encoded audio data. + * + * This codec factory contains various codecs, i.e: G.729, iLBC, + * AMR, and G.711. + * + * + * \section pjmedia_codec_passthrough_g729 Passthrough G.729 + * + * G.729 supports 16-bit PCM audio signal with sampling rate 8000Hz, + * frame length 10ms, and resulting in bitrate 8000bps. + * + * \subsection codec_setting Codec Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * Note that G.729 VAD status should be signalled in SDP, see more + * description below. + * + * \subsubsection annexb Annex B + * + * The capability of VAD/DTX is specified in Annex B. + * + * By default, Annex B is enabled. This default setting of Annex B can + * be modified using #pjmedia_codec_mgr_set_default_param(). + * + * In #pjmedia_codec_param, Annex B is configured via VAD setting and + * format parameter "annexb" in the SDP "a=fmtp" attribute in + * decoding fmtp field. Valid values are "yes" and "no", + * the implementation default is "yes". When this parameter is omitted + * in the SDP, the value will be "yes" (RFC 4856 Section 2.1.9). + * + * Here is an example of modifying default setting of Annex B to + * be disabled using #pjmedia_codec_mgr_set_default_param(): + \code + pjmedia_codec_param param; + + pjmedia_codec_mgr_get_default_param(.., ¶m); + ... + // Set VAD + param.setting.vad = 0; + // Set SDP format parameter + param.setting.dec_fmtp.cnt = 1; + param.setting.dec_fmtp.param[0].name = pj_str("annexb"); + param.setting.dec_fmtp.param[0].val = pj_str("no"); + ... + pjmedia_codec_mgr_set_default_param(.., ¶m); + \endcode + * + * \note + * The difference of Annex B status in SDP offer/answer may be considered as + * incompatible codec in SDP negotiation. + * + * + * \section pjmedia_codec_passthrough_ilbc Passthrough iLBC + * + * The iLBC codec is developed by Global IP Solutions (GIPS), formerly + * Global IP Sound. The iLBC offers low bitrate and graceful audio quality + * degradation on frame losses. + * + * The iLBC codec supports 16-bit PCM audio signal with sampling rate of + * 8000Hz operating at two modes: 20ms and 30ms frame length modes, resulting + * in bitrates of 15.2kbps for 20ms mode and 13.33kbps for 30ms mode. + * + * \subsection codec_setting Codec Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * \subsubsection mode Mode + * + * The default mode should be set upon initialization, see + * #pjmedia_codec_passthrough_init2(). After the codec is initialized, the + * default mode can be modified using #pjmedia_codec_mgr_set_default_param(). + * + * In #pjmedia_codec_param, iLBC mode can be set by specifying SDP + * format parameter "mode" in the SDP "a=fmtp" attribute for decoding + * direction. Valid values are "20" and "30" (for 20ms and 30ms mode + * respectively). + * + * Here is an example to set up #pjmedia_codec_param to use mode 20ms: + * \code + pjmedia_codec_param param; + ... + // setting iLBC mode in SDP + param.setting.dec_fmtp.cnt = 1; + param.setting.dec_fmtp.param[0].name = pj_str("mode"); + param.setting.dec_fmtp.param[0].val = pj_str("20"); + ... + \endcode + * + * + * \section pjmedia_codec_passthrough_amr Passthrough AMR + * + * IPP AMR supports 16-bit PCM audio signal with sampling rate 8000Hz, + * 20ms frame length and producing various bitrates that ranges from 4.75kbps + * to 12.2kbps. + * + * \subsection codec_setting Codec Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * \subsubsection bitrate Bitrate + * + * By default, encoding bitrate is 7400bps. This default setting can be + * modified using #pjmedia_codec_mgr_set_default_param() by specifying + * prefered AMR bitrate in field info::avg_bps of + * #pjmedia_codec_param. Valid bitrates could be seen in + * #pjmedia_codec_amrnb_bitrates. + * + * \subsubsection payload_format Payload Format + * + * There are two AMR payload format types, bandwidth-efficient and + * octet-aligned. Default setting is using octet-aligned. This default payload + * format can be modified using #pjmedia_codec_mgr_set_default_param(). + * + * In #pjmedia_codec_param, payload format can be set by specifying SDP + * format parameters "octet-align" in the SDP "a=fmtp" attribute for + * decoding direction. Valid values are "0" (for bandwidth efficient mode) + * and "1" (for octet-aligned mode). + * + * \subsubsection mode_set Mode-Set + * + * Mode-set is used for restricting AMR modes in decoding direction. + * + * By default, no mode-set restriction applied. This default setting can be + * be modified using #pjmedia_codec_mgr_set_default_param(). + * + * In #pjmedia_codec_param, mode-set could be specified via format parameters + * "mode-set" in the SDP "a=fmtp" attribute for decoding direction. Valid + * value is a comma separated list of modes from the set 0 - 7, e.g: + * "4,5,6,7". When this parameter is omitted, no mode-set restrictions applied. + * + * Here is an example of modifying AMR default codec param: + \code + pjmedia_codec_param param; + + pjmedia_codec_mgr_get_default_param(.., ¶m); + ... + // set default encoding bitrate to the highest 12.2kbps + param.info.avg_bps = 12200; + + // restrict decoding bitrate to 10.2kbps and 12.2kbps only + param.setting.dec_fmtp.param[0].name = pj_str("mode-set"); + param.setting.dec_fmtp.param[0].val = pj_str("6,7"); + + // also set to use bandwidth-efficient payload format + param.setting.dec_fmtp.param[1].name = pj_str("octet-align"); + param.setting.dec_fmtp.param[1].val = pj_str("0"); + + param.setting.dec_fmtp.cnt = 2; + ... + pjmedia_codec_mgr_set_default_param(.., ¶m); + \endcode + * + * + * \section pjmedia_codec_passthrough_g711 Passthrough G.711 + * + * The G.711 is an ultra low complexity codecs and in trade-off it results + * in high bitrate, i.e: 64kbps for 16-bit PCM with sampling rate 8000Hz. + * + * The factory contains two main compression algorithms, PCMU/u-Law and + * PCMA/A-Law. + * + * \subsection codec_setting Codec Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + */ + +PJ_BEGIN_DECL + + +/** + * Codec passthrough configuration settings. + */ +typedef struct pjmedia_codec_passthrough_setting +{ + unsigned fmt_cnt; /**< Number of encoding formats + to be enabled. */ + pjmedia_format *fmts; /**< Encoding formats to be + enabled. */ + unsigned ilbc_mode; /**< iLBC default mode. */ +} pjmedia_codec_passthrough_setting; + + +/** + * Initialize and register passthrough codecs factory to pjmedia endpoint, + * all supported encoding formats will be enabled. + * + * @param endpt The pjmedia endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_passthrough_init( pjmedia_endpt *endpt ); + + +/** + * Initialize and register passthrough codecs factory to pjmedia endpoint + * with only specified encoding formats enabled. + * + * @param endpt The pjmedia endpoint. + * @param setting The settings. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_passthrough_init2( + pjmedia_endpt *endpt, + const pjmedia_codec_passthrough_setting *setting); + + +/** + * Unregister passthrough codecs factory from pjmedia endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_passthrough_deinit(void); + + +PJ_END_DECL + + +/** + * @} + */ + +#endif /* __PJMEDIA_CODECS_PASSTHROUGH_H__ */ + diff --git a/pjmedia/include/pjmedia-codec/silk.h b/pjmedia/include/pjmedia-codec/silk.h new file mode 100644 index 0000000..810faca --- /dev/null +++ b/pjmedia/include/pjmedia-codec/silk.h @@ -0,0 +1,133 @@ +/* $Id: silk.h 4264 2012-09-24 06:58:16Z nanang $ */ +/* + * Copyright (C) 2012-2012 Teluu Inc. (http://www.teluu.com) + * Contributed by Regis Montoya (aka r3gis - www.r3gis.fr) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_SILK_H__ +#define __PJMEDIA_CODEC_SILK_H__ + +/** + * @file silk.h + * @brief SILK codec. + */ + +#include + +/** + * @defgroup PJMED_SILK SILK Codec Family + * @ingroup PJMEDIA_CODEC_CODECS + * @brief Implementation of SILK codecs (narrow/medium/wide/superwide-band). + * @{ + * + * This section describes functions to initialize and register SILK codec + * factory to the codec manager. After the codec factory has been registered, + * application can use @ref PJMEDIA_CODEC API to manipulate the codec. + * + * The SILK codec uses multiple bit rates, and supports super wideband + * (24 kHz sampling rate), wideband (16 kHz sampling rate), medium (12kHz + * sampling rate), and narrowband (telephone quality, 8 kHz sampling rate). + * + * By default, the SILK codec factory registers two SILK codecs: + * "SILK/8000" narrowband codec and "SILK/16000" wideband codec. This behavior + * can be changed by specifying #pjmedia_codec_silk_options flags during + * initialization. + * + * + * \section codec_setting Codec Settings + * + * \subsection general_setting General Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * \subsection specific_setting Codec Specific Settings + * + * The following settings are applicable for this codec. + * + * \subsubsection quality_vs_complexity Quality vs Complexity + * + * The SILK codec quality versus computational complexity and bandwidth + * requirement can be adjusted by modifying the quality and complexity + * setting, by calling #pjmedia_codec_silk_set_config(). + * + * The default setting of quality is specified in + * #PJMEDIA_CODEC_SILK_DEFAULT_QUALITY. And the default setting of + * complexity is specified in #PJMEDIA_CODEC_SILK_DEFAULT_COMPLEXITY. + */ + +PJ_BEGIN_DECL + +typedef struct pjmedia_codec_silk_setting +{ + pj_bool_t enabled; /**< Enable/disable. */ + int quality; /**< Encoding quality, or use -1 for default + (@see PJMEDIA_CODEC_SILK_DEFAULT_QUALITY). */ + int complexity; /**< Encoding complexity, or use -1 for default + (@see PJMEDIA_CODEC_SILK_DEFAULT_COMPLEXITY)*/ +} pjmedia_codec_silk_setting; + + +/** + * Initialize and register SILK codec factory to pjmedia endpoint. By default, + * only narrowband (8kHz sampling rate) and wideband (16kHz sampling rate) + * will be enabled. Quality and complexity for those sampling rate modes + * will be set to the default values (see #PJMEDIA_CODEC_SILK_DEFAULT_QUALITY + * and #PJMEDIA_CODEC_SILK_DEFAULT_COMPLEXITY), application may modify these + * settings via #pjmedia_codec_silk_set_config(). + * + * @param endpt The pjmedia endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_silk_init(pjmedia_endpt *endpt); + + +/** + * Change the configuration setting of the SILK codec for the specified + * clock rate. + * + * @param clock_rate PCM sampling rate, in Hz, valid values are 8000, + * 12000, 16000 and 24000. + * @param opt The setting to be applied for the specified + * clock rate. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_silk_set_config( + unsigned clock_rate, + const pjmedia_codec_silk_setting *opt); + + +/** + * Unregister SILK codec factory from pjmedia endpoint and deinitialize + * the SILK codec library. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_silk_deinit(void); + + +PJ_END_DECL + + +/** + * @} + */ + +#endif /* __PJMEDIA_CODEC_SILK_H__ */ + diff --git a/pjmedia/include/pjmedia-codec/speex.h b/pjmedia/include/pjmedia-codec/speex.h new file mode 100644 index 0000000..12b3fa4 --- /dev/null +++ b/pjmedia/include/pjmedia-codec/speex.h @@ -0,0 +1,150 @@ +/* $Id: speex.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_SPEEX_H__ +#define __PJMEDIA_CODEC_SPEEX_H__ + +/** + * @file speex.h + * @brief Speex codec header. + */ + +#include + +/** + * @defgroup PJMED_SPEEX Speex Codec Family + * @ingroup PJMEDIA_CODEC_CODECS + * @brief Implementation of Speex codecs (narrow/wide/ultrawide-band). + * @{ + * + * This section describes functions to initialize and register speex codec + * factory to the codec manager. After the codec factory has been registered, + * application can use @ref PJMEDIA_CODEC API to manipulate the codec. + * + * The Speex codec uses multiple bit rates, and supports ultra-wideband + * (32 kHz sampling rate), wideband (16 kHz sampling rate) and narrowband + * (telephone quality, 8 kHz sampling rate) + * + * By default, the speex codec factory registers three Speex codecs: + * "speex/8000" narrowband codec, "speex/16000" wideband codec, and + * "speex/32000" ultra-wideband codec. This behavior can be changed by + * specifying #pjmedia_speex_options flags during initialization. + * + * + * \section codec_setting Codec Settings + * + * \subsection general_setting General Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * \subsection specific_setting Codec Specific Settings + * + * The following settings are applicable for this codec. + * + * \subsubsection quality_vs_complexity Quality vs Complexity + * + * The Speex codec quality versus computational complexity and bandwidth + * requirement can be adjusted by modifying the quality and complexity + * setting, by calling #pjmedia_codec_speex_set_param(). The RFC 5574 + * Section 5 shows the relationship between quality setting and the + * resulting bitrate. + * + * The default setting of quality is specified in + * #PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY. And the default setting of + * complexity is specified in #PJMEDIA_CODEC_SPEEX_DEFAULT_COMPLEXITY. + */ + +PJ_BEGIN_DECL + + +/** + * Bitmask options to be passed during Speex codec factory initialization. + */ +enum pjmedia_speex_options +{ + PJMEDIA_SPEEX_NO_NB = 1, /**< Disable narrowband mode. */ + PJMEDIA_SPEEX_NO_WB = 2, /**< Disable wideband mode. */ + PJMEDIA_SPEEX_NO_UWB = 4, /**< Disable ultra-wideband mode. */ +}; + + +/** + * Initialize and register Speex codec factory to pjmedia endpoint. + * + * @param endpt The pjmedia endpoint. + * @param options Bitmask of pjmedia_speex_options (default=0). + * @param quality Specify encoding quality, or use -1 for default + * (@see PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY). + * @param complexity Specify encoding complexity , or use -1 for default + * (@see PJMEDIA_CODEC_SPEEX_DEFAULT_COMPLEXITY). + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_speex_init( pjmedia_endpt *endpt, + unsigned options, + int quality, + int complexity ); + + +/** + * Initialize Speex codec factory using default settings and register to + * pjmedia endpoint. + * + * @param endpt The pjmedia endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_speex_init_default(pjmedia_endpt *endpt); + + +/** + * Change the settings of Speex codec. + * + * @param clock_rate Clock rate of Speex mode to be set. + * @param quality Specify encoding quality, or use -1 for default + * (@see PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY). + * @param complexity Specify encoding complexity , or use -1 for default + * (@see PJMEDIA_CODEC_SPEEX_DEFAULT_COMPLEXITY). + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_speex_set_param(unsigned clock_rate, + int quality, + int complexity); + + +/** + * Unregister Speex codec factory from pjmedia endpoint and deinitialize + * the Speex codec library. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_speex_deinit(void); + + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJMEDIA_CODEC_SPEEX_H__ */ + diff --git a/pjmedia/include/pjmedia-codec/types.h b/pjmedia/include/pjmedia-codec/types.h new file mode 100644 index 0000000..53e71e1 --- /dev/null +++ b/pjmedia/include/pjmedia-codec/types.h @@ -0,0 +1,130 @@ +/* $Id: types.h 4264 2012-09-24 06:58:16Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_TYPES_H__ +#define __PJMEDIA_CODEC_TYPES_H__ + +/** + * @file types.h + * @brief PJMEDIA-CODEC types and constants + */ + +#include +#include + +/** + * @defgroup pjmedia_codec_types PJMEDIA-CODEC Types and Constants + * @ingroup PJMEDIA_CODEC + * @brief Constants used by PJMEDIA-CODEC + * @{ + */ + + + +/** + * These are the dynamic payload types that are used by audio codecs in + * this library. Also see the header file for list + * of static payload types. + */ +enum pjmedia_audio_pt +{ + /* According to IANA specifications, dynamic payload types are to be in + * the range 96-127 (inclusive). This enum is structured to place the + * values of the payload types specified below into that range. + * + * PJMEDIA_RTP_PT_DYNAMIC is defined in . It is defined + * to be 96. + * + * PJMEDIA_RTP_PT_TELEPHONE_EVENTS is defined in . + * The default value is 96. + */ +#if PJMEDIA_RTP_PT_TELEPHONE_EVENTS + PJMEDIA_RTP_PT_START = PJMEDIA_RTP_PT_TELEPHONE_EVENTS, +#else + PJMEDIA_RTP_PT_START = (PJMEDIA_RTP_PT_DYNAMIC-1), +#endif + + PJMEDIA_RTP_PT_SPEEX_NB, /**< Speex narrowband/8KHz */ + PJMEDIA_RTP_PT_SPEEX_WB, /**< Speex wideband/16KHz */ + PJMEDIA_RTP_PT_SPEEX_UWB, /**< Speex 32KHz */ + PJMEDIA_RTP_PT_SILK_NB, /**< SILK narrowband/8KHz */ + PJMEDIA_RTP_PT_SILK_MB, /**< SILK mediumband/12KHz */ + PJMEDIA_RTP_PT_SILK_WB, /**< SILK wideband/16KHz */ + PJMEDIA_RTP_PT_SILK_SWB, /**< SILK 24KHz */ + PJMEDIA_RTP_PT_ILBC, /**< iLBC (13.3/15.2Kbps) */ + PJMEDIA_RTP_PT_AMR, /**< AMR (4.75 - 12.2Kbps) */ + PJMEDIA_RTP_PT_AMRWB, /**< AMRWB (6.6 - 23.85Kbps)*/ + PJMEDIA_RTP_PT_AMRWBE, /**< AMRWBE */ + PJMEDIA_RTP_PT_G726_16, /**< G726 @ 16Kbps */ + PJMEDIA_RTP_PT_G726_24, /**< G726 @ 24Kbps */ + PJMEDIA_RTP_PT_G726_32, /**< G726 @ 32Kbps */ + PJMEDIA_RTP_PT_G726_40, /**< G726 @ 40Kbps */ + PJMEDIA_RTP_PT_G722_1_16, /**< G722.1 (16Kbps) */ + PJMEDIA_RTP_PT_G722_1_24, /**< G722.1 (24Kbps) */ + PJMEDIA_RTP_PT_G722_1_32, /**< G722.1 (32Kbps) */ + PJMEDIA_RTP_PT_G7221C_24, /**< G722.1 Annex C (24Kbps)*/ + PJMEDIA_RTP_PT_G7221C_32, /**< G722.1 Annex C (32Kbps)*/ + PJMEDIA_RTP_PT_G7221C_48, /**< G722.1 Annex C (48Kbps)*/ + PJMEDIA_RTP_PT_G7221_RSV1, /**< G722.1 reserve */ + PJMEDIA_RTP_PT_G7221_RSV2, /**< G722.1 reserve */ + PJMEDIA_RTP_PT_L16_8KHZ_MONO, /**< L16 @ 8KHz, mono */ + PJMEDIA_RTP_PT_L16_8KHZ_STEREO, /**< L16 @ 8KHz, stereo */ + //PJMEDIA_RTP_PT_L16_11KHZ_MONO, /**< L16 @ 11KHz, mono */ + //PJMEDIA_RTP_PT_L16_11KHZ_STEREO, /**< L16 @ 11KHz, stereo */ + PJMEDIA_RTP_PT_L16_16KHZ_MONO, /**< L16 @ 16KHz, mono */ + PJMEDIA_RTP_PT_L16_16KHZ_STEREO, /**< L16 @ 16KHz, stereo */ + //PJMEDIA_RTP_PT_L16_22KHZ_MONO, /**< L16 @ 22KHz, mono */ + //PJMEDIA_RTP_PT_L16_22KHZ_STEREO, /**< L16 @ 22KHz, stereo */ + //PJMEDIA_RTP_PT_L16_32KHZ_MONO, /**< L16 @ 32KHz, mono */ + //PJMEDIA_RTP_PT_L16_32KHZ_STEREO, /**< L16 @ 32KHz, stereo */ + //PJMEDIA_RTP_PT_L16_48KHZ_MONO, /**< L16 @ 48KHz, mono */ + //PJMEDIA_RTP_PT_L16_48KHZ_STEREO, /**< L16 @ 48KHz, stereo */ + + /* Caution! + * Ensure the value of the last pt above is <= 127. + */ +}; + +/** + * These are the dynamic payload types that are used by video codecs in + * this library. + */ +enum pjmedia_video_pt +{ + /* Video payload types */ + PJMEDIA_RTP_PT_VID_START = (PJMEDIA_RTP_PT_DYNAMIC-1), + PJMEDIA_RTP_PT_H263P, + PJMEDIA_RTP_PT_H264, + PJMEDIA_RTP_PT_H264_RSV1, + PJMEDIA_RTP_PT_H264_RSV2, + PJMEDIA_RTP_PT_H264_RSV3, + PJMEDIA_RTP_PT_H264_RSV4, + + /* Caution! + * Ensure the value of the last pt above is <= 127. + */ +}; + + +/** + * @} + */ + + +#endif /* __PJMEDIA_CODEC_TYPES_H__ */ diff --git a/pjmedia/include/pjmedia-videodev/avi_dev.h b/pjmedia/include/pjmedia-videodev/avi_dev.h new file mode 100644 index 0000000..f005c36 --- /dev/null +++ b/pjmedia/include/pjmedia-videodev/avi_dev.h @@ -0,0 +1,139 @@ +/* $Id: avi_dev.h 5117 2015-06-25 04:51:59Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_VIDEODEV_AVI_DEV_H__ +#define __PJMEDIA_VIDEODEV_AVI_DEV_H__ + +/** + * @file avi_dev.h + * @brief AVI player virtual device + */ +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup avi_dev AVI Player Virtual Device + * @ingroup video_device_api + * @brief AVI player virtual device + * @{ + * This describes a virtual capture device which takes its input from an AVI + * file. + */ + +/** + * Settings for the AVI player virtual device. This param corresponds to + * PJMEDIA_VID_DEV_CAP_AVI_PLAY capability of the video device/stream. + */ +typedef struct pjmedia_avi_dev_param +{ + /** + * Specifies the full path of the AVI file to be played. + */ + pj_str_t path; + + /** + * If this setting is specified when setting the device, this specifies + * the title to be assigned as the device name. If this setting not + * specified, the filename part of the path will be used. + */ + pj_str_t title; + + /** + * The underlying AVI streams created by the device. If the value is NULL, + * that means the device has not been configured yet. Application can use + * this field to retrieve the audio stream of the AVI. This setting is + * "get"-only and will be ignored in "set capability" operation. + */ + pjmedia_avi_streams *avi_streams; + +} pjmedia_avi_dev_param; + + +/** + * Reset pjmedia_avi_dev_param with the default settings. This mostly will + * reset all values to NULL or zero. + * + * @param p The parameter to be initialized. + */ +PJ_DECL(void) pjmedia_avi_dev_param_default(pjmedia_avi_dev_param *p); + + +/** + * Create a AVI device factory, and register it to the video device + * subsystem. At least one factory needs to be created before an AVI + * device can be allocated and used, and normally only one factory is + * needed per application. + * + * @param pf Pool factory to be used. + * @param max_dev Number of devices to be reserved. + * @param p_ret Pointer to return the factory instance, to be + * used when allocating a virtual device. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_avi_dev_create_factory( + pj_pool_factory *pf, + unsigned max_dev, + pjmedia_vid_dev_factory **p_ret); + +/** + * Allocate one device ID to be used to play the specified AVI file in + * the parameter. + * + * @param param The parameter, with at least the AVI file path + * set. + * @param p_id Optional pointer to receive device ID to play + * the file. + * + * @return PJ_SUCCESS or the appropriate error code. + * + */ +PJ_DECL(pj_status_t) pjmedia_avi_dev_alloc(pjmedia_vid_dev_factory *f, + pjmedia_avi_dev_param *param, + pjmedia_vid_dev_index *p_id); + +/** + * Retrieve the parameters set for the virtual device. + * + * @param id Device ID. + * @param prm Structure to receive the settings. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_avi_dev_get_param(pjmedia_vid_dev_index id, + pjmedia_avi_dev_param *param); + +/** + * Free the resources associated with the virtual device. + * + * @param id The device ID. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_avi_dev_free(pjmedia_vid_dev_index id); + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJMEDIA_VIDEODEV_AVI_DEV_H__ */ diff --git a/pjmedia/include/pjmedia-videodev/config.h b/pjmedia/include/pjmedia-videodev/config.h new file mode 100644 index 0000000..e2de10c --- /dev/null +++ b/pjmedia/include/pjmedia-videodev/config.h @@ -0,0 +1,306 @@ +/* $Id: config.h 5125 2015-07-03 06:21:30Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_VIDEODEV_CONFIG_H__ +#define __PJMEDIA_VIDEODEV_CONFIG_H__ + +/** + * @file config.h + * @brief Video config. + */ +#include +#include + + +PJ_BEGIN_DECL + +/** + * @defgroup video_device_api Video Device API + * @brief PJMEDIA video device abstraction API. + */ + +/** + * @defgroup s1_video_device_config Compile time configurations + * @ingroup video_device_api + * @brief Compile time configurations + * @{ + */ + +/** + * This setting controls the maximum number of formats that can be + * supported by a video device. + * + * Default: 64 + */ +#ifndef PJMEDIA_VID_DEV_INFO_FMT_CNT +# define PJMEDIA_VID_DEV_INFO_FMT_CNT 64 +#endif + + +#if defined(PJMEDIA_HAS_VIDEO) && (PJMEDIA_HAS_VIDEO != 0) + +/** + * This setting controls the maximum number of supported video device drivers. + * + * Default: 8 + */ +#ifndef PJMEDIA_VID_DEV_MAX_DRIVERS +# define PJMEDIA_VID_DEV_MAX_DRIVERS 8 +#endif + +/** + * This setting controls the maximum number of supported video devices. + * + * Default: 16 + */ +#ifndef PJMEDIA_VID_DEV_MAX_DEVS +# define PJMEDIA_VID_DEV_MAX_DEVS 16 +#endif + + +/** + * This setting controls whether OpenGL for iOS should be included. + * + * Default: 0 (or detected by configure) + */ +#ifndef PJMEDIA_VIDEO_DEV_HAS_IOS_OPENGL +# define PJMEDIA_VIDEO_DEV_HAS_IOS_OPENGL 0 +#else +# if defined(PJMEDIA_VIDEO_DEV_HAS_IOS_OPENGL) && \ + PJMEDIA_VIDEO_DEV_HAS_IOS_OPENGL != 0 +# undef PJMEDIA_VIDEO_DEV_HAS_OPENGL_ES +# define PJMEDIA_VIDEO_DEV_HAS_OPENGL_ES 1 +# endif +#endif + + +/** + * This setting controls whether OpenGL for Android should be included. + * + * Default: 0 (or detected by configure) + */ +#ifndef PJMEDIA_VIDEO_DEV_HAS_ANDROID_OPENGL +# define PJMEDIA_VIDEO_DEV_HAS_ANDROID_OPENGL 0 +#else +# if defined(PJMEDIA_VIDEO_DEV_HAS_ANDROID_OPENGL) && \ + PJMEDIA_VIDEO_DEV_HAS_ANDROID_OPENGL != 0 +# undef PJMEDIA_VIDEO_DEV_HAS_OPENGL_ES +# define PJMEDIA_VIDEO_DEV_HAS_OPENGL_ES 1 +# endif +#endif + + +/** + * This setting controls whether OpenGL ES support should be included. + * + * Default: 0 (or detected by configure) + */ +#ifndef PJMEDIA_VIDEO_DEV_HAS_OPENGL_ES +# define PJMEDIA_VIDEO_DEV_HAS_OPENGL_ES 0 +#else +# if defined(PJMEDIA_VIDEO_DEV_HAS_OPENGL_ES) && \ + PJMEDIA_VIDEO_DEV_HAS_OPENGL_ES != 0 +# undef PJMEDIA_VIDEO_DEV_HAS_OPENGL +# define PJMEDIA_VIDEO_DEV_HAS_OPENGL 1 +# endif +#endif + + +/** + * This setting controls whether OpenGL support should be included. + * + * Default: 0 (or detected by configure) + */ +#ifndef PJMEDIA_VIDEO_DEV_HAS_OPENGL +# define PJMEDIA_VIDEO_DEV_HAS_OPENGL 0 +#endif + + +/** + * This setting controls whether SDL support should be included. + * + * Default: 0 (or detected by configure) + */ +#ifndef PJMEDIA_VIDEO_DEV_HAS_SDL +# define PJMEDIA_VIDEO_DEV_HAS_SDL 0 +# define PJMEDIA_VIDEO_DEV_SDL_HAS_OPENGL 0 +#endif + + +/** + * This setting controls whether QT support should be included. + * + * Default: 0 (or detected by configure) + */ +#ifndef PJMEDIA_VIDEO_DEV_HAS_QT +# define PJMEDIA_VIDEO_DEV_HAS_QT 0 +#endif + + +/** + * This setting controls whether IOS support should be included. + * + * Default: 0 (or detected by configure) + */ +#ifndef PJMEDIA_VIDEO_DEV_HAS_IOS +# define PJMEDIA_VIDEO_DEV_HAS_IOS 0 +#endif + + +/** + * This setting controls whether Direct Show support should be included. + * + * Default: 0 (unfinished) + */ +#ifndef PJMEDIA_VIDEO_DEV_HAS_DSHOW +# define PJMEDIA_VIDEO_DEV_HAS_DSHOW 0 //PJ_WIN32 +#endif + + +/** + * This setting controls whether colorbar source support should be included. + * + * Default: 1 + */ +#ifndef PJMEDIA_VIDEO_DEV_HAS_CBAR_SRC +# define PJMEDIA_VIDEO_DEV_HAS_CBAR_SRC 1 +#endif + + +/** + * This setting controls whether ffmpeg support should be included. + * + * Default: 0 (unfinished) + */ +#ifndef PJMEDIA_VIDEO_DEV_HAS_FFMPEG +# define PJMEDIA_VIDEO_DEV_HAS_FFMPEG 0 +#endif + + +/** + * Video4Linux2 + * + * Default: 0 (or detected by configure) + */ +#ifndef PJMEDIA_VIDEO_DEV_HAS_V4L2 +# define PJMEDIA_VIDEO_DEV_HAS_V4L2 0 +#endif + + +/** + * Enable support for AVI player virtual capture device. + * + * Default: 1 + */ +#ifndef PJMEDIA_VIDEO_DEV_HAS_AVI +# define PJMEDIA_VIDEO_DEV_HAS_AVI 1 +#endif + + +/** + * This setting controls whether Android support should be included. + * + * Default: 0 (or detected by configure) + */ +#ifndef PJMEDIA_VIDEO_DEV_HAS_ANDROID +# define PJMEDIA_VIDEO_DEV_HAS_ANDROID 0 +#endif + + +/** + * Specify the SDL library name to be linked with Visual Studio project. + * By default, the name is autodetected based on SDL version ("sdl.lib" or + * "sdl2.lib"), but application may explicitly specify the library name if this + * autodetection fails. Common names are: "sdl2.lib" or "sdl.lib". + * + * Default: undeclared. + */ +#ifndef PJMEDIA_SDL_LIB +# undef PJMEDIA_SDL_LIB +#endif + +#endif /* defined(PJMEDIA_HAS_VIDEO) && (PJMEDIA_HAS_VIDEO != 0) */ + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJMEDIA_VIDEODEV_CONFIG_H__ */ + +/* + --------------------- DOCUMENTATION FOLLOWS --------------------------- + */ + +/** + * @addtogroup video_device_api Video Device API + * @{ + +PJMEDIA Video Device API is a cross-platform video API appropriate for use with +VoIP applications and many other types of video streaming applications. + +The API abstracts many different video API's on various platforms, such as: + - native Direct Show video for Win32 and Windows Mobile devices + - null-video implementation + - and more to be implemented in the future + +The Video Device API/library is an evolution from PJMEDIA @ref PJMED_SND and +contains many enhancements: + + - Forward compatibility: +\n + The new API has been designed to be extensible, it will support new API's as + well as new features that may be introduced in the future without breaking + compatibility with applications that use this API as well as compatibility + with existing device implementations. + + - Device capabilities: +\n + At the heart of the API is device capabilities management, where all possible + video capabilities of video devices should be able to be handled in a generic + manner. With this framework, new capabilities that may be discovered in the + future can be handled in manner without breaking existing applications. + + - Built-in features: +\n + The device capabilities framework enables applications to use and control + video features built-in in the device, such as: + - built-in formats, + - etc. + + - Codec support: +\n + Some video devices support built-in hardware video codecs, and application + can use the video device in encoded mode to make use of these hardware + codecs. + + - Multiple backends: +\n + The new API supports multiple video backends (called factories or drivers in + the code) to be active simultaneously, and video backends may be added or + removed during run-time. + +*/ + + +/** + * @} + */ + diff --git a/pjmedia/include/pjmedia-videodev/errno.h b/pjmedia/include/pjmedia-videodev/errno.h new file mode 100644 index 0000000..9b4c49d --- /dev/null +++ b/pjmedia/include/pjmedia-videodev/errno.h @@ -0,0 +1,159 @@ +/* $Id: errno.h 3715 2011-08-19 09:35:25Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_VIDEODEV_VIDEODEV_ERRNO_H__ +#define __PJMEDIA_VIDEODEV_VIDEODEV_ERRNO_H__ + +/** + * @file errno.h Error Codes + * @brief Videodev specific error codes. + */ + +#include +#include + +/** + * @defgroup error_codes Error Codes + * @ingroup video_device_api + * @brief Video device library specific error codes. + * @{ + */ + + +PJ_BEGIN_DECL + + +/** + * Start of error code relative to PJ_ERRNO_START_USER. + * This value is 520000. + */ +#define PJMEDIA_VIDEODEV_ERRNO_START \ + (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE*7) +#define PJMEDIA_VIDEODEV_ERRNO_END \ + (PJMEDIA_VIDEODEV_ERRNO_START + PJ_ERRNO_SPACE_SIZE - 1) + + +/************************************************************ + * Video Device API error codes + ***********************************************************/ +/** + * @hideinitializer + * General/unknown error. + */ +#define PJMEDIA_EVID_ERR (PJMEDIA_VIDEODEV_ERRNO_START+1) /* 520001 */ + +/** + * @hideinitializer + * Unknown error from video driver + */ +#define PJMEDIA_EVID_SYSERR (PJMEDIA_VIDEODEV_ERRNO_START+2) /* 520002 */ + +/** + * @hideinitializer + * Video subsystem not initialized + */ +#define PJMEDIA_EVID_INIT (PJMEDIA_VIDEODEV_ERRNO_START+3) /* 520003 */ + +/** + * @hideinitializer + * Invalid video device + */ +#define PJMEDIA_EVID_INVDEV (PJMEDIA_VIDEODEV_ERRNO_START+4) /* 520004 */ + +/** + * @hideinitializer + * Found no devices + */ +#define PJMEDIA_EVID_NODEV (PJMEDIA_VIDEODEV_ERRNO_START+5) /* 520005 */ + +/** + * @hideinitializer + * Unable to find default device + */ +#define PJMEDIA_EVID_NODEFDEV (PJMEDIA_VIDEODEV_ERRNO_START+6) /* 520006 */ + +/** + * @hideinitializer + * Device not ready + */ +#define PJMEDIA_EVID_NOTREADY (PJMEDIA_VIDEODEV_ERRNO_START+7) /* 520007 */ + +/** + * @hideinitializer + * The video capability is invalid or not supported + */ +#define PJMEDIA_EVID_INVCAP (PJMEDIA_VIDEODEV_ERRNO_START+8) /* 520008 */ + +/** + * @hideinitializer + * The operation is invalid or not supported + */ +#define PJMEDIA_EVID_INVOP (PJMEDIA_VIDEODEV_ERRNO_START+9) /* 520009 */ + +/** + * @hideinitializer + * Bad or invalid video device format + */ +#define PJMEDIA_EVID_BADFORMAT (PJMEDIA_VIDEODEV_ERRNO_START+10) /* 520010 */ + +/** + * @hideinitializer + * Invalid video device sample format + */ +#define PJMEDIA_EVID_SAMPFORMAT (PJMEDIA_VIDEODEV_ERRNO_START+11) /* 520011 */ + +/** + * @hideinitializer + * Bad latency setting + */ +#define PJMEDIA_EVID_BADLATENCY (PJMEDIA_VIDEODEV_ERRNO_START+12) /* 520012 */ + +/** + * @hideinitializer + * Bad/unsupported video size + */ +#define PJMEDIA_EVID_BADSIZE (PJMEDIA_VIDEODEV_ERRNO_START+13) /* 520013 */ + + +/** + * Get error message for the specified error code. Note that this + * function is only able to decode PJMEDIA Videodev specific error code. + * Application should use pj_strerror(), which should be able to + * decode all error codes belonging to all subsystems (e.g. pjlib, + * pjmedia, pjsip, etc). + * + * @param status The error code. + * @param buffer The buffer where to put the error message. + * @param bufsize Size of the buffer. + * + * @return The error message as NULL terminated string, + * wrapped with pj_str_t. + */ +PJ_DECL(pj_str_t) pjmedia_videodev_strerror(pj_status_t status, char *buffer, + pj_size_t bufsize); + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_VIDEODEV_VIDEODEV_ERRNO_H__ */ + diff --git a/pjmedia/include/pjmedia-videodev/opengl_dev.h b/pjmedia/include/pjmedia-videodev/opengl_dev.h new file mode 100644 index 0000000..16ef6c3 --- /dev/null +++ b/pjmedia/include/pjmedia-videodev/opengl_dev.h @@ -0,0 +1,53 @@ +/* $Id: opengl_dev.h 5117 2015-06-25 04:51:59Z ming $ */ +/* + * Copyright (C) 2013-2014 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_VIDEODEV_OPENGL_DEV_H__ +#define __PJMEDIA_VIDEODEV_OPENGL_DEV_H__ + +#include + +/* OpenGL implementation on each platform needs to implement these functions + * and stream operations. + */ +/* Get capabilities of the implementation */ +int pjmedia_vid_dev_opengl_imp_get_cap(void); + +/* Create OpenGL stream */ +pj_status_t +pjmedia_vid_dev_opengl_imp_create_stream(pj_pool_t *pool, + pjmedia_vid_dev_param *param, + const pjmedia_vid_dev_cb *cb, + void *user_data, + pjmedia_vid_dev_stream **p_vid_strm); + +/****************************************************************************/ +/* OpenGL buffers opaque structure. */ +typedef struct gl_buffers gl_buffers; + +/* Create OpenGL buffers. */ +void pjmedia_vid_dev_opengl_create_buffers(pj_pool_t *pool, pj_bool_t direct, + gl_buffers **glb); +/* Initialize OpenGL buffers. */ +pj_status_t pjmedia_vid_dev_opengl_init_buffers(gl_buffers *glb); +/* Render a texture. */ +pj_status_t pjmedia_vid_dev_opengl_draw(gl_buffers *glb,unsigned int width, + unsigned int height, void *pixels); +/* Destroy OpenGL buffers. */ +void pjmedia_vid_dev_opengl_destroy_buffers(gl_buffers *glb); + +#endif /* __PJMEDIA_VIDEODEV_OPENGL_DEV_H__ */ diff --git a/pjmedia/include/pjmedia-videodev/videodev.h b/pjmedia/include/pjmedia-videodev/videodev.h new file mode 100644 index 0000000..8235104 --- /dev/null +++ b/pjmedia/include/pjmedia-videodev/videodev.h @@ -0,0 +1,839 @@ +/* $Id: videodev.h 5125 2015-07-03 06:21:30Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_VIDEODEV_VIDEODEV_H__ +#define __PJMEDIA_VIDEODEV_VIDEODEV_H__ + +/** + * @file videodev.h + * @brief Video device API. + */ +#include +#include +#include +#include +#include +#include + + +PJ_BEGIN_DECL + +/** + * @defgroup video_device_reference Video Device API Reference + * @ingroup video_device_api + * @brief API Reference + * @{ + */ + +/** + * Type for device index. + */ +typedef pj_int32_t pjmedia_vid_dev_index; + +/** + * Enumeration of window handle type. + */ +typedef enum pjmedia_vid_dev_hwnd_type +{ + /** + * Type none. + */ + PJMEDIA_VID_DEV_HWND_TYPE_NONE, + + /** + * Native window handle on Windows. + */ + PJMEDIA_VID_DEV_HWND_TYPE_WINDOWS, + + /** + * Native view on iOS. + */ + PJMEDIA_VID_DEV_HWND_TYPE_IOS, + + /** + * Native window handle on Android. + */ + PJMEDIA_VID_DEV_HWND_TYPE_ANDROID + +} pjmedia_vid_dev_hwnd_type; + +/** + * Type for window handle. + */ +typedef struct pjmedia_vid_dev_hwnd +{ + /** + * The window handle type. + */ + pjmedia_vid_dev_hwnd_type type; + + /** + * The window handle. + */ + union + { + struct { + void *hwnd; /**< HWND */ + } win; + struct { + void *window; /**< Window */ + void *display; /**< Display */ + } x11; + struct { + void *window; /**< Window */ + } cocoa; + struct { + void *window; /**< Window */ + } ios; + struct { + void *window; /**< Native window */ + } android; + void *window; + } info; + +} pjmedia_vid_dev_hwnd; + +/** + * Parameter for switching device with PJMEDIA_VID_DEV_CAP_SWITCH capability. + * Initialize this with pjmedia_vid_dev_switch_param_default() + */ +typedef struct pjmedia_vid_dev_switch_param +{ + /** + * Target device ID to switch to. Once the switching is successful, the + * video stream will use this device and the old device will be closed. + */ + pjmedia_vid_dev_index target_id; + +} pjmedia_vid_dev_switch_param; + + +/** + * Enumeration of window flags. + */ +typedef enum pjmedia_vid_dev_wnd_flag +{ + /** + * Window with border. + */ + PJMEDIA_VID_DEV_WND_BORDER = 1, + + /** + * Window can be resized. + */ + PJMEDIA_VID_DEV_WND_RESIZABLE = 2 + +} pjmedia_vid_dev_wnd_flag; + + +/** + * Device index constants. + */ +enum pjmedia_vid_dev_std_index +{ + /** + * Constant to denote default capture device + */ + PJMEDIA_VID_DEFAULT_CAPTURE_DEV = -1, + + /** + * Constant to denote default render device + */ + PJMEDIA_VID_DEFAULT_RENDER_DEV = -2, + + /** + * Constant to denote invalid device index. + */ + PJMEDIA_VID_INVALID_DEV = -3 +}; + + +/** + * This enumeration identifies various video device capabilities. These video + * capabilities indicates what features are supported by the underlying + * video device implementation. + * + * Applications get these capabilities in the #pjmedia_vid_dev_info structure. + * + * Application can also set the specific features/capabilities when opening + * the video stream by setting the \a flags member of #pjmedia_vid_dev_param + * structure. + * + * Once video stream is running, application can also retrieve or set some + * specific video capability, by using #pjmedia_vid_dev_stream_get_cap() and + * #pjmedia_vid_dev_stream_set_cap() and specifying the desired capability. The + * value of the capability is specified as pointer, and application needs to + * supply the pointer with the correct value, according to the documentation + * of each of the capability. + */ +typedef enum pjmedia_vid_dev_cap +{ + /** + * Support for video formats. The value of this capability + * is represented by #pjmedia_format structure. + */ + PJMEDIA_VID_DEV_CAP_FORMAT = 1, + + /** + * Support for video input scaling + */ + PJMEDIA_VID_DEV_CAP_INPUT_SCALE = 2, + + /** + * Support for returning the native window handle of the video window. + * For renderer, this means the window handle of the renderer window, + * while for capture, this means the window handle of the native preview, + * only if the device supports PJMEDIA_VID_DEV_CAP_INPUT_PREVIEW + * capability. + * + * The value of this capability is pointer to pjmedia_vid_dev_hwnd + * structure. + */ + PJMEDIA_VID_DEV_CAP_OUTPUT_WINDOW = 4, + + /** + * Support for resizing video output. This capability SHOULD be + * implemented by renderer, to alter the video output dimension on the fly. + * Value is pjmedia_rect_size. + */ + PJMEDIA_VID_DEV_CAP_OUTPUT_RESIZE = 8, + + /** + * Support for setting the video window's position. + * Value is pjmedia_coord specifying the window's new coordinate. + */ + PJMEDIA_VID_DEV_CAP_OUTPUT_POSITION = 16, + + /** + * Support for setting the video output's visibility. + * The value of this capability is a pj_bool_t containing boolean + * PJ_TRUE or PJ_FALSE. + */ + PJMEDIA_VID_DEV_CAP_OUTPUT_HIDE = 32, + + /** + * Support for native preview capability in capture devices. Value is + * pj_bool_t. With native preview, capture device can be instructed to + * show or hide a preview window showing video directly from the camera + * by setting this capability to PJ_TRUE or PJ_FALSE. Once the preview + * is started, application may use PJMEDIA_VID_DEV_CAP_OUTPUT_WINDOW + * capability to query the video window. + * + * The value of this capability is a pj_bool_t containing boolean + * PJ_TRUE or PJ_FALSE. + */ + PJMEDIA_VID_DEV_CAP_INPUT_PREVIEW = 64, + + /** + * Support for changing video orientation. For a renderer device, + * changing video orientation in will potentially affect the size of + * render window, i.e: width and height swap. For a capture device, + * the video will be rotated but the size of the video frame + * will stay the same, so the video may be resized or stretched. + * + * The value of this capability is pjmedia_orient. + */ + PJMEDIA_VID_DEV_CAP_ORIENTATION = 128, + + /** + * Support for fast switching to another device. A video stream with this + * capability allows replacing of its underlying device with another + * device, saving the user from opening a new video stream and gets a much + * faster and smoother switching action. + * + * Note that even when this capability is supported by a device, it may + * not be able to switch to arbitrary device. Application must always + * check the return value of the operation to verify that switching has + * occurred. + * + * This capability is currently write-only (i.e. set-only). + * + * The value of this capability is pointer to pjmedia_vid_dev_switch_param + * structure. + */ + PJMEDIA_VID_DEV_CAP_SWITCH = 256, + + /** + * Support for setting the output video window's flags. + * The value of this capability is a bitmask combination of + * #pjmedia_vid_dev_wnd_flag. + */ + PJMEDIA_VID_DEV_CAP_OUTPUT_WINDOW_FLAGS = 512, + + /** + * End of standard capability + */ + PJMEDIA_VID_DEV_CAP_MAX = 16384 + +} pjmedia_vid_dev_cap; + +/** + * Device information structure returned by #pjmedia_vid_dev_get_info(). + */ +typedef struct pjmedia_vid_dev_info +{ + /** The device ID */ + pjmedia_vid_dev_index id; + + /** The device name */ + char name[64]; + + /** The underlying driver name */ + char driver[32]; + + /** + * The supported direction of the video device, i.e. whether it supports + * capture only, render only, or both. + */ + pjmedia_dir dir; + + /** + * Specify whether the device supports callback. Devices that implement + * "active interface" will actively call the callbacks to give or ask for + * video frames. If the device doesn't support callback, application + * must actively request or give video frames from/to the device by using + * pjmedia_vid_dev_stream_get_frame()/pjmedia_vid_dev_stream_put_frame(). + */ + pj_bool_t has_callback; + + /** Device capabilities, as bitmask combination of #pjmedia_vid_dev_cap */ + unsigned caps; + + /** Number of video formats supported by this device */ + unsigned fmt_cnt; + + /** + * Array of supported video formats. Some fields in each supported video + * format may be set to zero or of "unknown" value, to indicate that the + * value is unknown or should be ignored. When these value are not set + * to zero, it indicates that the exact format combination is being used. + */ + pjmedia_format fmt[PJMEDIA_VID_DEV_INFO_FMT_CNT]; + +} pjmedia_vid_dev_info; + + +/** Forward declaration for pjmedia_vid_dev_stream */ +typedef struct pjmedia_vid_dev_stream pjmedia_vid_dev_stream; + +typedef struct pjmedia_vid_dev_cb +{ + /** + * This callback is called by capturer stream when it has captured the + * whole packet worth of video samples. + * + * @param stream The video stream. + * @param user_data User data associated with the stream. + * @param frame Captured frame. + * + * @return Returning non-PJ_SUCCESS will cause the video + * stream to stop + */ + pj_status_t (*capture_cb)(pjmedia_vid_dev_stream *stream, + void *user_data, + pjmedia_frame *frame); + + /** + * This callback is called by renderer stream when it needs additional + * data to be rendered by the device. Application must fill in the whole + * of output buffer with video samples. + * + * The frame argument contains the following values: + * - timestamp Rendering timestamp, in samples. + * - buf Buffer to be filled out by application. + * - size The size requested in bytes, which will be equal + * to the size of one whole packet. + * + * @param stream The video stream. + * @param user_data User data associated with the stream. + * @param frame Video frame, which buffer is to be filled in by + * the application. + * + * @return Returning non-PJ_SUCCESS will cause the video + * stream to stop + */ + pj_status_t (*render_cb)(pjmedia_vid_dev_stream *stream, + void *user_data, + pjmedia_frame *frame); + +} pjmedia_vid_dev_cb; + + +/** + * This structure specifies the parameters to open the video stream. + */ +typedef struct pjmedia_vid_dev_param +{ + /** + * The video direction. This setting is mandatory. + */ + pjmedia_dir dir; + + /** + * The video capture device ID. This setting is mandatory if the video + * direction includes input/capture direction. + */ + pjmedia_vid_dev_index cap_id; + + /** + * The video render device ID. This setting is mandatory if the video + * direction includes output/render direction. + */ + pjmedia_vid_dev_index rend_id; + + /** + * Video clock rate. This setting is mandatory if the video + * direction includes input/capture direction + */ + unsigned clock_rate; + + /** + * Video frame rate. This setting is mandatory if the video + * direction includes input/capture direction + */ +// pjmedia_ratio frame_rate; + + /** + * This flags specifies which of the optional settings are valid in this + * structure. The flags is bitmask combination of pjmedia_vid_dev_cap. + */ + unsigned flags; + + /** + * Set the video format. This setting is mandatory. + */ + pjmedia_format fmt; + + /** + * Window for the renderer to display the video. This setting is optional, + * and will only be used if PJMEDIA_VID_DEV_CAP_OUTPUT_WINDOW is set in + * the flags. + */ + pjmedia_vid_dev_hwnd window; + + /** + * Video display size. This setting is optional, and will only be used + * if PJMEDIA_VID_DEV_CAP_OUTPUT_RESIZE is set in the flags. + */ + pjmedia_rect_size disp_size; + + /** + * Video window position. This setting is optional, and will only be used + * if PJMEDIA_VID_DEV_CAP_OUTPUT_POSITION is set in the flags. + */ + pjmedia_coord window_pos; + + /** + * Video window's visibility. This setting is optional, and will only be + * used if PJMEDIA_VID_DEV_CAP_OUTPUT_HIDE is set in the flags. + */ + pj_bool_t window_hide; + + /** + * Enable built-in preview. This setting is optional and is only used + * if PJMEDIA_VID_DEV_CAP_INPUT_PREVIEW capability is supported and + * set in the flags. + */ + pj_bool_t native_preview; + + /** + * Video orientation. This setting is optional and is only used if + * PJMEDIA_VID_DEV_CAP_ORIENTATION capability is supported and is + * set in the flags. + */ + pjmedia_orient orient; + + /** + * Video window flags. This setting is optional, and will only be used + * if PJMEDIA_VID_DEV_CAP_OUTPUT_WINDOW_FLAGS is set in the flags. + */ + unsigned window_flags; + +} pjmedia_vid_dev_param; + + +/** Forward declaration for video device factory */ +typedef struct pjmedia_vid_dev_factory pjmedia_vid_dev_factory; + +/* typedef for factory creation function */ +typedef pjmedia_vid_dev_factory* +(*pjmedia_vid_dev_factory_create_func_ptr)(pj_pool_factory*); + +/** + * Initialize pjmedia_vid_dev_switch_param. + * + * @param p Parameter to be initialized. + */ +PJ_INLINE(void) +pjmedia_vid_dev_switch_param_default(pjmedia_vid_dev_switch_param *p) +{ + pj_bzero(p, sizeof(*p)); + p->target_id = PJMEDIA_VID_INVALID_DEV; +} + +/** + * Get string info for the specified capability. + * + * @param cap The capability ID. + * @param p_desc Optional pointer which will be filled with longer + * description about the capability. + * + * @return Capability name. + */ +PJ_DECL(const char*) pjmedia_vid_dev_cap_name(pjmedia_vid_dev_cap cap, + const char **p_desc); + + +/** + * Set a capability field value in #pjmedia_vid_dev_param structure. This will + * also set the flags field for the specified capability in the structure. + * + * @param param The structure. + * @param cap The video capability which value is to be set. + * @param pval Pointer to value. Please see the type of value to + * be supplied in the pjmedia_vid_dev_cap documentation. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_dev_param_set_cap(pjmedia_vid_dev_param *param, + pjmedia_vid_dev_cap cap, + const void *pval); + + +/** + * Get a capability field value from #pjmedia_vid_dev_param structure. This + * function will return PJMEDIA_EVID_INVCAP error if the flag for that + * capability is not set in the flags field in the structure. + * + * @param param The structure. + * @param cap The video capability which value is to be retrieved. + * @param pval Pointer to value. Please see the type of value to + * be supplied in the pjmedia_vid_dev_cap documentation. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_dev_param_get_cap(const pjmedia_vid_dev_param *param, + pjmedia_vid_dev_cap cap, + void *pval); + +/** + * Initialize the video device subsystem. This will register all supported + * video device factories to the video device subsystem. This function may be + * called more than once, but each call to this function must have the + * corresponding #pjmedia_vid_dev_subsys_shutdown() call. + * + * @param pf The pool factory. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_dev_subsys_init(pj_pool_factory *pf); + + +/** + * Get the pool factory registered to the video device subsystem. + * + * @return The pool factory. + */ +PJ_DECL(pj_pool_factory*) pjmedia_vid_dev_subsys_get_pool_factory(void); + + +/** + * Shutdown the video device subsystem. This will destroy all video device + * factories registered in the video device subsystem. Note that currently + * opened video streams may or may not be closed, depending on the + * implementation of the video device factories. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_dev_subsys_shutdown(void); + + +/** + * Register a supported video device factory to the video device subsystem. + * Application can either register a function to create the factory, or + * an instance of an already created factory. + * + * This function can only be called after calling + * #pjmedia_vid_dev_subsys_init(). + * + * @param vdf The factory creation function. Either vdf or factory + * argument must be specified. + * @param factory Factory instance. Either vdf or factory + * argument must be specified. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_register_factory(pjmedia_vid_dev_factory_create_func_ptr vdf, + pjmedia_vid_dev_factory *factory); + + +/** + * Unregister a video device factory from the video device subsystem. This + * function can only be called after calling #pjmedia_vid_dev_subsys_init(). + * Devices from this factory will be unlisted. If a device from this factory + * is currently in use, then the behavior is undefined. + * + * @param vdf The video device factory. Either vdf or factory argument + * must be specified. + * @param factory The factory instance. Either vdf or factory argument + * must be specified. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_unregister_factory(pjmedia_vid_dev_factory_create_func_ptr vdf, + pjmedia_vid_dev_factory *factory); + + +/** + * Refresh the list of video devices installed in the system. This function + * will only refresh the list of videoo device so all active video streams will + * be unaffected. After refreshing the device list, application MUST make sure + * to update all index references to video devices (i.e. all variables of type + * pjmedia_vid_dev_index) before calling any function that accepts video device + * index as its parameter. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_dev_refresh(void); + + +/** + * Get the number of video devices installed in the system. + * + * @return The number of video devices installed in the system. + */ +PJ_DECL(unsigned) pjmedia_vid_dev_count(void); + + +/** + * Get device information. + * + * @param id The video device ID. + * @param info The device information which will be filled in by this + * function once it returns successfully. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_dev_get_info(pjmedia_vid_dev_index id, + pjmedia_vid_dev_info *info); + + +/** + * Lookup device index based on the driver and device name. + * + * @param drv_name The driver name. + * @param dev_name The device name. + * @param id Pointer to store the returned device ID. + * + * @return PJ_SUCCESS if the device can be found. + */ +PJ_DECL(pj_status_t) pjmedia_vid_dev_lookup(const char *drv_name, + const char *dev_name, + pjmedia_vid_dev_index *id); + + +/** + * Initialize the video device parameters with default values for the + * specified device. + * + * @param id The video device ID. + * @param param The video device parameters which will be initialized + * by this function once it returns successfully. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_dev_default_param(pj_pool_t *pool, + pjmedia_vid_dev_index id, + pjmedia_vid_dev_param *param); + + +/** + * Open video stream object using the specified parameters. If stream is + * created successfully, this function will return PJ_SUCCESS and the + * stream pointer will be returned in the p_strm argument. + * + * The opened stream may have been opened with different size and fps + * than the requested values in the \a param argument. Application should + * check the actual size and fps that the stream was opened with by inspecting + * the values in the \a param argument and see if they have changed. Also + * if the device ID in the \a param specifies default device, it may be + * replaced with the actual device ID upon return. + * + * @param param On input, it specifies the video device parameters + * to be used for the stream. On output, this will be + * set to the actual video device parameters used to + * open the stream. + * @param cb Pointer to structure containing video stream + * callbacks. + * @param user_data Arbitrary user data, which will be given back in the + * callbacks. + * @param p_strm Pointer to receive the video stream. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_dev_stream_create( + pjmedia_vid_dev_param *param, + const pjmedia_vid_dev_cb *cb, + void *user_data, + pjmedia_vid_dev_stream **p_strm); + +/** + * Get the running parameters for the specified video stream. + * + * @param strm The video stream. + * @param param Video stream parameters to be filled in by this + * function once it returns successfully. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_dev_stream_get_param( + pjmedia_vid_dev_stream *strm, + pjmedia_vid_dev_param *param); + +/** + * Get the value of a specific capability of the video stream. + * + * @param strm The video stream. + * @param cap The video capability which value is to be retrieved. + * @param value Pointer to value to be filled in by this function + * once it returns successfully. Please see the type + * of value to be supplied in the pjmedia_vid_dev_cap + * documentation. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_dev_stream_get_cap( + pjmedia_vid_dev_stream *strm, + pjmedia_vid_dev_cap cap, + void *value); + +/** + * Set the value of a specific capability of the video stream. + * + * @param strm The video stream. + * @param cap The video capability which value is to be set. + * @param value Pointer to value. Please see the type of value to + * be supplied in the pjmedia_vid_dev_cap documentation. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_dev_stream_set_cap( + pjmedia_vid_dev_stream *strm, + pjmedia_vid_dev_cap cap, + const void *value); + +/** + * Start the stream. + * + * @param strm The video stream. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_dev_stream_start( + pjmedia_vid_dev_stream *strm); + +/** + * Query whether the stream has been started. + * + * @param strm The video stream + * + * @return PJ_TRUE if the video stream has been started. + */ +PJ_DECL(pj_bool_t) pjmedia_vid_dev_stream_is_running(pjmedia_vid_dev_stream *strm); + + +/** + * Request one frame from the stream. Application needs to call this function + * periodically only if the stream doesn't support "active interface", i.e. + * the pjmedia_vid_dev_info.has_callback member is PJ_FALSE. + * + * @param strm The video stream. + * @param frame The video frame to be filled by the device. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_dev_stream_get_frame( + pjmedia_vid_dev_stream *strm, + pjmedia_frame *frame); + +/** + * Put one frame to the stream. Application needs to call this function + * periodically only if the stream doesn't support "active interface", i.e. + * the pjmedia_vid_dev_info.has_callback member is PJ_FALSE. + * + * @param strm The video stream. + * @param frame The video frame to put to the device. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_dev_stream_put_frame( + pjmedia_vid_dev_stream *strm, + const pjmedia_frame *frame); + +/** + * Stop the stream. + * + * @param strm The video stream. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_dev_stream_stop( + pjmedia_vid_dev_stream *strm); + +/** + * Destroy the stream. + * + * @param strm The video stream. + * + * @return PJ_SUCCESS on successful operation or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_dev_stream_destroy( + pjmedia_vid_dev_stream *strm); + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJMEDIA_VIDEODEV_VIDEODEV_H__ */ diff --git a/pjmedia/include/pjmedia-videodev/videodev_imp.h b/pjmedia/include/pjmedia-videodev/videodev_imp.h new file mode 100644 index 0000000..9924809 --- /dev/null +++ b/pjmedia/include/pjmedia-videodev/videodev_imp.h @@ -0,0 +1,230 @@ +/* $Id: videodev_imp.h 4016 2012-04-04 05:05:50Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __VIDEODEV_IMP_H__ +#define __VIDEODEV_IMP_H__ + +#include + +/** + * @defgroup s8_video_device_implementors_api Video Device Implementors API + * @ingroup video_device_api + * @brief API for video device implementors + * @{ + */ + +/** + * Video device factory operations. + */ +typedef struct pjmedia_vid_dev_factory_op +{ + /** + * Initialize the video device factory. + * + * @param f The video device factory. + */ + pj_status_t (*init)(pjmedia_vid_dev_factory *f); + + /** + * Close this video device factory and release all resources back to the + * operating system. + * + * @param f The video device factory. + */ + pj_status_t (*destroy)(pjmedia_vid_dev_factory *f); + + /** + * Get the number of video devices installed in the system. + * + * @param f The video device factory. + */ + unsigned (*get_dev_count)(pjmedia_vid_dev_factory *f); + + /** + * Get the video device information and capabilities. + * + * @param f The video device factory. + * @param index Device index. + * @param info The video device information structure which will be + * initialized by this function once it returns + * successfully. + */ + pj_status_t (*get_dev_info)(pjmedia_vid_dev_factory *f, + unsigned index, + pjmedia_vid_dev_info *info); + + /** + * Initialize the specified video device parameter with the default + * values for the specified device. + * + * @param f The video device factory. + * @param index Device index. + * @param param The video device parameter. + */ + pj_status_t (*default_param)(pj_pool_t *pool, + pjmedia_vid_dev_factory *f, + unsigned index, + pjmedia_vid_dev_param *param); + + /** + * Open the video device and create video stream. See + * #pjmedia_vid_dev_stream_create() + */ + pj_status_t (*create_stream)(pjmedia_vid_dev_factory *f, + pjmedia_vid_dev_param *param, + const pjmedia_vid_dev_cb *cb, + void *user_data, + pjmedia_vid_dev_stream **p_vid_strm); + + /** + * Refresh the list of video devices installed in the system. + * + * @param f The video device factory. + */ + pj_status_t (*refresh)(pjmedia_vid_dev_factory *f); + +} pjmedia_vid_dev_factory_op; + + +/** + * This structure describes a video device factory. + */ +struct pjmedia_vid_dev_factory +{ + /** Internal data to be initialized by video subsystem. */ + struct { + /** Driver index */ + unsigned drv_idx; + } sys; + + /** Operations */ + pjmedia_vid_dev_factory_op *op; +}; + + +/** + * Video stream operations. + */ +typedef struct pjmedia_vid_dev_stream_op +{ + /** + * See #pjmedia_vid_dev_stream_get_param() + */ + pj_status_t (*get_param)(pjmedia_vid_dev_stream *strm, + pjmedia_vid_dev_param *param); + + /** + * See #pjmedia_vid_dev_stream_get_cap() + */ + pj_status_t (*get_cap)(pjmedia_vid_dev_stream *strm, + pjmedia_vid_dev_cap cap, + void *value); + + /** + * See #pjmedia_vid_dev_stream_set_cap() + */ + pj_status_t (*set_cap)(pjmedia_vid_dev_stream *strm, + pjmedia_vid_dev_cap cap, + const void *value); + + /** + * See #pjmedia_vid_dev_stream_start() + */ + pj_status_t (*start)(pjmedia_vid_dev_stream *strm); + + /** + * See #pjmedia_vid_dev_stream_get_frame() + */ + pj_status_t (*get_frame)(pjmedia_vid_dev_stream *strm, + pjmedia_frame *frame); + + /** + * See #pjmedia_vid_dev_stream_put_frame() + */ + pj_status_t (*put_frame)(pjmedia_vid_dev_stream *strm, + const pjmedia_frame *frame); + + /** + * See #pjmedia_vid_dev_stream_stop(). + */ + pj_status_t (*stop)(pjmedia_vid_dev_stream *strm); + + /** + * See #pjmedia_vid_dev_stream_destroy(). + */ + pj_status_t (*destroy)(pjmedia_vid_dev_stream *strm); + +} pjmedia_vid_dev_stream_op; + + +/** + * This structure describes the video device stream. + */ +struct pjmedia_vid_dev_stream +{ + /** Internal data to be initialized by video subsystem */ + struct { + /** Driver index */ + unsigned drv_idx; + + /** Has it been started? */ + pj_bool_t is_running; + } sys; + + /** Operations */ + pjmedia_vid_dev_stream_op *op; +}; + + +/** + * Internal API: return the factory instance and device index that's local + * to the factory for a given device ID. + * + * @param id Device id. + * @param p_f Out: factory instance + * @param p_local_index Out: device index within the factory + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_dev_get_local_index(pjmedia_vid_dev_index id, + pjmedia_vid_dev_factory **p_f, + unsigned *p_local_index); + +/** + * Internal API: return the global device index given a factory instance and + * a local device index. + * + * @param f Factory. + * @param local_idx Local index. + * @param pid Returned global index. + * + * @return PJ_SUCCESS on success. + */ +PJ_DEF(pj_status_t) +pjmedia_vid_dev_get_global_index(const pjmedia_vid_dev_factory *f, + unsigned local_idx, + pjmedia_vid_dev_index *pid); + +/** + * @} + */ + + + +#endif /* __VIDEODEV_IMP_H__ */ diff --git a/pjmedia/include/pjmedia.h b/pjmedia/include/pjmedia.h new file mode 100644 index 0000000..5fef796 --- /dev/null +++ b/pjmedia/include/pjmedia.h @@ -0,0 +1,81 @@ +/* $Id: pjmedia.h 3664 2011-07-19 03:42:28Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_H__ +#define __PJMEDIA_H__ + +/** + * @file pjmedia.h + * @brief PJMEDIA main header file. + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +//#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif /* __PJMEDIA_H__ */ + diff --git a/pjmedia/include/pjmedia/alaw_ulaw.h b/pjmedia/include/pjmedia/alaw_ulaw.h new file mode 100644 index 0000000..60da9a6 --- /dev/null +++ b/pjmedia/include/pjmedia/alaw_ulaw.h @@ -0,0 +1,213 @@ +/* $Id: alaw_ulaw.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_ALAW_ULAW_H__ +#define __PJMEDIA_ALAW_ULAW_H__ + +#include + +PJ_BEGIN_DECL + +#if defined(PJMEDIA_HAS_ALAW_ULAW_TABLE) && PJMEDIA_HAS_ALAW_ULAW_TABLE!=0 + +extern const pj_uint8_t pjmedia_linear2ulaw_tab[16384]; +extern const pj_uint8_t pjmedia_linear2alaw_tab[16384]; +extern const pj_int16_t pjmedia_ulaw2linear_tab[256]; +extern const pj_int16_t pjmedia_alaw2linear_tab[256]; + + +/** + * Convert 16-bit linear PCM value to 8-bit A-Law. + * + * @param pcm_val 16-bit linear PCM value. + * @return 8-bit A-Law value. + */ +#define pjmedia_linear2alaw(pcm_val) \ + pjmedia_linear2alaw_tab[(((pj_int16_t)pcm_val) >> 2) & 0x3fff] + +/** + * Convert 8-bit A-Law value to 16-bit linear PCM value. + * + * @param chara_val 8-bit A-Law value. + * @return 16-bit linear PCM value. + */ +#define pjmedia_alaw2linear(chara_val) \ + pjmedia_alaw2linear_tab[chara_val] + +/** + * Convert 16-bit linear PCM value to 8-bit U-Law. + * + * @param pcm_val 16-bit linear PCM value. + * @return U-bit A-Law value. + */ +#define pjmedia_linear2ulaw(pcm_val) \ + pjmedia_linear2ulaw_tab[(((pj_int16_t)pcm_val) >> 2) & 0x3fff] + +/** + * Convert 8-bit U-Law value to 16-bit linear PCM value. + * + * @param u_val 8-bit U-Law value. + * @return 16-bit linear PCM value. + */ +#define pjmedia_ulaw2linear(u_val) \ + pjmedia_ulaw2linear_tab[u_val] + +/** + * Convert 8-bit A-Law value to 8-bit U-Law value. + * + * @param aval 8-bit A-Law value. + * @return 8-bit U-Law value. + */ +#define pjmedia_alaw2ulaw(aval) \ + pjmedia_linear2ulaw(pjmedia_alaw2linear(aval)) + +/** + * Convert 8-bit U-Law value to 8-bit A-Law value. + * + * @param uval 8-bit U-Law value. + * @return 8-bit A-Law value. + */ +#define pjmedia_ulaw2alaw(uval) \ + pjmedia_linear2alaw(pjmedia_ulaw2linear(uval)) + + +#else + +/** + * Convert 16-bit linear PCM value to 8-bit A-Law. + * + * @param pcm_val 16-bit linear PCM value. + * @return 8-bit A-Law value. + */ +PJ_DECL(pj_uint8_t) pjmedia_linear2alaw(int pcm_val); + +/** + * Convert 8-bit A-Law value to 16-bit linear PCM value. + * + * @param chara_val 8-bit A-Law value. + * @return 16-bit linear PCM value. + */ +PJ_DECL(int) pjmedia_alaw2linear(unsigned chara_val); + +/** + * Convert 16-bit linear PCM value to 8-bit U-Law. + * + * @param pcm_val 16-bit linear PCM value. + * @return U-bit A-Law value. + */ +PJ_DECL(unsigned char) pjmedia_linear2ulaw(int pcm_val); + +/** + * Convert 8-bit U-Law value to 16-bit linear PCM value. + * + * @param u_val 8-bit U-Law value. + * @return 16-bit linear PCM value. + */ +PJ_DECL(int) pjmedia_ulaw2linear(unsigned char u_val); + +/** + * Convert 8-bit A-Law value to 8-bit U-Law value. + * + * @param aval 8-bit A-Law value. + * @return 8-bit U-Law value. + */ +PJ_DECL(unsigned char) pjmedia_alaw2ulaw(unsigned char aval); + +/** + * Convert 8-bit U-Law value to 8-bit A-Law value. + * + * @param uval 8-bit U-Law value. + * @return 8-bit A-Law value. + */ +PJ_DECL(unsigned char) pjmedia_ulaw2alaw(unsigned char uval); + +#endif + +/** + * Encode 16-bit linear PCM data to 8-bit U-Law data. + * + * @param dst Destination buffer for 8-bit U-Law data. + * @param src Source, 16-bit linear PCM data. + * @param count Number of samples. + */ +PJ_INLINE(void) pjmedia_ulaw_encode(pj_uint8_t *dst, const pj_int16_t *src, + pj_size_t count) +{ + const pj_int16_t *end = src + count; + + while (src < end) { + *dst++ = pjmedia_linear2ulaw(*src++); + } +} + +/** + * Encode 16-bit linear PCM data to 8-bit A-Law data. + * + * @param dst Destination buffer for 8-bit A-Law data. + * @param src Source, 16-bit linear PCM data. + * @param count Number of samples. + */ +PJ_INLINE(void) pjmedia_alaw_encode(pj_uint8_t *dst, const pj_int16_t *src, + pj_size_t count) +{ + const pj_int16_t *end = src + count; + + while (src < end) { + *dst++ = pjmedia_linear2alaw(*src++); + } +} + +/** + * Decode 8-bit U-Law data to 16-bit linear PCM data. + * + * @param dst Destination buffer for 16-bit PCM data. + * @param src Source, 8-bit U-Law data. + * @param len Encoded frame/source length in bytes. + */ +PJ_INLINE(void) pjmedia_ulaw_decode(pj_int16_t *dst, const pj_uint8_t *src, + pj_size_t len) +{ + const pj_uint8_t *end = src + len; + + while (src < end) { + *dst++ = pjmedia_ulaw2linear(*src++); + } +} + +/** + * Decode 8-bit A-Law data to 16-bit linear PCM data. + * + * @param dst Destination buffer for 16-bit PCM data. + * @param src Source, 8-bit A-Law data. + * @param len Encoded frame/source length in bytes. + */ +PJ_INLINE(void) pjmedia_alaw_decode(pj_int16_t *dst, const pj_uint8_t *src, + pj_size_t len) +{ + const pj_uint8_t *end = src + len; + + while (src < end) { + *dst++ = pjmedia_alaw2linear(*src++); + } +} + +PJ_END_DECL + +#endif /* __PJMEDIA_ALAW_ULAW_H__ */ + diff --git a/pjmedia/include/pjmedia/avi.h b/pjmedia/include/pjmedia/avi.h new file mode 100644 index 0000000..1223669 --- /dev/null +++ b/pjmedia/include/pjmedia/avi.h @@ -0,0 +1,202 @@ +/* $Id: avi.h 4058 2012-04-17 06:57:50Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_AVI_H__ +#define __PJMEDIA_AVI_H__ + + +/** + * @file avi.h + * @brief AVI file manipulation. + */ + +/** + * @defgroup PJMEDIA_FILE_FORMAT File Formats + * @brief Supported file formats + */ + + +/** + * @defgroup PJMEDIA_AVI AVI Header + * @ingroup PJMEDIA_FILE_FORMAT + * @brief Representation of RIFF/AVI file format + * @{ + * + * This the the low level representation of RIFF/AVI file format. For + * higher abstraction, please see \ref PJMEDIA_FILE_PLAY and + * \ref PJMEDIA_FILE_REC. + */ + + +PJ_BEGIN_DECL + +#define PJMEDIA_AVI_MAX_NUM_STREAMS 4 + +static const char avi_tags[][4] = { + { 'R', 'I', 'F', 'F' }, { 'A', 'V', 'I', ' ' }, + { 'h', 'd', 'r', 'l' }, { 'a', 'v', 'i', 'h' }, + { 's', 't', 'r', 'l' }, { 's', 't', 'r', 'h' }, + { 'a', 'u', 'd', 's' }, { 'v', 'i', 'd', 's' }, + { 's', 't', 'r', 'f' }, { 'm', 'o', 'v', 'i' }, + { 'L', 'I', 'S', 'T' }, { 'J', 'U', 'N', 'K' }, +}; + +typedef enum { + PJMEDIA_AVI_RIFF_TAG = 0, + PJMEDIA_AVI_AVI_TAG, + PJMEDIA_AVI_HDRL_TAG, + PJMEDIA_AVI_AVIH_TAG, + PJMEDIA_AVI_STRL_TAG, + PJMEDIA_AVI_STRH_TAG, + PJMEDIA_AVI_AUDS_TAG, + PJMEDIA_AVI_VIDS_TAG, + PJMEDIA_AVI_STRF_TAG, + PJMEDIA_AVI_MOVI_TAG, + PJMEDIA_AVI_LIST_TAG, + PJMEDIA_AVI_JUNK_TAG, +} pjmedia_avi_tag; + + +/** + * These types describe the simpler/canonical version of an AVI file. + * They do not support the full AVI RIFF format specification. + */ +#pragma pack(2) + +/** This structure describes RIFF AVI file header */ +typedef struct riff_hdr_t { + pj_uint32_t riff; /**< "RIFF" ASCII tag. */ + pj_uint32_t file_len; /**< File length minus 8 bytes */ + pj_uint32_t avi; /**< "AVI" ASCII tag. */ +} riff_hdr_t; + +/** This structure describes avih header */ +typedef struct avih_hdr_t { + pj_uint32_t list_tag; + pj_uint32_t list_sz; + pj_uint32_t hdrl_tag; + pj_uint32_t avih; + pj_uint32_t size; + pj_uint32_t usec_per_frame; /**< microsecs between frames */ + pj_uint32_t max_Bps; + pj_uint32_t pad; + pj_uint32_t flags; + pj_uint32_t tot_frames; + pj_uint32_t init_frames; + pj_uint32_t num_streams; + pj_uint32_t buf_size; + pj_uint32_t width; + pj_uint32_t height; + pj_uint32_t reserved[4]; +} avih_hdr_t; + +/** This structure describes strl header */ +typedef struct strl_hdr_t { + pj_uint32_t list_tag; + pj_uint32_t list_sz; + pj_uint32_t strl_tag; + + pj_uint32_t strh; + pj_uint32_t strh_size; + pj_uint32_t data_type; + pj_uint32_t codec; + pj_uint32_t flags; + pj_uint32_t bogus_priority_language; /**< Do not access this data */ + pj_uint32_t init_frames; + pj_uint32_t scale; + pj_uint32_t rate; + pj_uint32_t start; + pj_uint32_t length; + pj_uint32_t buf_size; + pj_uint32_t quality; + pj_uint32_t sample_size; + pj_uint32_t bogus_frame[2]; /**< Do not access this data */ +} strl_hdr_t; + +typedef struct { + pj_uint32_t strf; + pj_uint32_t strf_size; + pj_uint16_t fmt_tag; /**< 1 for PCM */ + pj_uint16_t nchannels; /**< Number of channels. */ + pj_uint32_t sample_rate; /**< Sampling rate. */ + pj_uint32_t bytes_per_sec; /**< Average bytes per second. */ + pj_uint16_t block_align; /**< nchannels * bits / 8 */ + pj_uint16_t bits_per_sample; /**< Bits per sample. */ + pj_uint16_t extra_size; +} strf_audio_hdr_t; + +/** + * Sizes of strf_audio_hdr_t struct, started by the size (in bytes) of + * 32-bits struct members, alternated with the size of 16-bits members. + */ +static const pj_uint8_t strf_audio_hdr_sizes [] = {8, 4, 8, 6}; + +typedef struct { + pj_uint32_t strf; + pj_uint32_t strf_size; + pj_uint32_t biSize; + pj_int32_t biWidth; + pj_int32_t biHeight; + pj_uint16_t biPlanes; + pj_uint16_t biBitCount; + pj_uint32_t biCompression; + pj_uint32_t biSizeImage; + pj_int32_t biXPelsPerMeter; + pj_int32_t biYPelsPerMeter; + pj_uint32_t biClrUsed; + pj_uint32_t biClrImportant; +} strf_video_hdr_t; + +static const pj_uint8_t strf_video_hdr_sizes [] = {20, 4, 24}; + +struct pjmedia_avi_hdr +{ + riff_hdr_t riff_hdr; + avih_hdr_t avih_hdr; + strl_hdr_t strl_hdr[PJMEDIA_AVI_MAX_NUM_STREAMS]; + union { + strf_audio_hdr_t strf_audio_hdr; + strf_video_hdr_t strf_video_hdr; + } strf_hdr[PJMEDIA_AVI_MAX_NUM_STREAMS]; +}; + +#pragma pack() + +/** + * @see pjmedia_avi_hdr + */ +typedef struct pjmedia_avi_hdr pjmedia_avi_hdr; + +/** + * This structure describes generic RIFF subchunk header. + */ +typedef struct pjmedia_avi_subchunk +{ + pj_uint32_t id; /**< Subchunk ASCII tag. */ + pj_uint32_t len; /**< Length following this field */ +} pjmedia_avi_subchunk; + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_AVI_H__ */ diff --git a/pjmedia/include/pjmedia/avi_stream.h b/pjmedia/include/pjmedia/avi_stream.h new file mode 100644 index 0000000..ff4bf53 --- /dev/null +++ b/pjmedia/include/pjmedia/avi_stream.h @@ -0,0 +1,170 @@ +/* $Id: avi_stream.h 3715 2011-08-19 09:35:25Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_AVI_STREAM_H__ +#define __PJMEDIA_AVI_STREAM_H__ + +/** + * @file avi_stream.h + * @brief AVI file player. + */ +#include + + + +PJ_BEGIN_DECL + + +/** + * @defgroup PJMEDIA_FILE_PLAY AVI File Player + * @ingroup PJMEDIA_PORT + * @brief Video and audio playback from AVI file + * @{ + */ + +/** + * AVI file player options. + */ +enum pjmedia_avi_file_player_option +{ + /** + * Tell the file player to return NULL frame when the whole + * file has been played. + */ + PJMEDIA_AVI_FILE_NO_LOOP = 1 +}; + +/** + * AVI stream data type. + */ +typedef pjmedia_port pjmedia_avi_stream; + +/** + * Opaque data type for AVI streams. AVI streams is a collection of + * zero or more AVI stream. + */ +typedef struct pjmedia_avi_streams pjmedia_avi_streams; + +/** + * Create avi streams to play an AVI file. AVI player supports + * reading AVI file with uncompressed video format and + * 16 bit PCM or compressed G.711 A-law/U-law audio format. + * + * @param pool Pool to create the streams. + * @param filename File name to open. + * @param flags Avi streams creation flags. + * @param p_streams Pointer to receive the avi streams instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_avi_player_create_streams(pj_pool_t *pool, + const char *filename, + unsigned flags, + pjmedia_avi_streams **p_streams); + +/** + * Get the number of AVI stream. + * + * @param streams The AVI streams. + * + * @return The number of AVI stream. + */ +PJ_DECL(unsigned) +pjmedia_avi_streams_get_num_streams(pjmedia_avi_streams *streams); + +/** + * Return the idx-th stream of the AVI streams. + * + * @param streams The AVI streams. + * @param idx The stream index. + * + * @return The AVI stream or NULL if it does not exist. + */ +PJ_DECL(pjmedia_avi_stream *) +pjmedia_avi_streams_get_stream(pjmedia_avi_streams *streams, + unsigned idx); + +/** + * Return an AVI stream with a certain media type from the AVI streams. + * + * @param streams The AVI streams. + * @param start_idx The starting index. + * @param media_type The media type of the stream. + * + * @return The AVI stream or NULL if it does not exist. + */ +PJ_DECL(pjmedia_avi_stream *) +pjmedia_avi_streams_get_stream_by_media(pjmedia_avi_streams *streams, + unsigned start_idx, + pjmedia_type media_type); + +/** + * Return the media port of an AVI stream. + * + * @param stream The AVI stream. + * + * @return The media port. + */ +PJ_INLINE(pjmedia_port *) +pjmedia_avi_stream_get_port(pjmedia_avi_stream *stream) +{ + return (pjmedia_port *)stream; +} + +/** + * Get the data length, in bytes. + * + * @param stream The AVI stream. + * + * @return The length of the data, in bytes. Upon error it will + * return negative value. + */ +PJ_DECL(pj_ssize_t) pjmedia_avi_stream_get_len(pjmedia_avi_stream *stream); + + +/** + * Register a callback to be called when the file reading has reached the + * end of file. If the file is set to play repeatedly, then the callback + * will be called multiple times. Note that only one callback can be + * registered for each AVI stream. + * + * @param stream The AVI stream. + * @param user_data User data to be specified in the callback + * @param cb Callback to be called. If the callback returns non- + * PJ_SUCCESS, the playback will stop. Note that if + * application destroys the file port in the callback, + * it must return non-PJ_SUCCESS here. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_avi_stream_set_eof_cb(pjmedia_avi_stream *stream, + void *user_data, + pj_status_t (*cb)(pjmedia_avi_stream *stream, + void *usr_data)); + +/** + * @} + */ + + +PJ_END_DECL + + +#endif /* __PJMEDIA_AVI_STREAM_H__ */ diff --git a/pjmedia/include/pjmedia/bidirectional.h b/pjmedia/include/pjmedia/bidirectional.h new file mode 100644 index 0000000..0a7e5e0 --- /dev/null +++ b/pjmedia/include/pjmedia/bidirectional.h @@ -0,0 +1,67 @@ +/* $Id: bidirectional.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_BIDIRECTIONAL_H__ +#define __PJMEDIA_BIDIRECTIONAL_H__ + +/** + * @file bidirectional.h + * @brief Bidirectional media port. + */ +#include + + +/** + * @defgroup PJMEDIA_BIDIRECTIONAL_PORT Bidirectional Port + * @ingroup PJMEDIA_PORT + * @brief A bidirectional port combines two unidirectional ports into one + * bidirectional port + * @{ + */ + + +PJ_BEGIN_DECL + + +/** + * Create bidirectional port from two unidirectional ports + * + * @param pool Pool to allocate memory. + * @param get_port Port where get_frame() will be directed to. + * @param put_port Port where put_frame() will be directed to. + * @param p_port Pointer to receive the port instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_bidirectional_port_create(pj_pool_t *pool, + pjmedia_port *get_port, + pjmedia_port *put_port, + pjmedia_port **p_port ); + + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_BIDIRECTIONAL_H__ */ + diff --git a/pjmedia/include/pjmedia/circbuf.h b/pjmedia/include/pjmedia/circbuf.h new file mode 100644 index 0000000..e400dca --- /dev/null +++ b/pjmedia/include/pjmedia/circbuf.h @@ -0,0 +1,437 @@ +/* $Id: circbuf.h 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __PJMEDIA_CIRC_BUF_H__ +#define __PJMEDIA_CIRC_BUF_H__ + +/** + * @file circbuf.h + * @brief Circular Buffer. + */ + +#include +#include +#include +#include + +/** + * @defgroup PJMED_CIRCBUF Circular Buffer + * @ingroup PJMEDIA_FRAME_OP + * @brief Circular buffer manages read and write contiguous audio samples in a + * non-contiguous buffer as if the buffer were contiguous. This should give + * better performance than keeping contiguous samples in a contiguous buffer, + * since read/write operations will only update the pointers, instead of + * shifting audio samples. + * + * @{ + * + * This section describes PJMEDIA's implementation of circular buffer. + */ + +/* Algorithm checkings, for development purpose only */ +#if 0 +# define PJMEDIA_CIRC_BUF_CHECK(x) pj_assert(x) +#else +# define PJMEDIA_CIRC_BUF_CHECK(x) +#endif + +PJ_BEGIN_DECL + +/** + * Circular buffer structure + */ +typedef struct pjmedia_circ_buf { + pj_int16_t *buf; /**< The buffer */ + unsigned capacity; /**< Buffer capacity, in samples */ + + pj_int16_t *start; /**< Pointer to the first sample */ + unsigned len; /**< Audio samples length, + in samples */ +} pjmedia_circ_buf; + + +/** + * Create the circular buffer. + * + * @param pool Pool where the circular buffer will be allocated + * from. + * @param capacity Capacity of the buffer, in samples. + * @param p_cb Pointer to receive the circular buffer instance. + * + * @return PJ_SUCCESS if the circular buffer has been + * created successfully, otherwise the appropriate + * error will be returned. + */ +PJ_INLINE(pj_status_t) pjmedia_circ_buf_create(pj_pool_t *pool, + unsigned capacity, + pjmedia_circ_buf **p_cb) +{ + pjmedia_circ_buf *cbuf; + + cbuf = PJ_POOL_ZALLOC_T(pool, pjmedia_circ_buf); + cbuf->buf = (pj_int16_t*) pj_pool_calloc(pool, capacity, + sizeof(pj_int16_t)); + cbuf->capacity = capacity; + cbuf->start = cbuf->buf; + cbuf->len = 0; + + *p_cb = cbuf; + + return PJ_SUCCESS; +} + + +/** + * Reset the circular buffer. + * + * @param circbuf The circular buffer. + * + * @return PJ_SUCCESS when successful. + */ +PJ_INLINE(pj_status_t) pjmedia_circ_buf_reset(pjmedia_circ_buf *circbuf) +{ + circbuf->start = circbuf->buf; + circbuf->len = 0; + + return PJ_SUCCESS; +} + + +/** + * Get the circular buffer length, it is number of samples buffered in the + * circular buffer. + * + * @param circbuf The circular buffer. + * + * @return The buffer length. + */ +PJ_INLINE(unsigned) pjmedia_circ_buf_get_len(pjmedia_circ_buf *circbuf) +{ + return circbuf->len; +} + + +/** + * Set circular buffer length. This is useful when audio buffer is manually + * manipulated by the user, e.g: shrinked, expanded. + * + * @param circbuf The circular buffer. + * @param len The new buffer length. + */ +PJ_INLINE(void) pjmedia_circ_buf_set_len(pjmedia_circ_buf *circbuf, + unsigned len) +{ + PJMEDIA_CIRC_BUF_CHECK(len <= circbuf->capacity); + circbuf->len = len; +} + + +/** + * Advance the read pointer of circular buffer. This function will discard + * the skipped samples while advancing the read pointer, thus reducing + * the buffer length. + * + * @param circbuf The circular buffer. + * @param count Distance from current read pointer, can only be + * possitive number, in samples. + * + * @return PJ_SUCCESS when successful, otherwise + * the appropriate error will be returned. + */ +PJ_INLINE(pj_status_t) pjmedia_circ_buf_adv_read_ptr(pjmedia_circ_buf *circbuf, + unsigned count) +{ + if (count >= circbuf->len) + return pjmedia_circ_buf_reset(circbuf); + + PJMEDIA_CIRC_BUF_CHECK(count <= circbuf->len); + + circbuf->start += count; + if (circbuf->start >= circbuf->buf + circbuf->capacity) + circbuf->start -= circbuf->capacity; + circbuf->len -= count; + + return PJ_SUCCESS; +} + + +/** + * Advance the write pointer of circular buffer. Since write pointer is always + * pointing to a sample after the end of sample, so this function also means + * increasing the buffer length. + * + * @param circbuf The circular buffer. + * @param count Distance from current write pointer, can only be + * possitive number, in samples. + * + * @return PJ_SUCCESS when successful, otherwise + * the appropriate error will be returned. + */ +PJ_INLINE(pj_status_t) pjmedia_circ_buf_adv_write_ptr(pjmedia_circ_buf *circbuf, + unsigned count) +{ + if (count + circbuf->len > circbuf->capacity) + return PJ_ETOOBIG; + + circbuf->len += count; + + return PJ_SUCCESS; +} + + +/** + * Get the real buffer addresses containing the audio samples. + * + * @param circbuf The circular buffer. + * @param reg1 Pointer to store the first buffer address. + * @param reg1_len Pointer to store the length of the first buffer, + * in samples. + * @param reg2 Pointer to store the second buffer address. + * @param reg2_len Pointer to store the length of the second buffer, + * in samples. + */ +PJ_INLINE(void) pjmedia_circ_buf_get_read_regions(pjmedia_circ_buf *circbuf, + pj_int16_t **reg1, + unsigned *reg1_len, + pj_int16_t **reg2, + unsigned *reg2_len) +{ + *reg1 = circbuf->start; + *reg1_len = circbuf->len; + if (*reg1 + *reg1_len > circbuf->buf + circbuf->capacity) { + *reg1_len = (unsigned)(circbuf->buf + circbuf->capacity - + circbuf->start); + *reg2 = circbuf->buf; + *reg2_len = circbuf->len - *reg1_len; + } else { + *reg2 = NULL; + *reg2_len = 0; + } + + PJMEDIA_CIRC_BUF_CHECK(*reg1_len != 0 || (*reg1_len == 0 && + circbuf->len == 0)); + PJMEDIA_CIRC_BUF_CHECK(*reg1_len + *reg2_len == circbuf->len); +} + + +/** + * Get the real buffer addresses that is empty or writeable. + * + * @param circbuf The circular buffer. + * @param reg1 Pointer to store the first buffer address. + * @param reg1_len Pointer to store the length of the first buffer, + * in samples. + * @param reg2 Pointer to store the second buffer address. + * @param reg2_len Pointer to store the length of the second buffer, + * in samples. + */ +PJ_INLINE(void) pjmedia_circ_buf_get_write_regions(pjmedia_circ_buf *circbuf, + pj_int16_t **reg1, + unsigned *reg1_len, + pj_int16_t **reg2, + unsigned *reg2_len) +{ + *reg1 = circbuf->start + circbuf->len; + if (*reg1 >= circbuf->buf + circbuf->capacity) + *reg1 -= circbuf->capacity; + *reg1_len = circbuf->capacity - circbuf->len; + if (*reg1 + *reg1_len > circbuf->buf + circbuf->capacity) { + *reg1_len = (unsigned)(circbuf->buf + circbuf->capacity - *reg1); + *reg2 = circbuf->buf; + *reg2_len = (unsigned)(circbuf->start - circbuf->buf); + } else { + *reg2 = NULL; + *reg2_len = 0; + } + + PJMEDIA_CIRC_BUF_CHECK(*reg1_len != 0 || (*reg1_len == 0 && + circbuf->len == 0)); + PJMEDIA_CIRC_BUF_CHECK(*reg1_len + *reg2_len == circbuf->capacity - + circbuf->len); +} + + +/** + * Read audio samples from the circular buffer. + * + * @param circbuf The circular buffer. + * @param data Buffer to store the read audio samples. + * @param count Number of samples being read. + * + * @return PJ_SUCCESS when successful, otherwise + * the appropriate error will be returned. + */ +PJ_INLINE(pj_status_t) pjmedia_circ_buf_read(pjmedia_circ_buf *circbuf, + pj_int16_t *data, + unsigned count) +{ + pj_int16_t *reg1, *reg2; + unsigned reg1cnt, reg2cnt; + + /* Data in the buffer is less than requested */ + if (count > circbuf->len) + return PJ_ETOOBIG; + + pjmedia_circ_buf_get_read_regions(circbuf, ®1, ®1cnt, + ®2, ®2cnt); + if (reg1cnt >= count) { + pjmedia_copy_samples(data, reg1, count); + } else { + pjmedia_copy_samples(data, reg1, reg1cnt); + pjmedia_copy_samples(data + reg1cnt, reg2, count - reg1cnt); + } + + return pjmedia_circ_buf_adv_read_ptr(circbuf, count); +} + + +/** + * Write audio samples to the circular buffer. + * + * @param circbuf The circular buffer. + * @param data Audio samples to be written. + * @param count Number of samples being written. + * + * @return PJ_SUCCESS when successful, otherwise + * the appropriate error will be returned. + */ +PJ_INLINE(pj_status_t) pjmedia_circ_buf_write(pjmedia_circ_buf *circbuf, + pj_int16_t *data, + unsigned count) +{ + pj_int16_t *reg1, *reg2; + unsigned reg1cnt, reg2cnt; + + /* Data to write is larger than buffer can store */ + if (count > circbuf->capacity - circbuf->len) + return PJ_ETOOBIG; + + pjmedia_circ_buf_get_write_regions(circbuf, ®1, ®1cnt, + ®2, ®2cnt); + if (reg1cnt >= count) { + pjmedia_copy_samples(reg1, data, count); + } else { + pjmedia_copy_samples(reg1, data, reg1cnt); + pjmedia_copy_samples(reg2, data + reg1cnt, count - reg1cnt); + } + + return pjmedia_circ_buf_adv_write_ptr(circbuf, count); +} + + +/** + * Copy audio samples from the circular buffer without changing its state. + * + * @param circbuf The circular buffer. + * @param start_idx Starting sample index to be copied. + * @param data Buffer to store the read audio samples. + * @param count Number of samples being read. + * + * @return PJ_SUCCESS when successful, otherwise + * the appropriate error will be returned. + */ +PJ_INLINE(pj_status_t) pjmedia_circ_buf_copy(pjmedia_circ_buf *circbuf, + unsigned start_idx, + pj_int16_t *data, + unsigned count) +{ + pj_int16_t *reg1, *reg2; + unsigned reg1cnt, reg2cnt; + + /* Data in the buffer is less than requested */ + if (count + start_idx > circbuf->len) + return PJ_ETOOBIG; + + pjmedia_circ_buf_get_read_regions(circbuf, ®1, ®1cnt, + ®2, ®2cnt); + if (reg1cnt > start_idx) { + unsigned tmp_len; + tmp_len = reg1cnt - start_idx; + if (tmp_len > count) + tmp_len = count; + pjmedia_copy_samples(data, reg1 + start_idx, tmp_len); + if (tmp_len < count) + pjmedia_copy_samples(data + tmp_len, reg2, count - tmp_len); + } else { + pjmedia_copy_samples(data, reg2 + start_idx - reg1cnt, count); + } + + return PJ_SUCCESS; +} + + +/** + * Pack the buffer so the first sample will be in the beginning of the buffer. + * This will also make the buffer contiguous. + * + * @param circbuf The circular buffer. + * + * @return PJ_SUCCESS when successful, otherwise + * the appropriate error will be returned. + */ +PJ_INLINE(pj_status_t) pjmedia_circ_buf_pack_buffer(pjmedia_circ_buf *circbuf) +{ + pj_int16_t *reg1, *reg2; + unsigned reg1cnt, reg2cnt; + unsigned gap; + + pjmedia_circ_buf_get_read_regions(circbuf, ®1, ®1cnt, + ®2, ®2cnt); + + /* Check if not contigue */ + if (reg2cnt != 0) { + /* Check if no space left to roll the buffer + * (or should this function provide temporary buffer?) + */ + gap = circbuf->capacity - pjmedia_circ_buf_get_len(circbuf); + if (gap == 0) + return PJ_ETOOBIG; + + /* Roll buffer left using the gap until reg2cnt == 0 */ + do { + if (gap > reg2cnt) + gap = reg2cnt; + pjmedia_move_samples(reg1 - gap, reg1, reg1cnt); + pjmedia_copy_samples(reg1 + reg1cnt - gap, reg2, gap); + if (gap < reg2cnt) + pjmedia_move_samples(reg2, reg2 + gap, reg2cnt - gap); + reg1 -= gap; + reg1cnt += gap; + reg2cnt -= gap; + } while (reg2cnt > 0); + } + + /* Finally, Shift samples to the left edge */ + if (reg1 != circbuf->buf) + pjmedia_move_samples(circbuf->buf, reg1, + pjmedia_circ_buf_get_len(circbuf)); + circbuf->start = circbuf->buf; + + return PJ_SUCCESS; +} + + +PJ_END_DECL + +/** + * @} + */ + +#endif diff --git a/pjmedia/include/pjmedia/clock.h b/pjmedia/include/pjmedia/clock.h new file mode 100644 index 0000000..2433eed --- /dev/null +++ b/pjmedia/include/pjmedia/clock.h @@ -0,0 +1,335 @@ +/* $Id: clock.h 3664 2011-07-19 03:42:28Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CLOCK_H__ +#define __PJMEDIA_CLOCK_H__ + +/** + * @file clock.h + * @brief Media clock. + */ +#include + + +/** + * @defgroup PJMEDIA_PORT_CLOCK Clock/Timing + * @ingroup PJMEDIA_PORT + * @brief Various types of classes that provide timing. + * @{ + + The media clock/timing extends the media port concept that is explained + in @ref PJMEDIA_PORT. When clock is present in the ports + interconnection, media will flow automatically (and with correct timing too!) + from one media port to another. + + There are few objects in PJMEDIA that are able to provide clock/timing + to media ports interconnection: + + - @ref PJMED_SND_PORT\n + The sound device makes a good candidate as the clock source, and + PJMEDIA @ref PJMED_SND is designed so that it is able to invoke + operations according to timing driven by the sound hardware clock + (this may sound complicated, but actually it just means that + the sound device abstraction provides callbacks to be called when + it has/wants media frames).\n + See @ref PJMED_SND_PORT for more details. + + - @ref PJMEDIA_MASTER_PORT\n + The master port uses @ref PJMEDIA_CLOCK as the clock source. By using + @ref PJMEDIA_MASTER_PORT, it is possible to interconnect passive + media ports and let the frames flow automatically in timely manner.\n + Please see @ref PJMEDIA_MASTER_PORT for more details. + + @} + */ + + +/** + * @addtogroup PJMEDIA_CLOCK Clock Generator + * @ingroup PJMEDIA_PORT_CLOCK + * @brief Interface for generating clock. + * @{ + * + * The clock generator provides the application with media timing, + * and it is used by the @ref PJMEDIA_MASTER_PORT for its sound clock. + * + * The clock generator may be configured to run asynchronously + * (the default behavior) or synchronously. When it is run + * asynchronously, it will call the application's callback every time + * the clock tick expires. When it is run synchronously, + * application must continuously polls the clock generator to synchronize + * the timing. + */ + +PJ_BEGIN_DECL + +/** + * Media clock source. + */ +typedef struct pjmedia_clock_src +{ + pjmedia_type media_type; /**< Media type. */ + unsigned clock_rate; /**< Clock rate. */ + unsigned ptime_usec; /**< Frame interval (in usec). */ + /** + * The timestamp field holds an increasing value in samples and its + * value is expected to be increased by clock_rate samples per second. + */ + pj_timestamp timestamp; + /** + * Timestamp's last update. The last_update field contains a value in + * ticks, and it is expected to be increased by pj_get_timestamp_freq() + * ticks per second. + */ + pj_timestamp last_update; +} pjmedia_clock_src; + +/** + * This is an auxiliary function to initialize the media clock source. + * + * @param clocksrc The clock source to be initialized. + * @param media_type The media type. + * @param clock_rate The clock rate. + * @param ptime_usec Media frame interval (in usec). + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_clock_src_init( pjmedia_clock_src *clocksrc, + pjmedia_type media_type, + unsigned clock_rate, + unsigned ptime_usec ); + +/** + * This function updates the clock source's timestamp. Application should + * use this function instead of updating the timestamp directly since this + * function will also update the last_update field of the clock source. + * + * @param clocksrc The clock source to be updated. + * @param timestamp The new timestamp, can be NULL if the current + * timestamp does not change (in this case it + * will only update the last_update field). + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_clock_src_update( pjmedia_clock_src *clocksrc, + const pj_timestamp *timestamp ); + +/** + * This function gets the clock source's current timestamp. Application + * should use this function instead of accessing the timestamp directly + * since this function will calculate the predicted timestamp for current + * time, based on the values of timestamp, last_update, and clock_rate. + * + * @param clocksrc The clock source. + * @param timestamp Argument to receive the current timestamp + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_clock_src_get_current_timestamp( const pjmedia_clock_src *clocksrc, + pj_timestamp *timestamp); + +/** + * This function gets the clock source's time in msec. + * + * @param clocksrc The clock source. + * + * @return The clock source's time (in msec). + */ +PJ_DECL(pj_uint32_t) +pjmedia_clock_src_get_time_msec( const pjmedia_clock_src *clocksrc ); + + +/** + * Opaque declaration for media clock. + */ +typedef struct pjmedia_clock pjmedia_clock; + + +/** + * Options when creating the clock. + */ +enum pjmedia_clock_options +{ + /** + * Prevents the clock from running asynchronously. In this case, + * application must poll the clock continuously by calling + * #pjmedia_clock_wait() in order to synchronize timing. + */ + PJMEDIA_CLOCK_NO_ASYNC = 1, + + /** + * Prevent the clock from setting it's thread to highest priority. + */ + PJMEDIA_CLOCK_NO_HIGHEST_PRIO = 2 +}; + + +typedef struct pjmedia_clock_param +{ + /** + * The frame interval, in microseconds. + */ + unsigned usec_interval; + /** + * The media clock rate, to determine timestamp + * increment for each call. + */ + unsigned clock_rate; +} pjmedia_clock_param; + +/** + * Type of media clock callback. + * + * @param ts Current timestamp, in samples. + * @param user_data Application data that is passed when + * the clock was created. + */ +typedef void pjmedia_clock_callback(const pj_timestamp *ts, + void *user_data); + + + +/** + * Create media clock. This creates a media clock object that will run + * periodically at an interval that is calculated from the audio parameters. + * Once created, application must call #pjmedia_clock_start() to actually + * start the clock. + * + * @see pjmedia_clock_create2() + * + * @param pool Pool to allocate memory. + * @param clock_rate Number of samples per second. + * @param channel_count Number of channel. + * @param samples_per_frame Number of samples per frame. This argument + * along with clock_rate and channel_count, specifies + * the interval of each clock run (or clock ticks). + * @param options Bitmask of pjmedia_clock_options. + * @param cb Callback to be called for each clock tick. + * @param user_data User data, which will be passed to the callback. + * @param p_clock Pointer to receive the clock instance. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) pjmedia_clock_create( pj_pool_t *pool, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned options, + pjmedia_clock_callback *cb, + void *user_data, + pjmedia_clock **p_clock); + + +/** + * Create media clock. This creates a media clock object that will run + * periodically at the specified interval. Once created, application must + * call #pjmedia_clock_start() to actually start the clock. + * + * @param pool Pool to allocate memory. + * @param param The clock parameter. + * @param options Bitmask of pjmedia_clock_options. + * @param cb Callback to be called for each clock tick. + * @param user_data User data, which will be passed to the callback. + * @param p_clock Pointer to receive the clock instance. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) pjmedia_clock_create2(pj_pool_t *pool, + const pjmedia_clock_param *param, + unsigned options, + pjmedia_clock_callback *cb, + void *user_data, + pjmedia_clock **p_clock); + +/** + * Start the clock. For clock created with asynchronous flag set to TRUE, + * this may start a worker thread for the clock (depending on the + * backend clock implementation being used). + * + * @param clock The media clock. + * + * @return PJ_SUCCES on success. + */ +PJ_DECL(pj_status_t) pjmedia_clock_start(pjmedia_clock *clock); + + +/** + * Stop the clock. + * + * @param clock The media clock. + * + * @return PJ_SUCCES on success. + */ +PJ_DECL(pj_status_t) pjmedia_clock_stop(pjmedia_clock *clock); + + +/** + * Modify the clock's parameter. + * + * @param clock The media clock. + * @param param The clock's new parameter. + * @return PJ_SUCCES on success. + */ +PJ_DECL(pj_status_t) pjmedia_clock_modify(pjmedia_clock *clock, + const pjmedia_clock_param *param); + + +/** + * Poll the media clock, and execute the callback when the clock tick has + * elapsed. This operation is only valid if the clock is created with async + * flag set to FALSE. + * + * @param clock The media clock. + * @param wait If non-zero, then the function will block until + * a clock tick elapsed and callback has been called. + * @param ts Optional argument to receive the current + * timestamp. + * + * @return Non-zero if clock tick has elapsed, or FALSE if + * the function returns before a clock tick has + * elapsed. + */ +PJ_DECL(pj_bool_t) pjmedia_clock_wait(pjmedia_clock *clock, + pj_bool_t wait, + pj_timestamp *ts); + + +/** + * Destroy the clock. + * + * @param clock The media clock. + * + * @return PJ_SUCCES on success. + */ +PJ_DECL(pj_status_t) pjmedia_clock_destroy(pjmedia_clock *clock); + + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_CLOCK_H__ */ + diff --git a/pjmedia/include/pjmedia/codec.h b/pjmedia/include/pjmedia/codec.h new file mode 100644 index 0000000..58fa7a1 --- /dev/null +++ b/pjmedia/include/pjmedia/codec.h @@ -0,0 +1,1139 @@ +/* $Id: codec.h 4278 2012-10-05 10:04:54Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CODEC_H__ +#define __PJMEDIA_CODEC_H__ + + +/** + * @file codec.h + * @brief Codec framework. + */ + +#include +#include +#include +#include + +PJ_BEGIN_DECL + + +/** + * @defgroup PJMEDIA_CODEC Codec Framework + * @brief Media codec framework and management + * @{ + * + * @section codec_mgmt_sec Codec Management + * @subsection codec_fact_sec Codec Manager + * + * The codec manager is used to manage all codec capabilities in the endpoint. + * When used with media endpoint (pjmedia_endpt), application can retrieve + * the codec manager instance by calling #pjmedia_endpt_get_codec_mgr(). + * + * @subsection reg_new_codec Registering New Codec + * + * New codec types can be registered to PJMEDIA (or to be precise, to the + * codec manager) during run-time. + * To do this, application needs to initialize an instance of + * codec factory (#pjmedia_codec_factory) and registers this codec factory + * by calling #pjmedia_codec_mgr_register_factory(). + * + * For codecs implemented/supported by PJMEDIA, this process is normally + * concealed in an easy to use function such as #pjmedia_codec_g711_init(). + * + * @subsection codec_factory Codec Factory + * + * A codec factory (#pjmedia_codec_factory) is registered to codec manager, + * and it is used to create and release codec instance. + * + * The most important member of the codec factory is the "virtual" function + * table #pjmedia_codec_factory_op, where it contains, among other thing, + * pointer to functions to allocate and deallocate codec instance. + * + * @subsection codec_inst Codec Instance + * + * Application allocates codec instance by calling #pjmedia_codec_mgr_alloc_codec(). + * One codec instance (#pjmedia_codec) can be used for simultaneous encoding + * and decoding. + * + * The most important member of the codec instance is the "virtual" function + * table #pjmedia_codec_op, where it holds pointer to functions to + * encode/decode media frames. + * + * @subsection codec_ident Codec Identification + * + * A particular codec type in PJMEDIA can be uniquely identified by two + * keys: by #pjmedia_codec_info, or by #pjmedia_codec_id string. A fully + * qualified codec ID string consists of codec name, sampling rate, and + * number of channels. However, application may use only first parts of + * the tokens as long as it will make to codec ID unique. For example, "gsm" + * is a fully qualified codec name, since it will always have 8000 clock + * rate and 1 channel. Other examples of fully qualified codec ID strings + * are "pcma", "speex/8000", "speex/16000", and "L16/16000/1". A codec + * id "speex" (without clock rate) is not fully qualified, since it will + * match the narrowband, wideband, and ultrawideband Speex codec. + * + * The two keys can be converted to one another, with + * #pjmedia_codec_info_to_id() and #pjmedia_codec_mgr_find_codecs_by_id() + * functions. + * + * Codec ID string is not case sensitive. + * + * + * @section using_codec Using the Codec Framework + * @subsection init_alloc_codec Allocating Codec + * + * Application needs to allocate one codec instance for encoding and decoding + * media frames. One codec instance can be used to perform both encoding + * and decoding. + * + * Application allocates codec by calling #pjmedia_codec_mgr_alloc_codec(). + * This function takes #pjmedia_codec_info argument, which is used to locate + * the particular codec factory to be used to allocate the codec. + * + * Application can build #pjmedia_codec_info structure manually for + * the specific codec, or alternatively it may get the #pjmedia_codec_info + * from the codec ID string, by using #pjmedia_codec_mgr_find_codecs_by_id() + * function. + * + * The following snippet shows an example to allocate a codec: + * + \code + pj_str_t codec_id; + pjmedia_codec_info *codec_info; + unsigned count = 1; + pjmedia_codec *codec; + + codec_id = pj_str("pcma"); + + // Find codec info for the specified coded ID (i.e. "pcma"). + status = pjmedia_codec_mgr_find_codecs_by_id( codec_mgr, &codec_id, + &count, &codec_info, NULL); + + // Allocate the codec. + status = pjmedia_codec_mgr_alloc_codec( codec_mgr, codec_info, &codec ); + + \endcode + * + * + * @subsection opening_codec Initializing Codec + * + * Once codec is allocated, application needs to initialize the codec + * by calling open member of the codec. This function + * takes #pjmedia_codec_param as the argument, which contains the + * settings for the codec. + * + * Application shoud use #pjmedia_codec_mgr_get_default_param() function + * to initiaize #pjmedia_codec_param. The setting part of + * #pjmedia_codec_param then can be tuned to suit the application's + * requirements. + * + * The following snippet shows an example to initialize codec: + * + \code + pjmedia_codec_param param; + + // Retrieve default codec param for the specified codec. + pjmedia_codec_mgr_get_default_param(codec_mgr, codec_info + ¶m); + + // Application may change the "settings" part of codec param, + // for example, to disable VAD + param.setting.vad = 0; + + // Open the codec using the specified settings. + codec->op->open( codec, ¶m ); + + \endcode + * + * + * @subsection enc_dec_codec Encoding and Decoding Media Frames + * + * Application encodes and decodes media frames by calling + * encode and decode member of the codec's "virtual" + * function table (#pjmedia_codec_op). + * + * @subsection plc_codec Concealing Lost Frames + * + * All codecs has Packet Lost Concealment (PLC) feature, and application + * can activate the PLC to conceal lost frames by calling recover + * member of the codec's "virtual" function table (#pjmedia_codec_op). + * + * If the codec's algorithm supports PLC, the recover function + * will use the codec's PLC. Otherwise for codecs that don't have + * intrinsic PLC, PJMEDIA will suply the PLC implementation from the + * @ref PJMED_PLC implementation. + * + * @subsection close_codec Closing and Releasing the Codec + * + * The codec must be closed by calling close member of the codec's + * operation. Then it must be released by calling + * #pjmedia_codec_mgr_dealloc_codec(). + */ + + +/** + * Standard RTP static payload types, as defined by RFC 3551. + * The header file also declares dynamic payload + * type numbers that are used by PJMEDIA when advertising the capability + * for example in SDP message. + */ +enum pjmedia_rtp_pt +{ + PJMEDIA_RTP_PT_PCMU = 0, /**< audio PCMU */ + PJMEDIA_RTP_PT_G721 = 2, /**< audio G721 (old def for G726-32) */ + PJMEDIA_RTP_PT_GSM = 3, /**< audio GSM */ + PJMEDIA_RTP_PT_G723 = 4, /**< audio G723 */ + PJMEDIA_RTP_PT_DVI4_8K = 5, /**< audio DVI4 8KHz */ + PJMEDIA_RTP_PT_DVI4_16K = 6, /**< audio DVI4 16Khz */ + PJMEDIA_RTP_PT_LPC = 7, /**< audio LPC */ + PJMEDIA_RTP_PT_PCMA = 8, /**< audio PCMA */ + PJMEDIA_RTP_PT_G722 = 9, /**< audio G722 */ + PJMEDIA_RTP_PT_L16_2 = 10, /**< audio 16bit linear 44.1KHz stereo */ + PJMEDIA_RTP_PT_L16_1 = 11, /**< audio 16bit linear 44.1KHz mono */ + PJMEDIA_RTP_PT_QCELP = 12, /**< audio QCELP */ + PJMEDIA_RTP_PT_CN = 13, /**< audio Comfort Noise */ + PJMEDIA_RTP_PT_MPA = 14, /**< audio MPEG1/MPEG2 elemetr. streams */ + PJMEDIA_RTP_PT_G728 = 15, /**< audio G728 */ + PJMEDIA_RTP_PT_DVI4_11K = 16, /**< audio DVI4 11.025KHz mono */ + PJMEDIA_RTP_PT_DVI4_22K = 17, /**< audio DVI4 22.050KHz mono */ + PJMEDIA_RTP_PT_G729 = 18, /**< audio G729 */ + + PJMEDIA_RTP_PT_CELB = 25, /**< video/comb Cell-B by Sun (RFC2029) */ + PJMEDIA_RTP_PT_JPEG = 26, /**< video JPEG */ + PJMEDIA_RTP_PT_NV = 28, /**< video NV by nv program by Xerox */ + PJMEDIA_RTP_PT_H261 = 31, /**< video H261 */ + PJMEDIA_RTP_PT_MPV = 32, /**< video MPEG1 or MPEG2 elementary */ + PJMEDIA_RTP_PT_MP2T = 33, /**< video MPEG2 transport */ + PJMEDIA_RTP_PT_H263 = 34, /**< video H263 */ + + PJMEDIA_RTP_PT_DYNAMIC = 96 /**< start of dynamic RTP payload */ + +}; + + +/** + * Identification used to search for codec factory that supports specific + * codec specification. + */ +typedef struct pjmedia_codec_info +{ + pjmedia_type type; /**< Media type. */ + unsigned pt; /**< Payload type (can be dynamic). */ + pj_str_t encoding_name; /**< Encoding name. */ + unsigned clock_rate; /**< Sampling rate. */ + unsigned channel_cnt; /**< Channel count. */ +} pjmedia_codec_info; + +/** + * Structure of codec specific parameters which contains name=value pairs. + * The codec specific parameters are to be used with SDP according to + * the standards (e.g: RFC 3555) in SDP 'a=fmtp' attribute. + */ +typedef struct pjmedia_codec_fmtp +{ + pj_uint8_t cnt; /**< Number of parameters. */ + struct param { + pj_str_t name; /**< Parameter name. */ + pj_str_t val; /**< Parameter value. */ + } param [PJMEDIA_CODEC_MAX_FMTP_CNT]; /**< The parameters. */ +} pjmedia_codec_fmtp; + +/** + * Detailed codec attributes used in configuring a codec and in querying + * the capability of codec factories. Default attributes of any codecs could + * be queried using #pjmedia_codec_mgr_get_default_param() and modified + * using #pjmedia_codec_mgr_set_default_param(). + * + * Please note that codec parameter also contains SDP specific setting, + * #dec_fmtp and #enc_fmtp, which may need to be set appropriately based on + * the effective setting. See each codec documentation for more detail. + */ +typedef struct pjmedia_codec_param +{ + /** + * The "info" part of codec param describes the capability of the codec, + * and the value should NOT be changed by application. + */ + struct { + unsigned clock_rate; /**< Sampling rate in Hz */ + unsigned channel_cnt; /**< Channel count. */ + pj_uint32_t avg_bps; /**< Average bandwidth in bits/sec */ + pj_uint32_t max_bps; /**< Maximum bandwidth in bits/sec */ + unsigned max_rx_frame_size; /**< Maximum frame size */ + pj_uint16_t frm_ptime; /**< Decoder frame ptime in msec. */ + pj_uint16_t enc_ptime; /**< Encoder ptime, or zero if it's + equal to decoder ptime. */ + pj_uint8_t pcm_bits_per_sample; /**< Bits/sample in the PCM side */ + pj_uint8_t pt; /**< Payload type. */ + pjmedia_format_id fmt_id; /**< Source format, it's format of + encoder input and decoder + output. */ + } info; + + /** + * The "setting" part of codec param describes various settings to be + * applied to the codec. When the codec param is retrieved from the codec + * or codec factory, the values of these will be filled by the capability + * of the codec. Any features that are supported by the codec (e.g. vad + * or plc) will be turned on, so that application can query which + * capabilities are supported by the codec. Application may change the + * settings here before instantiating the codec/stream. + */ + struct { + pj_uint8_t frm_per_pkt; /**< Number of frames per packet. */ + unsigned vad:1; /**< Voice Activity Detector. */ + unsigned cng:1; /**< Comfort Noise Generator. */ + unsigned penh:1; /**< Perceptual Enhancement */ + unsigned plc:1; /**< Packet loss concealment */ + unsigned reserved:1; /**< Reserved, must be zero. */ + pjmedia_codec_fmtp enc_fmtp;/**< Encoder's fmtp params. */ + pjmedia_codec_fmtp dec_fmtp;/**< Decoder's fmtp params. */ + } setting; +} pjmedia_codec_param; + + +/** + * Duplicate codec parameter. + * + * @param pool The pool. + * @param src The codec parameter to be duplicated. + * + * @return Duplicated codec parameter. + */ +PJ_DECL(pjmedia_codec_param*) pjmedia_codec_param_clone( + pj_pool_t *pool, + const pjmedia_codec_param *src); + + +/* + * Forward declaration for pjmedia_codec. + */ +typedef struct pjmedia_codec pjmedia_codec; + + +/** + * This structure describes codec operations. Each codec MUST implement + * all of these functions. + */ +typedef struct pjmedia_codec_op +{ + /** + * Initialize codec using the specified attribute. + * + * Application should call #pjmedia_codec_init() instead of + * calling this function directly. + * + * @param codec The codec instance. + * @param pool Pool to use when the codec needs to allocate + * some memory. + * + * @return PJ_SUCCESS on success. + */ + pj_status_t (*init)(pjmedia_codec *codec, + pj_pool_t *pool ); + + /** + * Open the codec and initialize with the specified parameter. + * Upon successful initialization, the codec may modify the parameter + * and fills in the unspecified values (such as enc_ptime, when + * encoder ptime is different than decoder ptime). + * + * Application should call #pjmedia_codec_open() instead of + * calling this function directly. + * + * @param codec The codec instance. + * @param param Codec initialization parameter. + * + * @return PJ_SUCCESS on success. + */ + pj_status_t (*open)(pjmedia_codec *codec, + pjmedia_codec_param *param ); + + /** + * Close and shutdown codec, releasing all resources allocated by + * this codec, if any. + * + * Application should call #pjmedia_codec_close() instead of + * calling this function directly. + * + * @param codec The codec instance. + * + * @return PJ_SUCCESS on success. + */ + pj_status_t (*close)(pjmedia_codec *codec); + + /** + * Modify the codec parameter after the codec is open. + * Note that not all codec parameters can be modified during run-time. + * When the parameter cannot be changed, this function will return + * non-PJ_SUCCESS, and the original parameters will not be changed. + * + * Application can expect changing trivial codec settings such as + * changing VAD setting to succeed. + * + * Application should call #pjmedia_codec_modify() instead of + * calling this function directly. + * + * @param codec The codec instance. + * @param param The new codec parameter. + * + * @return PJ_SUCCESS on success. + */ + pj_status_t (*modify)(pjmedia_codec *codec, + const pjmedia_codec_param *param ); + + /** + * Instruct the codec to inspect the specified payload/packet and + * split the packet into individual base frames. Each output frames will + * have ptime that is equal to basic frame ptime (i.e. the value of + * info.frm_ptime in #pjmedia_codec_param). + * + * Application should call #pjmedia_codec_parse() instead of + * calling this function directly. + * + * @param codec The codec instance + * @param pkt The input packet. + * @param pkt_size Size of the packet. + * @param timestamp The timestamp of the first sample in the packet. + * @param frame_cnt On input, specifies the maximum number of frames + * in the array. On output, the codec must fill + * with number of frames detected in the packet. + * @param frames On output, specifies the frames that have been + * detected in the packet. + * + * @return PJ_SUCCESS on success. + */ + pj_status_t (*parse)( pjmedia_codec *codec, + void *pkt, + pj_size_t pkt_size, + const pj_timestamp *timestamp, + unsigned *frame_cnt, + pjmedia_frame frames[]); + + /** + * Instruct the codec to encode the specified input frame. The input + * PCM samples MUST have ptime that is multiplication of base frame + * ptime (i.e. the value of info.frm_ptime in #pjmedia_codec_param). + * + * Application should call #pjmedia_codec_encode() instead of + * calling this function directly. + * + * @param codec The codec instance. + * @param input The input frame. + * @param out_size The length of buffer in the output frame. + * @param output The output frame. + * + * @return PJ_SUCCESS on success; + */ + pj_status_t (*encode)(pjmedia_codec *codec, + const struct pjmedia_frame *input, + unsigned out_size, + struct pjmedia_frame *output); + + /** + * Instruct the codec to decode the specified input frame. The input + * frame MUST have ptime that is exactly equal to base frame + * ptime (i.e. the value of info.frm_ptime in #pjmedia_codec_param). + * Application can achieve this by parsing the packet into base + * frames before decoding each frame. + * + * Application should call #pjmedia_codec_decode() instead of + * calling this function directly. + * + * @param codec The codec instance. + * @param input The input frame. + * @param out_size The length of buffer in the output frame. + * @param output The output frame. + * + * @return PJ_SUCCESS on success; + */ + pj_status_t (*decode)(pjmedia_codec *codec, + const struct pjmedia_frame *input, + unsigned out_size, + struct pjmedia_frame *output); + + /** + * Instruct the codec to recover a missing frame. + * + * Application should call #pjmedia_codec_recover() instead of + * calling this function directly. + * + * @param codec The codec instance. + * @param out_size The length of buffer in the output frame. + * @param output The output frame where generated signal + * will be placed. + * + * @return PJ_SUCCESS on success; + */ + pj_status_t (*recover)(pjmedia_codec *codec, + unsigned out_size, + struct pjmedia_frame *output); +} pjmedia_codec_op; + + + +/* + * Forward declaration for pjmedia_codec_factory. + */ +typedef struct pjmedia_codec_factory pjmedia_codec_factory; + + +/** + * This structure describes a codec instance. + */ +struct pjmedia_codec +{ + /** Entries to put this codec instance in codec factory's list. */ + PJ_DECL_LIST_MEMBER(struct pjmedia_codec); + + /** Codec's private data. */ + void *codec_data; + + /** Codec factory where this codec was allocated. */ + pjmedia_codec_factory *factory; + + /** Operations to codec. */ + pjmedia_codec_op *op; +}; + + + +/** + * This structure describes operations that must be supported by codec + * factories. + */ +typedef struct pjmedia_codec_factory_op +{ + /** + * Check whether the factory can create codec with the specified + * codec info. + * + * @param factory The codec factory. + * @param info The codec info. + * + * @return PJ_SUCCESS if this factory is able to create an + * instance of codec with the specified info. + */ + pj_status_t (*test_alloc)(pjmedia_codec_factory *factory, + const pjmedia_codec_info *info ); + + /** + * Create default attributes for the specified codec ID. This function + * can be called by application to get the capability of the codec. + * + * @param factory The codec factory. + * @param info The codec info. + * @param attr The attribute to be initialized. + * + * @return PJ_SUCCESS if success. + */ + pj_status_t (*default_attr)(pjmedia_codec_factory *factory, + const pjmedia_codec_info *info, + pjmedia_codec_param *attr ); + + /** + * Enumerate supported codecs that can be created using this factory. + * + * @param factory The codec factory. + * @param count On input, specifies the number of elements in + * the array. On output, the value will be set to + * the number of elements that have been initialized + * by this function. + * @param info The codec info array, which contents will be + * initialized upon return. + * + * @return PJ_SUCCESS on success. + */ + pj_status_t (*enum_info)(pjmedia_codec_factory *factory, + unsigned *count, + pjmedia_codec_info codecs[]); + + /** + * Create one instance of the codec with the specified codec info. + * + * @param factory The codec factory. + * @param info The codec info. + * @param p_codec Pointer to receive the codec instance. + * + * @return PJ_SUCCESS on success. + */ + pj_status_t (*alloc_codec)(pjmedia_codec_factory *factory, + const pjmedia_codec_info *info, + pjmedia_codec **p_codec); + + /** + * This function is called by codec manager to return a particular + * instance of codec back to the codec factory. + * + * @param factory The codec factory. + * @param codec The codec instance to be returned. + * + * @return PJ_SUCCESS on success. + */ + pj_status_t (*dealloc_codec)(pjmedia_codec_factory *factory, + pjmedia_codec *codec ); + + /** + * This callback will be called to deinitialize and destroy this factory. + */ + pj_status_t (*destroy)(void); + +} pjmedia_codec_factory_op; + + + +/** + * Codec factory describes a module that is able to create codec with specific + * capabilities. These capabilities can be queried by codec manager to create + * instances of codec. + */ +struct pjmedia_codec_factory +{ + /** Entries to put this structure in the codec manager list. */ + PJ_DECL_LIST_MEMBER(struct pjmedia_codec_factory); + + /** The factory's private data. */ + void *factory_data; + + /** Operations to the factory. */ + pjmedia_codec_factory_op *op; + +}; + + +/** + * Declare maximum codecs + */ +#define PJMEDIA_CODEC_MGR_MAX_CODECS 32 + + +/** + * Specify these values to set the codec priority, by calling + * #pjmedia_codec_mgr_set_codec_priority(). + */ +typedef enum pjmedia_codec_priority +{ + /** + * This priority makes the codec the highest in the order. + * The last codec specified with this priority will get the + * highest place in the order, and will change the priority + * of previously highest priority codec to NEXT_HIGHER. + */ + PJMEDIA_CODEC_PRIO_HIGHEST = 255, + + /** + * This priority will put the codec as the next codec after + * codecs with this same priority. + */ + PJMEDIA_CODEC_PRIO_NEXT_HIGHER = 254, + + /** + * This is the initial codec priority when it is registered to + * codec manager by codec factory. + */ + PJMEDIA_CODEC_PRIO_NORMAL = 128, + + /** + * This priority makes the codec the lowest in the order. + * The last codec specified with this priority will be put + * in the last place in the order. + */ + PJMEDIA_CODEC_PRIO_LOWEST = 1, + + /** + * This priority will prevent the codec from being listed in the + * SDP created by media endpoint, thus should prevent the codec + * from being used in the sessions. However, the codec will still + * be listed by #pjmedia_codec_mgr_enum_codecs() and other codec + * query functions. + */ + PJMEDIA_CODEC_PRIO_DISABLED = 0 + +} pjmedia_codec_priority; + + +/** + * Codec identification (e.g. "pcmu/8000/1"). + * See @ref codec_ident for more info. + */ +typedef char pjmedia_codec_id[32]; + + +/** + * Opaque declaration of default codecs parameters. + */ +typedef struct pjmedia_codec_default_param pjmedia_codec_default_param; + +/** + * Codec manager maintains array of these structs for each supported + * codec. + */ +struct pjmedia_codec_desc +{ + pjmedia_codec_info info; /**< Codec info. */ + pjmedia_codec_id id; /**< Fully qualified name */ + pjmedia_codec_priority prio; /**< Priority. */ + pjmedia_codec_factory *factory; /**< The factory. */ + pjmedia_codec_default_param *param; /**< Default codecs + parameters. */ +}; + + +/** + * The declaration for codec manager. Application doesn't normally need + * to see this declaration, but nevertheless this declaration is needed + * by media endpoint to instantiate the codec manager. + */ +typedef struct pjmedia_codec_mgr +{ + /** Media endpoint instance. */ + pj_pool_factory *pf; + + /** Codec manager pool. */ + pj_pool_t *pool; + + /** Codec manager mutex. */ + pj_mutex_t *mutex; + + /** List of codec factories registered to codec manager. */ + pjmedia_codec_factory factory_list; + + /** Number of supported codecs. */ + unsigned codec_cnt; + + /** Array of codec descriptor. */ + struct pjmedia_codec_desc codec_desc[PJMEDIA_CODEC_MGR_MAX_CODECS]; + +} pjmedia_codec_mgr; + + + +/** + * Initialize codec manager. Normally this function is called by pjmedia + * endpoint's initialization code. + * + * @param mgr Codec manager instance. + * @param pf Pool factory instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_mgr_init(pjmedia_codec_mgr *mgr, + pj_pool_factory *pf); + + +/** + * Destroy codec manager. Normally this function is called by pjmedia + * endpoint's deinitialization code. + * + * @param mgr Codec manager instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_mgr_destroy(pjmedia_codec_mgr *mgr); + + +/** + * Register codec factory to codec manager. This will also register + * all supported codecs in the factory to the codec manager. + * + * @param mgr The codec manager instance. Application can get the + * instance by calling #pjmedia_endpt_get_codec_mgr(). + * @param factory The codec factory to be registered. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_codec_mgr_register_factory( pjmedia_codec_mgr *mgr, + pjmedia_codec_factory *factory); + +/** + * Unregister codec factory from the codec manager. This will also + * remove all the codecs registered by the codec factory from the + * codec manager's list of supported codecs. This function should + * only be called by the codec implementers and not by application. + * + * @param mgr The codec manager instance, use + * #pjmedia_endpt_get_codec_mgr(). + * @param factory The codec factory to be unregistered. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_codec_mgr_unregister_factory( pjmedia_codec_mgr *mgr, + pjmedia_codec_factory *factory); + +/** + * Enumerate all supported codecs that have been registered to the + * codec manager by codec factories. + * + * @param mgr The codec manager instance. Application can get the + * instance by calling #pjmedia_endpt_get_codec_mgr(). + * @param count On input, specifies the number of elements in + * the array. On output, the value will be set to + * the number of elements that have been initialized + * by this function. + * @param info The codec info array, which contents will be + * initialized upon return. + * @param prio Optional pointer to receive array of codec priorities. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_mgr_enum_codecs( pjmedia_codec_mgr *mgr, + unsigned *count, + pjmedia_codec_info info[], + unsigned *prio); + +/** + * Get codec info for the specified static payload type. Note that + * this can only find codec with static payload types. This function can + * be used to find codec info for a payload type inside SDP which doesn't + * have the corresponding rtpmap attribute. + * + * @param mgr The codec manager instance. Application can get the + * instance by calling #pjmedia_endpt_get_codec_mgr(). + * @param pt Static payload type/number. + * @param inf Pointer to receive codec info. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_codec_mgr_get_codec_info( pjmedia_codec_mgr *mgr, + unsigned pt, + const pjmedia_codec_info **inf); + +/** + * Convert codec info struct into a unique codec identifier. + * A codec identifier looks something like "L16/44100/2". + * + * @param info The codec info + * @param id Buffer to put the codec info string. + * @param max_len The length of the buffer. + * + * @return The null terminated codec info string, or NULL if + * the buffer is not long enough. + */ +PJ_DECL(char*) pjmedia_codec_info_to_id(const pjmedia_codec_info *info, + char *id, unsigned max_len ); + + +/** + * Find codecs by the unique codec identifier. This function will find + * all codecs that match the codec identifier prefix. For example, if + * "L16" is specified, then it will find "L16/8000/1", "L16/16000/1", + * and so on, up to the maximum count specified in the argument. + * + * @param mgr The codec manager instance. Application can get the + * instance by calling #pjmedia_endpt_get_codec_mgr(). + * @param codec_id The full codec ID or codec ID prefix. If an empty + * string is given, it will match all codecs. + * @param count Maximum number of codecs to find. On return, it + * contains the actual number of codecs found. + * @param p_info Array of pointer to codec info to be filled. This + * argument may be NULL, which in this case, only + * codec count will be returned. + * @param prio Optional array of codec priorities. + * + * @return PJ_SUCCESS if at least one codec info is found. + */ +PJ_DECL(pj_status_t) +pjmedia_codec_mgr_find_codecs_by_id( pjmedia_codec_mgr *mgr, + const pj_str_t *codec_id, + unsigned *count, + const pjmedia_codec_info *p_info[], + unsigned prio[]); + + +/** + * Set codec priority. The codec priority determines the order of + * the codec in the SDP created by the endpoint. If more than one codecs + * are found with the same codec_id prefix, then the function sets the + * priorities of all those codecs. + * + * @param mgr The codec manager instance. Application can get the + * instance by calling #pjmedia_endpt_get_codec_mgr(). + * @param codec_id The full codec ID or codec ID prefix. If an empty + * string is given, it will match all codecs. + * @param prio Priority to be set. The priority can have any value + * between 1 to 255. When the priority is set to zero, + * the codec will be disabled. + * + * @return PJ_SUCCESS if at least one codec info is found. + */ +PJ_DECL(pj_status_t) +pjmedia_codec_mgr_set_codec_priority(pjmedia_codec_mgr *mgr, + const pj_str_t *codec_id, + pj_uint8_t prio); + + +/** + * Get default codec param for the specified codec info. + * + * @param mgr The codec manager instance. Application can get the + * instance by calling #pjmedia_endpt_get_codec_mgr(). + * @param info The codec info, which default parameter's is being + * queried. + * @param param On return, will be filled with the default codec + * parameter. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_codec_mgr_get_default_param( pjmedia_codec_mgr *mgr, + const pjmedia_codec_info *info, + pjmedia_codec_param *param ); + + +/** + * Set default codec param for the specified codec info. + * + * @param mgr The codec manager instance. Application can get the + * instance by calling #pjmedia_endpt_get_codec_mgr(). + * @param info The codec info, which default parameter's is being + * updated. + * @param param The new default codec parameter. Set to NULL to reset + * codec parameter to library default settings. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_codec_mgr_set_default_param( pjmedia_codec_mgr *mgr, + const pjmedia_codec_info *info, + const pjmedia_codec_param *param ); + + +/** + * Request the codec manager to allocate one instance of codec with the + * specified codec info. The codec will enumerate all codec factories + * until it finds factory that is able to create the specified codec. + * + * @param mgr The codec manager instance. Application can get the + * instance by calling #pjmedia_endpt_get_codec_mgr(). + * @param info The information about the codec to be created. + * @param p_codec Pointer to receive the codec instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_codec_mgr_alloc_codec( pjmedia_codec_mgr *mgr, + const pjmedia_codec_info *info, + pjmedia_codec **p_codec); + +/** + * Deallocate the specified codec instance. The codec manager will return + * the instance of the codec back to its factory. + * + * @param mgr The codec manager instance. Application can get the + * instance by calling #pjmedia_endpt_get_codec_mgr(). + * @param codec The codec instance. + * + * @return PJ_SUCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_mgr_dealloc_codec(pjmedia_codec_mgr *mgr, + pjmedia_codec *codec); + + + +/** + * Initialize codec using the specified attribute. + * + * @param codec The codec instance. + * @param pool Pool to use when the codec needs to allocate some memory. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE(pj_status_t) pjmedia_codec_init( pjmedia_codec *codec, + pj_pool_t *pool ) +{ + return (*codec->op->init)(codec, pool); +} + + +/** + * Open the codec and initialize with the specified parameter. + * Upon successful initialization, the codec may modify the parameter + * and fills in the unspecified values (such as enc_ptime, when + * encoder ptime is different than decoder ptime). + * + * @param codec The codec instance. + * @param param Codec initialization parameter. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE(pj_status_t) pjmedia_codec_open( pjmedia_codec *codec, + pjmedia_codec_param *param ) +{ + return (*codec->op->open)(codec, param); +} + + +/** + * Close and shutdown codec, releasing all resources allocated by + * this codec, if any. + * + * @param codec The codec instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE(pj_status_t) pjmedia_codec_close( pjmedia_codec *codec ) +{ + return (*codec->op->close)(codec); +} + + +/** + * Modify the codec parameter after the codec is open. + * Note that not all codec parameters can be modified during run-time. + * When the parameter cannot be changed, this function will return + * non-PJ_SUCCESS, and the original parameters will not be changed. + * + * Application can expect changing trivial codec settings such as + * changing VAD setting to succeed. + * + * @param codec The codec instance. + * @param param The new codec parameter. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE(pj_status_t) pjmedia_codec_modify(pjmedia_codec *codec, + const pjmedia_codec_param *param) +{ + return (*codec->op->modify)(codec, param); +} + + +/** + * Instruct the codec to inspect the specified payload/packet and + * split the packet into individual base frames. Each output frames will + * have ptime that is equal to basic frame ptime (i.e. the value of + * info.frm_ptime in #pjmedia_codec_param). + * + * @param codec The codec instance + * @param pkt The input packet. + * @param pkt_size Size of the packet. + * @param timestamp The timestamp of the first sample in the packet. + * @param frame_cnt On input, specifies the maximum number of frames + * in the array. On output, the codec must fill + * with number of frames detected in the packet. + * @param frames On output, specifies the frames that have been + * detected in the packet. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE(pj_status_t) pjmedia_codec_parse( pjmedia_codec *codec, + void *pkt, + pj_size_t pkt_size, + const pj_timestamp *timestamp, + unsigned *frame_cnt, + pjmedia_frame frames[] ) +{ + return (*codec->op->parse)(codec, pkt, pkt_size, timestamp, + frame_cnt, frames); +} + + +/** + * Instruct the codec to encode the specified input frame. The input + * PCM samples MUST have ptime that is multiplication of base frame + * ptime (i.e. the value of info.frm_ptime in #pjmedia_codec_param). + * + * @param codec The codec instance. + * @param input The input frame. + * @param out_size The length of buffer in the output frame. + * @param output The output frame. + * + * @return PJ_SUCCESS on success; + */ +PJ_INLINE(pj_status_t) pjmedia_codec_encode( + pjmedia_codec *codec, + const struct pjmedia_frame *input, + unsigned out_size, + struct pjmedia_frame *output ) +{ + return (*codec->op->encode)(codec, input, out_size, output); +} + + +/** + * Instruct the codec to decode the specified input frame. The input + * frame MUST have ptime that is exactly equal to base frame + * ptime (i.e. the value of info.frm_ptime in #pjmedia_codec_param). + * Application can achieve this by parsing the packet into base + * frames before decoding each frame. + * + * @param codec The codec instance. + * @param input The input frame. + * @param out_size The length of buffer in the output frame. + * @param output The output frame. + * + * @return PJ_SUCCESS on success; + */ +PJ_INLINE(pj_status_t) pjmedia_codec_decode( + pjmedia_codec *codec, + const struct pjmedia_frame *input, + unsigned out_size, + struct pjmedia_frame *output ) +{ + return (*codec->op->decode)(codec, input, out_size, output); +} + + +/** + * Instruct the codec to recover a missing frame. + * + * @param codec The codec instance. + * @param out_size The length of buffer in the output frame. + * @param output The output frame where generated signal + * will be placed. + * + * @return PJ_SUCCESS on success; + */ +PJ_INLINE(pj_status_t) pjmedia_codec_recover( pjmedia_codec *codec, + unsigned out_size, + struct pjmedia_frame *output ) +{ + if (codec->op && codec->op->recover) + return (*codec->op->recover)(codec, out_size, output); + else + return PJ_ENOTSUP; +} + + +/** + * @} + */ + +/** + * @defgroup PJMEDIA_CODEC_CODECS Supported codecs + * @ingroup PJMEDIA_CODEC + * @brief Documentation about individual codec supported by PJMEDIA + * @{ + * Please see the APIs provided by the individual codecs below. + */ +/** + * @} + */ + + + + +PJ_END_DECL + + +#endif /* __PJMEDIA_CODEC_H__ */ diff --git a/pjmedia/include/pjmedia/conference.h b/pjmedia/include/pjmedia/conference.h new file mode 100644 index 0000000..d392fbf --- /dev/null +++ b/pjmedia/include/pjmedia/conference.h @@ -0,0 +1,509 @@ +/* $Id: conference.h 3664 2011-07-19 03:42:28Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CONF_H__ +#define __PJMEDIA_CONF_H__ + + +/** + * @file conference.h + * @brief Conference bridge. + */ +#include + +/** + * @defgroup PJMEDIA_CONF Conference Bridge + * @ingroup PJMEDIA_PORT + * @brief Audio conference bridge implementation + * @{ + * + * This describes the conference bridge implementation in PJMEDIA. The + * conference bridge provides powerful and very efficient mechanism to + * route the audio flow and mix the audio signal when required. + * + * Some more information about the media flow when conference bridge is + * used is described in http://www.pjsip.org/trac/wiki/media-flow . + */ + +PJ_BEGIN_DECL + +/** + * The conference bridge signature in pjmedia_port_info. + */ +#define PJMEDIA_CONF_BRIDGE_SIGNATURE PJMEDIA_SIG_PORT_CONF + +/** + * The audio switchboard signature in pjmedia_port_info. + */ +#define PJMEDIA_CONF_SWITCH_SIGNATURE PJMEDIA_SIG_PORT_CONF_SWITCH + + +/** + * Opaque type for conference bridge. + */ +typedef struct pjmedia_conf pjmedia_conf; + +/** + * Conference port info. + */ +typedef struct pjmedia_conf_port_info +{ + unsigned slot; /**< Slot number. */ + pj_str_t name; /**< Port name. */ + pjmedia_format format; /**< Format. */ + pjmedia_port_op tx_setting; /**< Transmit settings. */ + pjmedia_port_op rx_setting; /**< Receive settings. */ + unsigned listener_cnt; /**< Number of listeners. */ + unsigned *listener_slots; /**< Array of listeners. */ + unsigned transmitter_cnt; /**< Number of transmitter. */ + unsigned clock_rate; /**< Clock rate of the port. */ + unsigned channel_count; /**< Number of channels. */ + unsigned samples_per_frame; /**< Samples per frame */ + unsigned bits_per_sample; /**< Bits per sample. */ + int tx_adj_level; /**< Tx level adjustment. */ + int rx_adj_level; /**< Rx level adjustment. */ +} pjmedia_conf_port_info; + + +/** + * Conference port options. The values here can be combined in bitmask to + * be specified when the conference bridge is created. + */ +enum pjmedia_conf_option +{ + PJMEDIA_CONF_NO_MIC = 1, /**< Disable audio streams from the + microphone device. */ + PJMEDIA_CONF_NO_DEVICE = 2, /**< Do not create sound device. */ + PJMEDIA_CONF_SMALL_FILTER=4,/**< Use small filter table when resampling */ + PJMEDIA_CONF_USE_LINEAR=8 /**< Use linear resampling instead of filter + based. */ +}; + + +/** + * Create conference bridge with the specified parameters. The sampling rate, + * samples per frame, and bits per sample will be used for the internal + * operation of the bridge (e.g. when mixing audio frames). However, ports + * with different configuration may be connected to the bridge. In this case, + * the bridge is able to perform sampling rate conversion, and buffering in + * case the samples per frame is different. + * + * For this version of PJMEDIA, only 16bits per sample is supported. + * + * For this version of PJMEDIA, the channel count of the ports MUST match + * the channel count of the bridge. + * + * Under normal operation (i.e. when PJMEDIA_CONF_NO_DEVICE option is NOT + * specified), the bridge internally create an instance of sound device + * and connect the sound device to port zero of the bridge. + * + * If PJMEDIA_CONF_NO_DEVICE options is specified, no sound device will + * be created in the conference bridge. Application MUST acquire the port + * interface of the bridge by calling #pjmedia_conf_get_master_port(), and + * connect this port interface to a sound device port by calling + * #pjmedia_snd_port_connect(), or to a master port (pjmedia_master_port) + * if application doesn't want to instantiate any sound devices. + * + * The sound device or master port are crucial for the bridge's operation, + * because it provides the bridge with necessary clock to process the audio + * frames periodically. Internally, the bridge runs when get_frame() to + * port zero is called. + * + * @param pool Pool to use to allocate the bridge and + * additional buffers for the sound device. + * @param max_slots Maximum number of slots/ports to be created in + * the bridge. Note that the bridge internally uses + * one port for the sound device, so the actual + * maximum number of ports will be less one than + * this value. + * @param sampling_rate Set the sampling rate of the bridge. This value + * is also used to set the sampling rate of the + * sound device. + * @param channel_count Number of channels in the PCM stream. Normally + * the value will be 1 for mono, but application may + * specify a value of 2 for stereo. Note that all + * ports that will be connected to the bridge MUST + * have the same number of channels as the bridge. + * @param samples_per_frame Set the number of samples per frame. This value + * is also used to set the sound device. + * @param bits_per_sample Set the number of bits per sample. This value + * is also used to set the sound device. Currently + * only 16bit per sample is supported. + * @param options Bitmask options to be set for the bridge. The + * options are constructed from #pjmedia_conf_option + * enumeration. + * @param p_conf Pointer to receive the conference bridge instance. + * + * @return PJ_SUCCESS if conference bridge can be created. + */ +PJ_DECL(pj_status_t) pjmedia_conf_create( pj_pool_t *pool, + unsigned max_slots, + unsigned sampling_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + unsigned options, + pjmedia_conf **p_conf ); + + +/** + * Destroy conference bridge. + * + * @param conf The conference bridge. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_conf_destroy( pjmedia_conf *conf ); + + +/** + * Get the master port interface of the conference bridge. The master port + * corresponds to the port zero of the bridge. This is only usefull when + * application wants to manage the sound device by itself, instead of + * allowing the bridge to automatically create a sound device implicitly. + * + * This function will only return a port interface if PJMEDIA_CONF_NO_DEVICE + * option was specified when the bridge was created. + * + * Application can connect the port returned by this function to a + * sound device by calling #pjmedia_snd_port_connect(). + * + * @param conf The conference bridge. + * + * @return The port interface of port zero of the bridge, + * only when PJMEDIA_CONF_NO_DEVICE options was + * specified when the bridge was created. + */ +PJ_DECL(pjmedia_port*) pjmedia_conf_get_master_port(pjmedia_conf *conf); + + +/** + * Set master port name. + * + * @param conf The conference bridge. + * @param name Name to be assigned. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_conf_set_port0_name(pjmedia_conf *conf, + const pj_str_t *name); + + +/** + * Add media port to the conference bridge. + * + * By default, the new conference port will have both TX and RX enabled, + * but it is not connected to any other ports. Application SHOULD call + * #pjmedia_conf_connect_port() to enable audio transmission and receipt + * to/from this port. + * + * Once the media port is connected to other port(s) in the bridge, + * the bridge will continuosly call get_frame() and put_frame() to the + * port, allowing media to flow to/from the port. + * + * @param conf The conference bridge. + * @param pool Pool to allocate buffers for this port. + * @param strm_port Stream port interface. + * @param name Optional name for the port. If this value is NULL, + * the name will be taken from the name in the port + * info. + * @param p_slot Pointer to receive the slot index of the port in + * the conference bridge. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_conf_add_port( pjmedia_conf *conf, + pj_pool_t *pool, + pjmedia_port *strm_port, + const pj_str_t *name, + unsigned *p_slot ); + + +/** + * Warning: This API has been deprecated since 1.3 and will be + * removed in the future release, use @ref PJMEDIA_SPLITCOMB instead. + * + * Create and add a passive media port to the conference bridge. Unlike + * "normal" media port that is added with #pjmedia_conf_add_port(), media + * port created with this function will not have its get_frame() and + * put_frame() called by the bridge; instead, application MUST continuosly + * call these functions to the port, to allow media to flow from/to the + * port. + * + * Upon return of this function, application will be given two objects: + * the slot number of the port in the bridge, and pointer to the media + * port where application MUST start calling get_frame() and put_frame() + * to the port. + * + * @param conf The conference bridge. + * @param pool Pool to allocate buffers etc for this port. + * @param name Name to be assigned to the port. + * @param clock_rate Clock rate/sampling rate. + * @param channel_count Number of channels. + * @param samples_per_frame Number of samples per frame. + * @param bits_per_sample Number of bits per sample. + * @param options Options (should be zero at the moment). + * @param p_slot Pointer to receive the slot index of the port in + * the conference bridge. + * @param p_port Pointer to receive the port instance. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) pjmedia_conf_add_passive_port( pjmedia_conf *conf, + pj_pool_t *pool, + const pj_str_t *name, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + unsigned options, + unsigned *p_slot, + pjmedia_port **p_port ); + + +/** + * Change TX and RX settings for the port. + * + * @param conf The conference bridge. + * @param slot Port number/slot in the conference bridge. + * @param tx Settings for the transmission TO this port. + * @param rx Settings for the receipt FROM this port. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_conf_configure_port( pjmedia_conf *conf, + unsigned slot, + pjmedia_port_op tx, + pjmedia_port_op rx); + + +/** + * Enable unidirectional audio from the specified source slot to the + * specified sink slot. + * + * @param conf The conference bridge. + * @param src_slot Source slot. + * @param sink_slot Sink slot. + * @param level This argument is reserved for future improvements + * where it is possible to adjust the level of signal + * transmitted in a specific connection. For now, + * this argument MUST be zero. + * + * @return PJ_SUCCES on success. + */ +PJ_DECL(pj_status_t) pjmedia_conf_connect_port( pjmedia_conf *conf, + unsigned src_slot, + unsigned sink_slot, + int level ); + + +/** + * Disconnect unidirectional audio from the specified source to the specified + * sink slot. + * + * @param conf The conference bridge. + * @param src_slot Source slot. + * @param sink_slot Sink slot. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_conf_disconnect_port( pjmedia_conf *conf, + unsigned src_slot, + unsigned sink_slot ); + + +/** + * Get number of ports currently registered to the conference bridge. + * + * @param conf The conference bridge. + * + * @return Number of ports currently registered to the conference + * bridge. + */ +PJ_DECL(unsigned) pjmedia_conf_get_port_count(pjmedia_conf *conf); + + +/** + * Get total number of ports connections currently set up in the bridge. + * + * @param conf The conference bridge. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(unsigned) pjmedia_conf_get_connect_count(pjmedia_conf *conf); + + +/** + * Remove the specified port from the conference bridge. + * + * @param conf The conference bridge. + * @param slot The port index to be removed. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_conf_remove_port( pjmedia_conf *conf, + unsigned slot ); + + + +/** + * Enumerate occupied ports in the bridge. + * + * @param conf The conference bridge. + * @param ports Array of port numbers to be filled in. + * @param count On input, specifies the maximum number of ports + * in the array. On return, it will be filled with + * the actual number of ports. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_conf_enum_ports( pjmedia_conf *conf, + unsigned ports[], + unsigned *count ); + + +/** + * Get port info. + * + * @param conf The conference bridge. + * @param slot Port index. + * @param info Pointer to receive the info. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_conf_get_port_info( pjmedia_conf *conf, + unsigned slot, + pjmedia_conf_port_info *info); + + +/** + * Get occupied ports info. + * + * @param conf The conference bridge. + * @param size On input, contains maximum number of infos + * to be retrieved. On output, contains the actual + * number of infos that have been copied. + * @param info Array of info. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_conf_get_ports_info(pjmedia_conf *conf, + unsigned *size, + pjmedia_conf_port_info info[] + ); + + +/** + * Get last signal level transmitted to or received from the specified port. + * This will retrieve the "real-time" signal level of the audio as they are + * transmitted or received by the specified port. Application may call this + * function periodically to display the signal level to a VU meter. + * + * The signal level is an integer value in zero to 255, with zero indicates + * no signal, and 255 indicates the loudest signal level. + * + * @param conf The conference bridge. + * @param slot Slot number. + * @param tx_level Optional argument to receive the level of signal + * transmitted to the specified port (i.e. the direction + * is from the bridge to the port). + * @param rx_level Optional argument to receive the level of signal + * received from the port (i.e. the direction is from the + * port to the bridge). + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_conf_get_signal_level(pjmedia_conf *conf, + unsigned slot, + unsigned *tx_level, + unsigned *rx_level); + + +/** + * Adjust the level of signal received from the specified port. + * Application may adjust the level to make signal received from the port + * either louder or more quiet. The level adjustment is calculated with this + * formula: output = input * (adj_level+128) / 128. Using + * this, zero indicates no adjustment, the value -128 will mute the signal, + * and the value of +128 will make the signal 100% louder, +256 will make it + * 200% louder, etc. + * + * The level adjustment value will stay with the port until the port is + * removed from the bridge or new adjustment value is set. The current + * level adjustment value is reported in the media port info when + * the #pjmedia_conf_get_port_info() function is called. + * + * @param conf The conference bridge. + * @param slot Slot number of the port. + * @param adj_level Adjustment level, which must be greater than or equal + * to -128. A value of zero means there is no level + * adjustment to be made, the value -128 will mute the + * signal, and the value of +128 will make the signal + * 100% louder, +256 will make it 200% louder, etc. + * See the function description for the formula. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_conf_adjust_rx_level( pjmedia_conf *conf, + unsigned slot, + int adj_level ); + + +/** + * Adjust the level of signal to be transmitted to the specified port. + * Application may adjust the level to make signal transmitted to the port + * either louder or more quiet. The level adjustment is calculated with this + * formula: output = input * (adj_level+128) / 128. Using + * this, zero indicates no adjustment, the value -128 will mute the signal, + * and the value of +128 will make the signal 100% louder, +256 will make it + * 200% louder, etc. + * + * The level adjustment value will stay with the port until the port is + * removed from the bridge or new adjustment value is set. The current + * level adjustment value is reported in the media port info when + * the #pjmedia_conf_get_port_info() function is called. + * + * @param conf The conference bridge. + * @param slot Slot number of the port. + * @param adj_level Adjustment level, which must be greater than or equal + * to -128. A value of zero means there is no level + * adjustment to be made, the value -128 will mute the + * signal, and the value of +128 will make the signal + * 100% louder, +256 will make it 200% louder, etc. + * See the function description for the formula. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_conf_adjust_tx_level( pjmedia_conf *conf, + unsigned slot, + int adj_level ); + + + +PJ_END_DECL + + +/** + * @} + */ + + +#endif /* __PJMEDIA_CONF_H__ */ + diff --git a/pjmedia/include/pjmedia/config.h b/pjmedia/include/pjmedia/config.h new file mode 100644 index 0000000..ea90f54 --- /dev/null +++ b/pjmedia/include/pjmedia/config.h @@ -0,0 +1,1321 @@ +/* $Id: config.h 4981 2015-02-11 05:10:06Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CONFIG_H__ +#define __PJMEDIA_CONFIG_H__ + +/** + * @file pjmedia/config.h Compile time config + * @brief Contains some compile time constants. + */ +#include + +/** + * @defgroup PJMEDIA_BASE Base Types and Configurations + */ + +/** + * @defgroup PJMEDIA_CONFIG Compile time configuration + * @ingroup PJMEDIA_BASE + * @brief Some compile time configuration settings. + * @{ + */ + +/* + * Include config_auto.h if autoconf is used (PJ_AUTOCONF is set) + */ +#if defined(PJ_AUTOCONF) +# include +#endif + +/** + * Specify whether we prefer to use audio switch board rather than + * conference bridge. + * + * Audio switch board is a kind of simplified version of conference + * bridge, but not really the subset of conference bridge. It has + * stricter rules on audio routing among the pjmedia ports and has + * no audio mixing capability. The power of it is it could work with + * encoded audio frames where conference brigde couldn't. + * + * Default: 0 + */ +#ifndef PJMEDIA_CONF_USE_SWITCH_BOARD +# define PJMEDIA_CONF_USE_SWITCH_BOARD 0 +#endif + +/** + * Specify buffer size for audio switch board, in bytes. This buffer will + * be used for transmitting/receiving audio frame data (and some overheads, + * i.e: pjmedia_frame structure) among conference ports in the audio + * switch board. For example, if a port uses PCM format @44100Hz mono + * and frame time 20ms, the PCM audio data will require 1764 bytes, + * so with overhead, a safe buffer size will be ~1900 bytes. + * + * Default: PJMEDIA_MAX_MTU + */ +#ifndef PJMEDIA_CONF_SWITCH_BOARD_BUF_SIZE +# define PJMEDIA_CONF_SWITCH_BOARD_BUF_SIZE PJMEDIA_MAX_MTU +#endif + + +/* + * Types of sound stream backends. + */ + +/** + * This macro has been deprecated in releasee 1.1. Please see + * http://trac.pjsip.org/repos/wiki/Audio_Dev_API for more information. + */ +#if defined(PJMEDIA_SOUND_IMPLEMENTATION) +# error PJMEDIA_SOUND_IMPLEMENTATION has been deprecated +#endif + +/** + * This macro has been deprecated in releasee 1.1. Please see + * http://trac.pjsip.org/repos/wiki/Audio_Dev_API for more information. + */ +#if defined(PJMEDIA_PREFER_DIRECT_SOUND) +# error PJMEDIA_PREFER_DIRECT_SOUND has been deprecated +#endif + +/** + * This macro controls whether the legacy sound device API is to be + * implemented, for applications that still use the old sound device + * API (sound.h). If this macro is set to non-zero, the sound_legacy.c + * will be included in the compilation. The sound_legacy.c is an + * implementation of old sound device (sound.h) using the new Audio + * Device API. + * + * Please see http://trac.pjsip.org/repos/wiki/Audio_Dev_API for more + * info. + */ +#ifndef PJMEDIA_HAS_LEGACY_SOUND_API +# define PJMEDIA_HAS_LEGACY_SOUND_API 1 +#endif + +/** + * Specify default sound device latency, in milisecond. + */ +#ifndef PJMEDIA_SND_DEFAULT_REC_LATENCY +# define PJMEDIA_SND_DEFAULT_REC_LATENCY 100 +#endif + +/** + * Specify default sound device latency, in milisecond. + * + * Default is 160ms for Windows Mobile and 140ms for other platforms. + */ +#ifndef PJMEDIA_SND_DEFAULT_PLAY_LATENCY +# if defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE!=0 +# define PJMEDIA_SND_DEFAULT_PLAY_LATENCY 160 +# else +# define PJMEDIA_SND_DEFAULT_PLAY_LATENCY 140 +# endif +#endif + + +/* + * Types of WSOLA backend algorithm. + */ + +/** + * This denotes implementation of WSOLA using null algorithm. Expansion + * will generate zero frames, and compression will just discard some + * samples from the input. + * + * This type of implementation may be used as it requires the least + * processing power. + */ +#define PJMEDIA_WSOLA_IMP_NULL 0 + +/** + * This denotes implementation of WSOLA using fixed or floating point WSOLA + * algorithm. This implementation provides the best quality of the result, + * at the expense of one frame delay and intensive processing power + * requirement. + */ +#define PJMEDIA_WSOLA_IMP_WSOLA 1 + +/** + * This denotes implementation of WSOLA algorithm with faster waveform + * similarity calculation. This implementation provides fair quality of + * the result with the main advantage of low processing power requirement. + */ +#define PJMEDIA_WSOLA_IMP_WSOLA_LITE 2 + +/** + * Specify type of Waveform based Similarity Overlap and Add (WSOLA) backend + * implementation to be used. WSOLA is an algorithm to expand and/or compress + * audio frames without changing the pitch, and used by the delaybuf and as PLC + * backend algorithm. + * + * Default is PJMEDIA_WSOLA_IMP_WSOLA + */ +#ifndef PJMEDIA_WSOLA_IMP +# define PJMEDIA_WSOLA_IMP PJMEDIA_WSOLA_IMP_WSOLA +#endif + + +/** + * Specify the default maximum duration of synthetic audio that is generated + * by WSOLA. This value should be long enough to cover burst of packet losses. + * but not too long, because as the duration increases the quality would + * degrade considerably. + * + * Note that this limit is only applied when fading is enabled in the WSOLA + * session. + * + * Default: 80 + */ +#ifndef PJMEDIA_WSOLA_MAX_EXPAND_MSEC +# define PJMEDIA_WSOLA_MAX_EXPAND_MSEC 80 +#endif + + +/** + * Specify WSOLA template length, in milliseconds. The longer the template, + * the smoother signal to be generated at the expense of more computation + * needed, since the algorithm will have to compare more samples to find + * the most similar pitch. + * + * Default: 5 + */ +#ifndef PJMEDIA_WSOLA_TEMPLATE_LENGTH_MSEC +# define PJMEDIA_WSOLA_TEMPLATE_LENGTH_MSEC 5 +#endif + + +/** + * Specify WSOLA algorithm delay, in milliseconds. The algorithm delay is + * used to merge synthetic samples with real samples in the transition + * between real to synthetic and vice versa. The longer the delay, the + * smoother signal to be generated, at the expense of longer latency and + * a slighty more computation. + * + * Default: 5 + */ +#ifndef PJMEDIA_WSOLA_DELAY_MSEC +# define PJMEDIA_WSOLA_DELAY_MSEC 5 +#endif + + +/** + * Set this to non-zero to disable fade-out/in effect in the PLC when it + * instructs WSOLA to generate synthetic frames. The use of fading may + * or may not improve the quality of audio, depending on the nature of + * packet loss and the type of audio input (e.g. speech vs music). + * Disabling fading also implicitly remove the maximum limit of synthetic + * audio samples generated by WSOLA (see PJMEDIA_WSOLA_MAX_EXPAND_MSEC). + * + * Default: 0 + */ +#ifndef PJMEDIA_WSOLA_PLC_NO_FADING +# define PJMEDIA_WSOLA_PLC_NO_FADING 0 +#endif + + +/** + * Limit the number of calls by stream to the PLC to generate synthetic + * frames to this duration. If packets are still lost after this maximum + * duration, silence will be generated by the stream instead. Since the + * PLC normally should have its own limit on the maximum duration of + * synthetic frames to be generated (for PJMEDIA's PLC, the limit is + * PJMEDIA_WSOLA_MAX_EXPAND_MSEC), we can set this value to a large number + * to give additional flexibility should the PLC wants to do something + * clever with the lost frames. + * + * Default: 240 ms + */ +#ifndef PJMEDIA_MAX_PLC_DURATION_MSEC +# define PJMEDIA_MAX_PLC_DURATION_MSEC 240 +#endif + + +/** + * Specify number of sound buffers. Larger number is better for sound + * stability and to accommodate sound devices that are unable to send frames + * in timely manner, however it would probably cause more audio delay (and + * definitely will take more memory). One individual buffer is normally 10ms + * or 20 ms long, depending on ptime settings (samples_per_frame value). + * + * The setting here currently is used by the conference bridge, the splitter + * combiner port, and dsound.c. + * + * Default: (PJMEDIA_SND_DEFAULT_PLAY_LATENCY+20)/20 + */ +#ifndef PJMEDIA_SOUND_BUFFER_COUNT +# define PJMEDIA_SOUND_BUFFER_COUNT ((PJMEDIA_SND_DEFAULT_PLAY_LATENCY+20)/20) +#endif + + +/** + * Specify which A-law/U-law conversion algorithm to use. + * By default the conversion algorithm uses A-law/U-law table which gives + * the best performance, at the expense of 33 KBytes of static data. + * If this option is disabled, a smaller but slower algorithm will be used. + */ +#ifndef PJMEDIA_HAS_ALAW_ULAW_TABLE +# define PJMEDIA_HAS_ALAW_ULAW_TABLE 1 +#endif + + +/** + * Unless specified otherwise, G711 codec is included by default. + */ +#ifndef PJMEDIA_HAS_G711_CODEC +# define PJMEDIA_HAS_G711_CODEC 1 +#endif + + +/* + * Warn about obsolete macros. + * + * PJMEDIA_HAS_SMALL_FILTER has been deprecated in 0.7. + */ +#if defined(PJMEDIA_HAS_SMALL_FILTER) +# ifdef _MSC_VER +# pragma message("Warning: PJMEDIA_HAS_SMALL_FILTER macro is deprecated"\ + " and has no effect") +# else +# warning "PJMEDIA_HAS_SMALL_FILTER macro is deprecated and has no effect" +# endif +#endif + + +/* + * Warn about obsolete macros. + * + * PJMEDIA_HAS_LARGE_FILTER has been deprecated in 0.7. + */ +#if defined(PJMEDIA_HAS_LARGE_FILTER) +# ifdef _MSC_VER +# pragma message("Warning: PJMEDIA_HAS_LARGE_FILTER macro is deprecated"\ + " and has no effect") +# else +# warning "PJMEDIA_HAS_LARGE_FILTER macro is deprecated" +# endif +#endif + + +/* + * These macros are obsolete in 0.7.1 so it will trigger compilation error. + * Please use PJMEDIA_RESAMPLE_IMP to select the resample implementation + * to use. + */ +#ifdef PJMEDIA_HAS_LIBRESAMPLE +# error "PJMEDIA_HAS_LIBRESAMPLE macro is deprecated. Use '#define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_LIBRESAMPLE'" +#endif + +#ifdef PJMEDIA_HAS_SPEEX_RESAMPLE +# error "PJMEDIA_HAS_SPEEX_RESAMPLE macro is deprecated. Use '#define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_SPEEX'" +#endif + + +/* + * Sample rate conversion backends. + * Select one of these backends in PJMEDIA_RESAMPLE_IMP. + */ +#define PJMEDIA_RESAMPLE_NONE 1 /**< No resampling. */ +#define PJMEDIA_RESAMPLE_LIBRESAMPLE 2 /**< Sample rate conversion + using libresample. */ +#define PJMEDIA_RESAMPLE_SPEEX 3 /**< Sample rate conversion + using Speex. */ +#define PJMEDIA_RESAMPLE_LIBSAMPLERATE 4 /**< Sample rate conversion + using libsamplerate + (a.k.a Secret Rabbit Code) + */ + +/** + * Select which resample implementation to use. Currently pjmedia supports: + * - #PJMEDIA_RESAMPLE_LIBRESAMPLE, to use libresample-1.7, this is the default + * implementation to be used. + * - #PJMEDIA_RESAMPLE_LIBSAMPLERATE, to use libsamplerate implementation + * (a.k.a. Secret Rabbit Code). + * - #PJMEDIA_RESAMPLE_SPEEX, to use experimental sample rate conversion in + * Speex library. + * - #PJMEDIA_RESAMPLE_NONE, to disable sample rate conversion. Any calls to + * resample function will return error. + * + * Default is PJMEDIA_RESAMPLE_LIBRESAMPLE + */ +#ifndef PJMEDIA_RESAMPLE_IMP +# define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_LIBRESAMPLE +#endif + + +/** + * Specify whether libsamplerate, when used, should be linked statically + * into the application. This option is only useful for Visual Studio + * projects, and when this static linking is enabled + */ + + +/** + * Default file player/writer buffer size. + */ +#ifndef PJMEDIA_FILE_PORT_BUFSIZE +# define PJMEDIA_FILE_PORT_BUFSIZE 4000 +#endif + + +/** + * Maximum frame duration (in msec) to be supported. + * This (among other thing) will affect the size of buffers to be allocated + * for outgoing packets. + */ +#ifndef PJMEDIA_MAX_FRAME_DURATION_MS +# define PJMEDIA_MAX_FRAME_DURATION_MS 200 +#endif + + +/** + * Max packet size for transmitting direction. + */ +#ifndef PJMEDIA_MAX_MTU +# define PJMEDIA_MAX_MTU 1500 +#endif + + +/** + * Max packet size for receiving direction. + */ +#ifndef PJMEDIA_MAX_MRU +# define PJMEDIA_MAX_MRU 2000 +#endif + + +/** + * DTMF/telephone-event duration, in timestamp. + */ +#ifndef PJMEDIA_DTMF_DURATION +# define PJMEDIA_DTMF_DURATION 1600 /* in timestamp */ +#endif + + +/** + * Number of RTP packets received from different source IP address from the + * remote address required to make the stream switch transmission + * to the source address. + */ +#ifndef PJMEDIA_RTP_NAT_PROBATION_CNT +# define PJMEDIA_RTP_NAT_PROBATION_CNT 10 +#endif + + +/** + * Number of RTCP packets received from different source IP address from the + * remote address required to make the stream switch RTCP transmission + * to the source address. + */ +#ifndef PJMEDIA_RTCP_NAT_PROBATION_CNT +# define PJMEDIA_RTCP_NAT_PROBATION_CNT 3 +#endif + + +/** + * Specify whether RTCP should be advertised in SDP. This setting would + * affect whether RTCP candidate will be added in SDP when ICE is used. + * Application might want to disable RTCP advertisement in SDP to + * reduce the message size. + * + * Default: 1 (yes) + */ +#ifndef PJMEDIA_ADVERTISE_RTCP +# define PJMEDIA_ADVERTISE_RTCP 1 +#endif + + +/** + * Interval to send RTCP packets, in msec + */ +#ifndef PJMEDIA_RTCP_INTERVAL +# define PJMEDIA_RTCP_INTERVAL 5000 /* msec*/ +#endif + + +/** + * Tell RTCP to ignore the first N packets when calculating the + * jitter statistics. From experimentation, the first few packets + * (25 or so) have relatively big jitter, possibly because during + * this time, the program is also busy setting up the signaling, + * so they make the average jitter big. + * + * Default: 25. + */ +#ifndef PJMEDIA_RTCP_IGNORE_FIRST_PACKETS +# define PJMEDIA_RTCP_IGNORE_FIRST_PACKETS 25 +#endif + + +/** + * Specify whether RTCP statistics includes raw jitter statistics. + * Raw jitter is defined as absolute value of network transit time + * difference of two consecutive packets; refering to "difference D" + * term in interarrival jitter calculation in RFC 3550 section 6.4.1. + * + * Default: 0 (no). + */ +#ifndef PJMEDIA_RTCP_STAT_HAS_RAW_JITTER +# define PJMEDIA_RTCP_STAT_HAS_RAW_JITTER 0 +#endif + +/** + * Specify the factor with wich RTCP RTT statistics should be normalized + * if exceptionally high. For e.g. mobile networks with potentially large + * fluctuations, this might be unwanted. + * + * Use (0) to disable this feature. + * + * Default: 3. + */ +#ifndef PJMEDIA_RTCP_NORMALIZE_FACTOR +# define PJMEDIA_RTCP_NORMALIZE_FACTOR 3 +#endif + + +/** + * Specify whether RTCP statistics includes IP Delay Variation statistics. + * IPDV is defined as network transit time difference of two consecutive + * packets. The IPDV statistic can be useful to inspect clock skew existance + * and level, e.g: when the IPDV mean values were stable in positive numbers, + * then the remote clock (used in sending RTP packets) is faster than local + * system clock. Ideally, the IPDV mean values are always equal to 0. + * + * Default: 0 (no). + */ +#ifndef PJMEDIA_RTCP_STAT_HAS_IPDV +# define PJMEDIA_RTCP_STAT_HAS_IPDV 0 +#endif + + +/** + * Specify whether RTCP XR support should be built into PJMEDIA. Disabling + * this feature will reduce footprint slightly. Note that even when this + * setting is enabled, RTCP XR processing will only be performed in stream + * if it is enabled on run-time on per stream basis. See + * PJMEDIA_STREAM_ENABLE_XR setting for more info. + * + * Default: 0 (no). + */ +#ifndef PJMEDIA_HAS_RTCP_XR +# define PJMEDIA_HAS_RTCP_XR 0 +#endif + + +/** + * The RTCP XR feature is activated and used by stream if \a enable_rtcp_xr + * field of \a pjmedia_stream_info structure is non-zero. This setting + * controls the default value of this field. + * + * Default: 0 (disabled) + */ +#ifndef PJMEDIA_STREAM_ENABLE_XR +# define PJMEDIA_STREAM_ENABLE_XR 0 +#endif + + +/** + * Specify the buffer length for storing any received RTCP SDES text + * in a stream session. Usually RTCP contains only the mandatory SDES + * field, i.e: CNAME. + * + * Default: 64 bytes. + */ +#ifndef PJMEDIA_RTCP_RX_SDES_BUF_LEN +# define PJMEDIA_RTCP_RX_SDES_BUF_LEN 64 +#endif + + +/** + * Specify how long (in miliseconds) the stream should suspend the + * silence detector/voice activity detector (VAD) during the initial + * period of the session. This feature is useful to open bindings in + * all NAT routers between local and remote endpoint since most NATs + * do not allow incoming packet to get in before local endpoint sends + * outgoing packets. + * + * Specify zero to disable this feature. + * + * Default: 600 msec (which gives good probability that some RTP + * packets will reach the destination, but without + * filling up the jitter buffer on the remote end). + */ +#ifndef PJMEDIA_STREAM_VAD_SUSPEND_MSEC +# define PJMEDIA_STREAM_VAD_SUSPEND_MSEC 600 +#endif + +/** + * Perform RTP payload type checking in the stream. Normally the peer + * MUST send RTP with payload type as we specified in our SDP. Certain + * agents may not be able to follow this hence the only way to have + * communication is to disable this check. + * + * Default: 1 + */ +#ifndef PJMEDIA_STREAM_CHECK_RTP_PT +# define PJMEDIA_STREAM_CHECK_RTP_PT 1 +#endif + +/** + * Reserve some space for application extra data, e.g: SRTP auth tag, + * in RTP payload, so the total payload length will not exceed the MTU. + */ +#ifndef PJMEDIA_STREAM_RESV_PAYLOAD_LEN +# define PJMEDIA_STREAM_RESV_PAYLOAD_LEN 20 +#endif + + +/** + * Specify the maximum duration of silence period in the codec, in msec. + * This is useful for example to keep NAT binding open in the firewall + * and to prevent server from disconnecting the call because no + * RTP packet is received. + * + * This only applies to codecs that use PJMEDIA's VAD (pretty much + * everything including iLBC, except Speex, which has its own DTX + * mechanism). + * + * Use (-1) to disable this feature. + * + * Default: 5000 ms + * + */ +#ifndef PJMEDIA_CODEC_MAX_SILENCE_PERIOD +# define PJMEDIA_CODEC_MAX_SILENCE_PERIOD 5000 +#endif + + +/** + * Suggested or default threshold to be set for fixed silence detection + * or as starting threshold for adaptive silence detection. The threshold + * has the range from zero to 0xFFFF. + */ +#ifndef PJMEDIA_SILENCE_DET_THRESHOLD +# define PJMEDIA_SILENCE_DET_THRESHOLD 4 +#endif + + +/** + * Maximum silence threshold in the silence detector. The silence detector + * will not cut the audio transmission if the audio level is above this + * level. + * + * Use 0x10000 (or greater) to disable this feature. + * + * Default: 0x10000 (disabled) + */ +#ifndef PJMEDIA_SILENCE_DET_MAX_THRESHOLD +# define PJMEDIA_SILENCE_DET_MAX_THRESHOLD 0x10000 +#endif + + +/** + * Speex Accoustic Echo Cancellation (AEC). + * By default is enabled. + */ +#ifndef PJMEDIA_HAS_SPEEX_AEC +# define PJMEDIA_HAS_SPEEX_AEC 1 +#endif + + +/** + * Specify whether Automatic Gain Control (AGC) should also be enabled in + * Speex AEC. + * + * Default: 1 (yes) + */ +#ifndef PJMEDIA_SPEEX_AEC_USE_AGC +# define PJMEDIA_SPEEX_AEC_USE_AGC 1 +#endif + + +/** + * Specify whether denoise should also be enabled in Speex AEC. + * + * Default: 1 (yes) + */ +#ifndef PJMEDIA_SPEEX_AEC_USE_DENOISE +# define PJMEDIA_SPEEX_AEC_USE_DENOISE 1 +#endif + + +/** + * Maximum number of parameters in SDP fmtp attribute. + * + * Default: 16 + */ +#ifndef PJMEDIA_CODEC_MAX_FMTP_CNT +# define PJMEDIA_CODEC_MAX_FMTP_CNT 16 +#endif + + +/** + * This specifies the behavior of the SDP negotiator when responding to an + * offer, whether it should rather use the codec preference as set by + * remote, or should it rather use the codec preference as specified by + * local endpoint. + * + * For example, suppose incoming call has codec order "8 0 3", while + * local codec order is "3 0 8". If remote codec order is preferable, + * the selected codec will be 8, while if local codec order is preferable, + * the selected codec will be 3. + * + * If set to non-zero, the negotiator will use the codec order as specified + * by remote in the offer. + * + * Note that this behavior can be changed during run-time by calling + * pjmedia_sdp_neg_set_prefer_remote_codec_order(). + * + * Default is 1 (to maintain backward compatibility) + */ +#ifndef PJMEDIA_SDP_NEG_PREFER_REMOTE_CODEC_ORDER +# define PJMEDIA_SDP_NEG_PREFER_REMOTE_CODEC_ORDER 1 +#endif + +/** + * This specifies the behavior of the SDP negotiator when responding to an + * offer, whether it should answer with multiple formats or not. + * + * Note that this behavior can be changed during run-time by calling + * pjmedia_sdp_neg_set_allow_multiple_codecs(). + * + * Default is 0 (to maintain backward compatibility) + */ +#ifndef PJMEDIA_SDP_NEG_ANSWER_MULTIPLE_CODECS +# define PJMEDIA_SDP_NEG_ANSWER_MULTIPLE_CODECS 0 +#endif + + +/** + * This specifies the maximum number of the customized SDP format + * negotiation callbacks. + */ +#ifndef PJMEDIA_SDP_NEG_MAX_CUSTOM_FMT_NEG_CB +# define PJMEDIA_SDP_NEG_MAX_CUSTOM_FMT_NEG_CB 8 +#endif + + +/** + * This specifies if the SDP negotiator should rewrite answer payload + * type numbers to use the same payload type numbers as the remote offer + * for all matched codecs. + * + * Default is 1 (yes) + */ +#ifndef PJMEDIA_SDP_NEG_ANSWER_SYMMETRIC_PT +# define PJMEDIA_SDP_NEG_ANSWER_SYMMETRIC_PT 1 +#endif + + +/** + * Support for sending and decoding RTCP port in SDP (RFC 3605). + * Default is equal to PJMEDIA_ADVERTISE_RTCP setting. + */ +#ifndef PJMEDIA_HAS_RTCP_IN_SDP +# define PJMEDIA_HAS_RTCP_IN_SDP (PJMEDIA_ADVERTISE_RTCP) +#endif + + +/** + * This macro controls whether pjmedia should include SDP + * bandwidth modifier "TIAS" (RFC3890). + * + * Note that there is also a run-time variable to turn this setting + * on or off, defined in endpoint.c. To access this variable, use + * the following construct + * + \verbatim + extern pj_bool_t pjmedia_add_bandwidth_tias_in_sdp; + + // Do not enable bandwidth information inclusion in sdp + pjmedia_add_bandwidth_tias_in_sdp = PJ_FALSE; + \endverbatim + * + * Default: 1 (yes) + */ +#ifndef PJMEDIA_ADD_BANDWIDTH_TIAS_IN_SDP +# define PJMEDIA_ADD_BANDWIDTH_TIAS_IN_SDP 1 +#endif + + +/** + * This macro controls whether pjmedia should include SDP rtpmap + * attribute for static payload types. SDP rtpmap for static + * payload types are optional, although they are normally included + * for interoperability reason. + * + * Note that there is also a run-time variable to turn this setting + * on or off, defined in endpoint.c. To access this variable, use + * the following construct + * + \verbatim + extern pj_bool_t pjmedia_add_rtpmap_for_static_pt; + + // Do not include rtpmap for static payload types (<96) + pjmedia_add_rtpmap_for_static_pt = PJ_FALSE; + \endverbatim + * + * Default: 1 (yes) + */ +#ifndef PJMEDIA_ADD_RTPMAP_FOR_STATIC_PT +# define PJMEDIA_ADD_RTPMAP_FOR_STATIC_PT 1 +#endif + + +/** + * This macro declares the payload type for telephone-event + * that is advertised by PJMEDIA for outgoing SDP. If this macro + * is set to zero, telephone events would not be advertised nor + * supported. + * + * If this value is changed to other number, please update the + * PJMEDIA_RTP_PT_TELEPHONE_EVENTS_STR too. + */ +#ifndef PJMEDIA_RTP_PT_TELEPHONE_EVENTS +# define PJMEDIA_RTP_PT_TELEPHONE_EVENTS 96 +#endif + + +/** + * Macro to get the string representation of the telephone-event + * payload type. + */ +#ifndef PJMEDIA_RTP_PT_TELEPHONE_EVENTS_STR +# define PJMEDIA_RTP_PT_TELEPHONE_EVENTS_STR "96" +#endif + + +/** + * Maximum tones/digits that can be enqueued in the tone generator. + */ +#ifndef PJMEDIA_TONEGEN_MAX_DIGITS +# define PJMEDIA_TONEGEN_MAX_DIGITS 32 +#endif + + +/* + * Below specifies the various tone generator backend algorithm. + */ + +/** + * The math's sine(), floating point. This has very good precision + * but it's the slowest and requires floating point support and + * linking with the math library. + */ +#define PJMEDIA_TONEGEN_SINE 1 + +/** + * Floating point approximation of sine(). This has relatively good + * precision and much faster than plain sine(), but it requires floating- + * point support and linking with the math library. + */ +#define PJMEDIA_TONEGEN_FLOATING_POINT 2 + +/** + * Fixed point using sine signal generated by Cordic algorithm. This + * algorithm can be tuned to provide balance between precision and + * performance by tuning the PJMEDIA_TONEGEN_FIXED_POINT_CORDIC_LOOP + * setting, and may be suitable for platforms that lack floating-point + * support. + */ +#define PJMEDIA_TONEGEN_FIXED_POINT_CORDIC 3 + +/** + * Fast fixed point using some approximation to generate sine waves. + * The tone generated by this algorithm is not very precise, however + * the algorithm is very fast. + */ +#define PJMEDIA_TONEGEN_FAST_FIXED_POINT 4 + + +/** + * Specify the tone generator algorithm to be used. Please see + * http://trac.pjsip.org/repos/wiki/Tone_Generator for the performance + * analysis results of the various tone generator algorithms. + * + * Default value: + * - PJMEDIA_TONEGEN_FLOATING_POINT when PJ_HAS_FLOATING_POINT is set + * - PJMEDIA_TONEGEN_FIXED_POINT_CORDIC when PJ_HAS_FLOATING_POINT is not set + */ +#ifndef PJMEDIA_TONEGEN_ALG +# if defined(PJ_HAS_FLOATING_POINT) && PJ_HAS_FLOATING_POINT +# define PJMEDIA_TONEGEN_ALG PJMEDIA_TONEGEN_FLOATING_POINT +# else +# define PJMEDIA_TONEGEN_ALG PJMEDIA_TONEGEN_FIXED_POINT_CORDIC +# endif +#endif + + +/** + * Specify the number of calculation loops to generate the tone, when + * PJMEDIA_TONEGEN_FIXED_POINT_CORDIC algorithm is used. With more calculation + * loops, the tone signal gets more precise, but this will add more + * processing. + * + * Valid values are 1 to 28. + * + * Default value: 10 + */ +#ifndef PJMEDIA_TONEGEN_FIXED_POINT_CORDIC_LOOP +# define PJMEDIA_TONEGEN_FIXED_POINT_CORDIC_LOOP 10 +#endif + + +/** + * Enable high quality of tone generation, the better quality will cost + * more CPU load. This is only applied to floating point enabled machines. + * + * By default it is enabled when PJ_HAS_FLOATING_POINT is set. + * + * This macro has been deprecated in version 1.0-rc3. + */ +#ifdef PJMEDIA_USE_HIGH_QUALITY_TONEGEN +# error "The PJMEDIA_USE_HIGH_QUALITY_TONEGEN macro is obsolete" +#endif + + +/** + * Fade-in duration for the tone, in milliseconds. Set to zero to disable + * this feature. + * + * Default: 1 (msec) + */ +#ifndef PJMEDIA_TONEGEN_FADE_IN_TIME +# define PJMEDIA_TONEGEN_FADE_IN_TIME 1 +#endif + + +/** + * Fade-out duration for the tone, in milliseconds. Set to zero to disable + * this feature. + * + * Default: 2 (msec) + */ +#ifndef PJMEDIA_TONEGEN_FADE_OUT_TIME +# define PJMEDIA_TONEGEN_FADE_OUT_TIME 2 +#endif + + +/** + * The default tone generator amplitude (1-32767). + * + * Default value: 12288 + */ +#ifndef PJMEDIA_TONEGEN_VOLUME +# define PJMEDIA_TONEGEN_VOLUME 12288 +#endif + + +/** + * Enable support for SRTP media transport. This will require linking + * with libsrtp from the third_party directory. + * + * By default it is enabled. + */ +#ifndef PJMEDIA_HAS_SRTP +# define PJMEDIA_HAS_SRTP 1 +#endif + + +/** + * Let the library handle libsrtp initialization and deinitialization. + * Application may want to disable this and manually perform libsrtp + * initialization and deinitialization when it needs to use libsrtp + * before the library is initialized or after the library is shutdown. + * + * By default it is enabled. + */ +#ifndef PJMEDIA_LIBSRTP_AUTO_INIT_DEINIT +# define PJMEDIA_LIBSRTP_AUTO_INIT_DEINIT 1 +#endif + + +/** + * Enable support to handle codecs with inconsistent clock rate + * between clock rate in SDP/RTP & the clock rate that is actually used. + * This happens for example with G.722 and MPEG audio codecs. + * See: + * - G.722 : RFC 3551 4.5.2 + * - MPEG audio : RFC 3551 4.5.13 & RFC 3119 + * + * Also when this feature is enabled, some handling will be performed + * to deal with clock rate incompatibilities of some phones. + * + * By default it is enabled. + */ +#ifndef PJMEDIA_HANDLE_G722_MPEG_BUG +# define PJMEDIA_HANDLE_G722_MPEG_BUG 1 +#endif + + +/** + * Transport info (pjmedia_transport_info) contains a socket info and list + * of transport specific info, since transports can be chained together + * (for example, SRTP transport uses UDP transport as the underlying + * transport). This constant specifies maximum number of transport specific + * infos that can be held in a transport info. + */ +#ifndef PJMEDIA_TRANSPORT_SPECIFIC_INFO_MAXCNT +# define PJMEDIA_TRANSPORT_SPECIFIC_INFO_MAXCNT 4 +#endif + + +/** + * Maximum size in bytes of storage buffer of a transport specific info. + */ +#ifndef PJMEDIA_TRANSPORT_SPECIFIC_INFO_MAXSIZE +# define PJMEDIA_TRANSPORT_SPECIFIC_INFO_MAXSIZE (36*sizeof(long)) +#endif + + +/** + * Value to be specified in PJMEDIA_STREAM_ENABLE_KA setting. + * This indicates that an empty RTP packet should be used as + * the keep-alive packet. + */ +#define PJMEDIA_STREAM_KA_EMPTY_RTP 1 + +/** + * Value to be specified in PJMEDIA_STREAM_ENABLE_KA setting. + * This indicates that a user defined packet should be used + * as the keep-alive packet. The content of the user-defined + * packet is specified by PJMEDIA_STREAM_KA_USER_PKT. Default + * content is a CR-LF packet. + */ +#define PJMEDIA_STREAM_KA_USER 2 + +/** + * The content of the user defined keep-alive packet. The format + * of the packet is initializer to pj_str_t structure. Note that + * the content may contain NULL character. + */ +#ifndef PJMEDIA_STREAM_KA_USER_PKT +# define PJMEDIA_STREAM_KA_USER_PKT { "\r\n", 2 } +#endif + +/** + * Specify another type of keep-alive and NAT hole punching + * mechanism (the other type is PJMEDIA_STREAM_VAD_SUSPEND_MSEC + * and PJMEDIA_CODEC_MAX_SILENCE_PERIOD) to be used by stream. + * When this feature is enabled, the stream will initially + * transmit one packet to punch a hole in NAT, and periodically + * transmit keep-alive packets. + * + * When this alternative keep-alive mechanism is used, application + * may disable the other keep-alive mechanisms, i.e: by setting + * PJMEDIA_STREAM_VAD_SUSPEND_MSEC to zero and + * PJMEDIA_CODEC_MAX_SILENCE_PERIOD to -1. + * + * The value of this macro specifies the type of packet used + * for the keep-alive mechanism. Valid values are + * PJMEDIA_STREAM_KA_EMPTY_RTP and PJMEDIA_STREAM_KA_USER. + * + * The duration of the keep-alive interval further can be set + * with PJMEDIA_STREAM_KA_INTERVAL setting. + * + * Default: 0 (disabled) + */ +#ifndef PJMEDIA_STREAM_ENABLE_KA +# define PJMEDIA_STREAM_ENABLE_KA 0 +#endif + + +/** + * Specify the keep-alive interval of PJMEDIA_STREAM_ENABLE_KA + * mechanism, in seconds. + * + * Default: 5 seconds + */ +#ifndef PJMEDIA_STREAM_KA_INTERVAL +# define PJMEDIA_STREAM_KA_INTERVAL 5 +#endif + + +/* + * .... new stuffs ... + */ + +/* + * Video + */ + +/** + * Top level option to enable/disable video features. + * + * Default: 0 (disabled) + */ +#ifndef PJMEDIA_HAS_VIDEO +# define PJMEDIA_HAS_VIDEO 0 +#endif + + +/** + * Specify if FFMPEG is available. The value here will be used as the default + * value for other FFMPEG settings below. + * + * Default: 0 + */ +#ifndef PJMEDIA_HAS_FFMPEG +# define PJMEDIA_HAS_FFMPEG 0 +#endif + +/** + * Specify if FFMPEG libavformat is available. + * + * Default: PJMEDIA_HAS_FFMPEG (or detected by configure) + */ +#ifndef PJMEDIA_HAS_LIBAVFORMAT +# define PJMEDIA_HAS_LIBAVFORMAT PJMEDIA_HAS_FFMPEG +#endif + +/** + * Specify if FFMPEG libavformat is available. + * + * Default: PJMEDIA_HAS_FFMPEG (or detected by configure) + */ +#ifndef PJMEDIA_HAS_LIBAVCODEC +# define PJMEDIA_HAS_LIBAVCODEC PJMEDIA_HAS_FFMPEG +#endif + +/** + * Specify if FFMPEG libavutil is available. + * + * Default: PJMEDIA_HAS_FFMPEG (or detected by configure) + */ +#ifndef PJMEDIA_HAS_LIBAVUTIL +# define PJMEDIA_HAS_LIBAVUTIL PJMEDIA_HAS_FFMPEG +#endif + +/** + * Specify if FFMPEG libswscale is available. + * + * Default: PJMEDIA_HAS_FFMPEG (or detected by configure) + */ +#ifndef PJMEDIA_HAS_LIBSWSCALE +# define PJMEDIA_HAS_LIBSWSCALE PJMEDIA_HAS_FFMPEG +#endif + +/** + * Specify if FFMPEG libavdevice is available. + * + * Default: PJMEDIA_HAS_FFMPEG (or detected by configure) + */ +#ifndef PJMEDIA_HAS_LIBAVDEVICE +# define PJMEDIA_HAS_LIBAVDEVICE PJMEDIA_HAS_FFMPEG +#endif + +/** + * Specify if FFMPEG libavcore is available. + * + * Default: PJMEDIA_HAS_FFMPEG (or detected by configure) + */ +#ifndef PJMEDIA_HAS_LIBAVCORE +# define PJMEDIA_HAS_LIBAVCORE PJMEDIA_HAS_FFMPEG +#endif + +/** + * Maximum video planes. + * + * Default: 4 + */ +#ifndef PJMEDIA_MAX_VIDEO_PLANES +# define PJMEDIA_MAX_VIDEO_PLANES 4 +#endif + +/** + * Maximum number of video formats. + * + * Default: 32 + */ +#ifndef PJMEDIA_MAX_VIDEO_FORMATS +# define PJMEDIA_MAX_VIDEO_FORMATS 32 +#endif + +/** + * Specify the maximum time difference (in ms) for synchronization between + * two medias. If the synchronization media source is ahead of time + * greater than this duration, it is considered to make a very large jump + * and the synchronization will be reset. + * + * Default: 20000 + */ +#ifndef PJMEDIA_CLOCK_SYNC_MAX_SYNC_MSEC +# define PJMEDIA_CLOCK_SYNC_MAX_SYNC_MSEC 20000 +#endif + +/** + * Maximum video frame size. + * Default: 128kB + */ +#ifndef PJMEDIA_MAX_VIDEO_ENC_FRAME_SIZE +# define PJMEDIA_MAX_VIDEO_ENC_FRAME_SIZE (1<<17) +#endif + + +/** + * Specify the maximum duration (in ms) for resynchronization. When a media + * is late to another media it is supposed to be synchronized to, it is + * guaranteed to be synchronized again after this duration. While if the + * media is ahead/early by t ms, it is guaranteed to be synchronized after + * t + this duration. This timing only applies if there is no additional + * resynchronization required during the specified duration. + * + * Default: 2000 + */ +#ifndef PJMEDIA_CLOCK_SYNC_MAX_RESYNC_DURATION +# define PJMEDIA_CLOCK_SYNC_MAX_RESYNC_DURATION 2000 +#endif + + +/** + * Minimum gap between two consecutive discards in jitter buffer, + * in milliseconds. + * + * Default: 200 ms + */ +#ifndef PJMEDIA_JBUF_DISC_MIN_GAP +# define PJMEDIA_JBUF_DISC_MIN_GAP 200 +#endif + + +/** + * Minimum burst level reference used for calculating discard duration + * in jitter buffer progressive discard algorithm, in frames. + * + * Default: 1 frame + */ +#ifndef PJMEDIA_JBUF_PRO_DISC_MIN_BURST +# define PJMEDIA_JBUF_PRO_DISC_MIN_BURST 1 +#endif + + +/** + * Maximum burst level reference used for calculating discard duration + * in jitter buffer progressive discard algorithm, in frames. + * + * Default: 200 frames + */ +#ifndef PJMEDIA_JBUF_PRO_DISC_MAX_BURST +# define PJMEDIA_JBUF_PRO_DISC_MAX_BURST 100 +#endif + + +/** + * Duration for progressive discard algotithm in jitter buffer to discard + * an excessive frame when burst is equal to or lower than + * PJMEDIA_JBUF_PRO_DISC_MIN_BURST, in milliseconds. + * + * Default: 2000 ms + */ +#ifndef PJMEDIA_JBUF_PRO_DISC_T1 +# define PJMEDIA_JBUF_PRO_DISC_T1 2000 +#endif + + +/** + * Duration for progressive discard algotithm in jitter buffer to discard + * an excessive frame when burst is equal to or greater than + * PJMEDIA_JBUF_PRO_DISC_MAX_BURST, in milliseconds. + * + * Default: 10000 ms + */ +#ifndef PJMEDIA_JBUF_PRO_DISC_T2 +# define PJMEDIA_JBUF_PRO_DISC_T2 10000 +#endif + + +/** + * Video stream will discard old picture from the jitter buffer as soon as + * new picture is received, to reduce latency. + * + * Default: 0 + */ +#ifndef PJMEDIA_VID_STREAM_SKIP_PACKETS_TO_REDUCE_LATENCY +# define PJMEDIA_VID_STREAM_SKIP_PACKETS_TO_REDUCE_LATENCY 0 +#endif + + +/** + * Maximum video payload size. Note that this must not be greater than + * PJMEDIA_MAX_MTU. + * + * Default: (PJMEDIA_MAX_MTU - 100) + */ +#ifndef PJMEDIA_MAX_VID_PAYLOAD_SIZE +# define PJMEDIA_MAX_VID_PAYLOAD_SIZE (PJMEDIA_MAX_MTU - 100) +#endif + + +/** + * Specify target value for socket receive buffer size. It will be + * applied to RTP socket of media transport using setsockopt(). When + * transport failed to set the specified size, it will try with lower + * value until the highest possible is successfully set. + * + * Setting this to zero will leave the socket receive buffer size to + * OS default (e.g: usually 8 KB on desktop platforms). + * + * Default: 64 KB when video is enabled, otherwise zero (OS default) + */ +#ifndef PJMEDIA_TRANSPORT_SO_RCVBUF_SIZE +# if PJMEDIA_HAS_VIDEO +# define PJMEDIA_TRANSPORT_SO_RCVBUF_SIZE (64*1024) +# else +# define PJMEDIA_TRANSPORT_SO_RCVBUF_SIZE 0 +# endif +#endif + + +/** + * Specify target value for socket send buffer size. It will be + * applied to RTP socket of media transport using setsockopt(). When + * transport failed to set the specified size, it will try with lower + * value until the highest possible is successfully set. + * + * Setting this to zero will leave the socket send buffer size to + * OS default (e.g: usually 8 KB on desktop platforms). + * + * Default: 64 KB when video is enabled, otherwise zero (OS default) + */ +#ifndef PJMEDIA_TRANSPORT_SO_SNDBUF_SIZE +# if PJMEDIA_HAS_VIDEO +# define PJMEDIA_TRANSPORT_SO_SNDBUF_SIZE (64*1024) +# else +# define PJMEDIA_TRANSPORT_SO_SNDBUF_SIZE 0 +# endif +#endif + +/** + * Specify if libyuv is available. + * + * Default: 0 (disable) + */ +#ifndef PJMEDIA_HAS_LIBYUV +# define PJMEDIA_HAS_LIBYUV 0 +#endif + +/** + * @} + */ + + +#endif /* __PJMEDIA_CONFIG_H__ */ + + diff --git a/pjmedia/include/pjmedia/config_auto.h.in b/pjmedia/include/pjmedia/config_auto.h.in new file mode 100644 index 0000000..378ddcd --- /dev/null +++ b/pjmedia/include/pjmedia/config_auto.h.in @@ -0,0 +1,43 @@ +/* $Id: config_auto.h.in 3295 2010-08-25 12:51:29Z bennylp $ */ +/* + * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CONFIG_AUTO_H_ +#define __PJMEDIA_CONFIG_AUTO_H_ + +/** + * @file config_auto.h + * @brief PJMEDIA configuration as set by autoconf script + */ + +/* + * Note: + * The configuration in config_site.h overrides any other settings, + * including the setting as detected by autoconf. + */ + +/* G711 codec */ +#ifndef PJMEDIA_HAS_G711_CODEC +#undef PJMEDIA_HAS_G711_CODEC +#endif + + +#endif /* __PJMEDIA_CONFIG_AUTO_H_ */ + + + diff --git a/pjmedia/include/pjmedia/converter.h b/pjmedia/include/pjmedia/converter.h new file mode 100644 index 0000000..d649007 --- /dev/null +++ b/pjmedia/include/pjmedia/converter.h @@ -0,0 +1,322 @@ +/* $Id: converter.h 3664 2011-07-19 03:42:28Z nanang $ */ +/* + * Copyright (C) 2010-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_CONVERTER_H__ +#define __PJMEDIA_CONVERTER_H__ + + +/** + * @file pjmedia/converter.h Format conversion utilities + * @brief Format conversion utilities + */ + +#include +#include +#include +#include + + +/** + * @defgroup PJMEDIA_CONVERTER Format converter + * @ingroup PJMEDIA_FRAME_OP + * @brief Audio and video converter utilities + * @{ + */ + +PJ_BEGIN_DECL + +/** + * This describes conversion parameter. It specifies the source and + * destination formats of the conversion. + */ +typedef struct pjmedia_conversion_param +{ + pjmedia_format src; /**< Source format. */ + pjmedia_format dst; /**< Destination format. */ +} pjmedia_conversion_param; + + +/** Forward declaration of factory operation structure */ +typedef struct pjmedia_converter_factory_op pjmedia_converter_factory_op; + +/** + * Converter priority guides. Converter priority determines which converter + * instance to be used if more than one converters are able to perform the + * requested conversion. Converter implementor can use this value to order + * the preference based on attributes such as quality or performance. Higher + * number indicates higher priority. + */ +typedef enum pjmedia_converter_priority_guide +{ + /** Lowest priority. */ + PJMEDIA_CONVERTER_PRIORITY_LOWEST = 0, + + /** Normal priority. */ + PJMEDIA_CONVERTER_PRIORITY_NORMAL = 15000, + + /** Highest priority. */ + PJMEDIA_CONVERTER_PRIORITY_HIGHEST = 32000 +} pjmedia_converter_priority_guide; + +/** + * Converter factory. The converter factory registers a callback function + * to create converters. + */ +typedef struct pjmedia_converter_factory +{ + /** + * Standard list members. + */ + PJ_DECL_LIST_MEMBER(struct pjmedia_converter_factory); + + /** + * Factory name. + */ + const char *name; + + /** + * Converter priority determines which converter instance to be used if + * more than one converters are able to perform the requested conversion. + * Converter implementor can use this value to order the preference based + * on attributes such as quality or performance. Higher number indicates + * higher priority. The pjmedia_converter_priority_guide enumeration shall + * be used as the base value to set the priority. + */ + int priority; + + /** + * Pointer to factory operation. + */ + pjmedia_converter_factory_op *op; + +} pjmedia_converter_factory; + +/** Forward declaration for converter operation. */ +typedef struct pjmedia_converter_op pjmedia_converter_op; + +/** + * This structure describes a converter instance. + */ +typedef struct pjmedia_converter +{ + /** + * Pointer to converter operation. + */ + pjmedia_converter_op *op; + +} pjmedia_converter; + + +/** + * Converter factory operation. + */ +struct pjmedia_converter_factory_op +{ + /** + * This function creates a converter with the specified conversion format, + * if such format is supported. + * + * @param cf The converter factory. + * @param pool Pool to allocate memory from. + * @param prm Conversion parameter. + * @param p_cv Pointer to hold the created converter instance. + * + * @return PJ_SUCCESS if converter has been created successfully. + */ + pj_status_t (*create_converter)(pjmedia_converter_factory *cf, + pj_pool_t *pool, + const pjmedia_conversion_param *prm, + pjmedia_converter **p_cv); + + /** + * Destroy the factory. + * + * @param cf The converter factory. + */ + void (*destroy_factory)(pjmedia_converter_factory *cf); +}; + +/** + * Converter operation. + */ +struct pjmedia_converter_op +{ + /** + * Convert the buffer in the source frame and save the result in the + * buffer of the destination frame, according to conversion format that + * was specified when the converter was created. + * + * Note that application should use #pjmedia_converter_convert() instead + * of calling this function directly. + * + * @param cv The converter instance. + * @param src_frame The source frame. + * @param dst_frame The destination frame. + * + * @return PJ_SUCCESS if conversion has been performed + * successfully. + */ + pj_status_t (*convert)(pjmedia_converter *cv, + pjmedia_frame *src_frame, + pjmedia_frame *dst_frame); + + /** + * Destroy the converter instance. + * + * Note that application should use #pjmedia_converter_destroy() instead + * of calling this function directly. + * + * @param cv The converter. + */ + void (*destroy)(pjmedia_converter *cv); + +}; + + +/** + * Opaque data type for conversion manager. Typically, the conversion manager + * is a singleton instance, although application may instantiate more than one + * instances of this if required. + */ +typedef struct pjmedia_converter_mgr pjmedia_converter_mgr; + + +/** + * Create a new conversion manager instance. This will also set the pointer + * to the singleton instance if the value is still NULL. + * + * @param pool Pool to allocate memory from. + * @param mgr Pointer to hold the created instance of the + * conversion manager. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_converter_mgr_create(pj_pool_t *pool, + pjmedia_converter_mgr **mgr); + +/** + * Get the singleton instance of the conversion manager. + * + * @return The instance. + */ +PJ_DECL(pjmedia_converter_mgr*) pjmedia_converter_mgr_instance(void); + +/** + * Manually assign a specific video manager instance as the singleton + * instance. Normally this is not needed if only one instance is ever + * going to be created, as the library automatically assign the singleton + * instance. + * + * @param mgr The instance to be used as the singleton instance. + * Application may specify NULL to clear the singleton + * singleton instance. + */ +PJ_DECL(void) pjmedia_converter_mgr_set_instance(pjmedia_converter_mgr *mgr); + +/** + * Destroy a converter manager. If the manager happens to be the singleton + * instance, the singleton instance will be set to NULL. + * + * @param mgr The converter manager. Specify NULL to use + * the singleton instance. + */ +PJ_DECL(void) pjmedia_converter_mgr_destroy(pjmedia_converter_mgr *mgr); + +/** + * Register a converter factory to the converter manager. + * + * @param mgr The converter manager. Specify NULL to use + * the singleton instance. + * @param f The converter factory to be registered. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) +pjmedia_converter_mgr_register_factory(pjmedia_converter_mgr *mgr, + pjmedia_converter_factory *f); + +/** + * Unregister a previously registered converter factory from the converter + * manager. + * + * @param mgr The converter manager. Specify NULL to use + * the singleton instance. + * @param f The converter factory to be unregistered. + * @param call_destroy If this is set to non-zero, the \a destroy_factory() + * callback of the factory will be called while + * unregistering the factory from the manager. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) +pjmedia_converter_mgr_unregister_factory(pjmedia_converter_mgr *mgr, + pjmedia_converter_factory *f, + pj_bool_t call_destroy); + +/** + * Create a converter instance to perform the specified format conversion + * as specified in \a param. + * + * @param mgr The converter manager. Specify NULL to use + * the singleton instance. + * @param pool Pool to allocate the memory from. + * @param param Conversion parameter. + * @param p_cv Pointer to hold the created converter. + * + * @return PJ_SUCCESS if a converter has been created successfully + * or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_converter_create(pjmedia_converter_mgr *mgr, + pj_pool_t *pool, + pjmedia_conversion_param *param, + pjmedia_converter **p_cv); + +/** + * Convert the buffer in the source frame and save the result in the + * buffer of the destination frame, according to conversion format that + * was specified when the converter was created. + * + * @param cv The converter instance. + * @param src_frame The source frame. + * @param dst_frame The destination frame. + * + * @return PJ_SUCCESS if conversion has been performed + * successfully. + */ +PJ_DECL(pj_status_t) pjmedia_converter_convert(pjmedia_converter *cv, + pjmedia_frame *src_frame, + pjmedia_frame *dst_frame); + +/** + * Destroy the converter. + * + * @param cv The converter instance. + */ +PJ_DECL(void) pjmedia_converter_destroy(pjmedia_converter *cv); + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_CONVERTER_H__ */ + + diff --git a/pjmedia/include/pjmedia/delaybuf.h b/pjmedia/include/pjmedia/delaybuf.h new file mode 100644 index 0000000..4617c4d --- /dev/null +++ b/pjmedia/include/pjmedia/delaybuf.h @@ -0,0 +1,176 @@ +/* $Id: delaybuf.h 3841 2011-10-24 09:28:13Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __PJMEDIA_DELAYBUF_H__ +#define __PJMEDIA_DELAYBUF_H__ + + +/** + * @file delaybuf.h + * @brief Delay Buffer. + */ + +#include + +/** + * @defgroup PJMED_DELAYBUF Adaptive Delay Buffer + * @ingroup PJMEDIA_FRAME_OP + * @brief Adaptive delay buffer with high-quality time-scale + * modification + * @{ + * + * This section describes PJMEDIA's implementation of delay buffer. + * Delay buffer works quite similarly like a fixed jitter buffer, that + * is it will delay the frame retrieval by some interval so that caller + * will get continuous frame from the buffer. This can be useful when + * the put() and get() operations are not evenly interleaved, for example + * when caller performs burst of put() operations and then followed by + * burst of get() operations. With using this delay buffer, the buffer + * will put the burst frames into a buffer so that get() operations + * will always get a frame from the buffer (assuming that the number of + * get() and put() are matched). + * + * The buffer is adaptive, that is it continuously learns the optimal delay + * to be applied to the audio flow at run-time. Once the optimal delay has + * been learned, the delay buffer will apply this delay to the audio flow, + * expanding or shrinking the audio samples as necessary when the actual + * audio samples in the buffer are too low or too high. It does this without + * distorting the audio quality of the audio, by using \a PJMED_WSOLA. + * + * The delay buffer is used in \ref PJMED_SND_PORT, \ref PJMEDIA_SPLITCOMB, + * and \ref PJMEDIA_CONF. + */ + +PJ_BEGIN_DECL + +/** Opaque declaration for delay buffer. */ +typedef struct pjmedia_delay_buf pjmedia_delay_buf; + +/** + * Delay buffer options. + */ +typedef enum pjmedia_delay_buf_flag +{ + /** + * Use simple FIFO mechanism for the delay buffer, i.e. + * without WSOLA for expanding and shrinking audio samples. + */ + PJMEDIA_DELAY_BUF_SIMPLE_FIFO = 1 + +} pjmedia_delay_buf_flag; + +/** + * Create the delay buffer. Once the delay buffer is created, it will + * enter learning state unless the delay argument is specified, which + * in this case it will directly enter the running state. + * + * @param pool Pool where the delay buffer will be allocated + * from. + * @param name Optional name for the buffer for log + * identification. + * @param clock_rate Number of samples processed per second. + * @param samples_per_frame Number of samples per frame. + * @param channel_count Number of channel per frame. + * @param max_delay Maximum number of delay to be accommodated, + * in ms, if this value is negative or less than + * one frame time, default maximum delay used is + * 400 ms. + * @param options Options. If PJMEDIA_DELAY_BUF_SIMPLE_FIFO is + * specified, then a simple FIFO mechanism + * will be used instead of the adaptive + * implementation (which uses WSOLA to expand + * or shrink audio samples). + * See #pjmedia_delay_buf_flag for other options. + * @param p_b Pointer to receive the delay buffer instance. + * + * @return PJ_SUCCESS if the delay buffer has been + * created successfully, otherwise the appropriate + * error will be returned. + */ +PJ_DECL(pj_status_t) pjmedia_delay_buf_create(pj_pool_t *pool, + const char *name, + unsigned clock_rate, + unsigned samples_per_frame, + unsigned channel_count, + unsigned max_delay, + unsigned options, + pjmedia_delay_buf **p_b); + +/** + * Put one frame into the buffer. + * + * @param b The delay buffer. + * @param frame Frame to be put into the buffer. This frame + * must have samples_per_frame length. + * + * @return PJ_SUCCESS if frames can be put successfully. + * PJ_EPENDING if the buffer is still at learning + * state. PJ_ETOOMANY if the number of frames + * will exceed maximum delay level, which in this + * case the new frame will overwrite the oldest + * frame in the buffer. + */ +PJ_DECL(pj_status_t) pjmedia_delay_buf_put(pjmedia_delay_buf *b, + pj_int16_t frame[]); + +/** + * Get one frame from the buffer. + * + * @param b The delay buffer. + * @param frame Buffer to receive the frame from the delay + * buffer. + * + * @return PJ_SUCCESS if frame has been copied successfully. + * PJ_EPENDING if no frame is available, either + * because the buffer is still at learning state or + * no buffer is available during running state. + * On non-successful return, the frame will be + * filled with zeroes. + */ +PJ_DECL(pj_status_t) pjmedia_delay_buf_get(pjmedia_delay_buf *b, + pj_int16_t frame[]); + +/** + * Reset delay buffer. This will clear the buffer's content. But keep + * the learning result. + * + * @param b The delay buffer. + * + * @return PJ_SUCCESS on success or the appropriate error. + */ +PJ_DECL(pj_status_t) pjmedia_delay_buf_reset(pjmedia_delay_buf *b); + +/** + * Destroy delay buffer. + * + * @param b Delay buffer session. + * + * @return PJ_SUCCESS normally. + */ +PJ_DECL(pj_status_t) pjmedia_delay_buf_destroy(pjmedia_delay_buf *b); + + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJMEDIA_DELAYBUF_H__ */ diff --git a/pjmedia/include/pjmedia/doxygen.h b/pjmedia/include/pjmedia/doxygen.h new file mode 100644 index 0000000..bf93ca2 --- /dev/null +++ b/pjmedia/include/pjmedia/doxygen.h @@ -0,0 +1,244 @@ +/* $Id: doxygen.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_DOXYGEN_H__ +#define __PJMEDIA_DOXYGEN_H__ + +/** + * @file doxygen.h + * @brief Doxygen's mainpage. + */ + + +/*////////////////////////////////////////////////////////////////////////// */ +/* + INTRODUCTION PAGE + */ + +/** + * @mainpage PJMEDIA + * + * \n + * @section intro2 Introduction to PJMEDIA + * + * PJMEDIA is a fully featured media stack, distributed under Open Source/GPL + * terms, and featuring small footprint and good extensibility and excellent + * portability. Here are some brief overview of PJMEDIA benefits. + * + * @subsection benefit Benefits + * @subsubsection full_feature Many Features + * PJMEDIA has many features, and rather than to list them all here, please + * see the Modules page for more info. + * + * Video is planned to arrive at version 2. + * + * @subsubsection portable Excellent Portability + * It's been ported to all desktop systems and many mobile platforms including + * Symbian, Windows Mobile, iPhone, and Android. Thanks to its zero thread + * design, users have been able to run PJMEDIA on deeply embedded platforms, + * even without operating systems (those typically found in DSP platforms). + * Except the echo suppressor, all other PJMEDIA components have fixed point + * implementation, which makes it ideal for embedded systems which lack FPU. + * PJMEDIA also has tiny footprint, as explained below + * + * @subsubsection footprint Tiny Footprint + * Lets not talk about less meaningful and potentially misleading term such as + * core footprint, and instead here is the footprint of all components + * typically used to build a full streaming media: + * + * \verbatim +Category Component text data bss dec filename +------------------------------------------------------------------------------- +Core Error subsystem 135 0 0 135 errno.o +Core Endpoint 4210 4 4 4218 endpoint.o +Core Port framework 652 0 0 652 port.o +Core Codec framework 6257 0 0 6257 codec.o +Codec Alaw/ulaw conv. 1060 16 0 1076 alaw_ulaw.o +Codec G.711 3298 128 96 3522 g711.o +Codec PLC 883 24 0 907 plc_common.o +Codec PLC 7130 0 0 7130 wsola.o +Session Stream 12222 0 1920 14142 stream.o +Transport RTCP 3732 0 0 3732 rtcp.o +Transport RTP 2568 0 0 2568 rtp.o +Transport UDP 6612 96 0 6708 transport_udp.o +Transport Jitter buffer 6473 0 0 6473 jbuf.o +------------------------------------------------------------------------------- +TOTAL 55,232 268 2,020 57,520 + + \endverbatim + * The 56KB are for media streaming components, complete with codec, RTP, and + * RTCP. The footprint above was done for PJSIP version 1.8.2 on a Linux x86 + * machine, using footprintopimization as explained in PJSIP FAQ. Numbers are + * in bytes. + * + * @subsubsection quality Good Quality + * PJMEDIA supports wideband, ultra-wideband, and beyond, as well as multiple + * audio channels. The jitter buffer has been proven to work on lower + * bandwidth links such as 3G, and to some extent, Edge and GPRS. We've grown + * our own algorithm to compensate for packet losses and clock drifts in audio + * transmission, as well as feature to use codec's built in PLC if available. + * + * @subsubsection hw Hardware Support + * PJMEDIA supports hardware, firmware, or other built-in feature that comes + * with the device. These are crucial for mobile devices to allow the best + * use of the very limited CPU and battery power of the device. Among other + * things, device's on-board codec and echo cancellation may be used if + * available. + * + * @subsubsection extensible Extensible + * Despite its tiny footprint, PJMEDIA uses a flexible port concept, which is + * adapted from filter based concept found in other media framework. It is not + * as flexible as those found in Direct Show or gstreamer (and that would be + * unnecessary since it serves different purpose), but it's flexible enough + * to allow components to be assembled one after another to achieve certain + * task, and easy creation of such components by application and interconnect + * them to the rest of the framework. + * + * @subsubsection doc (Fairly Okay) Documentation + * We understand that any documentation can always be improved, but we put + * a lot of efforts in creating and maintaining our documentation, because + * we know it matters. + * + * \n + * @subsection org1 Organization + * + * At the top-most level, PJMEDIA library suite contains the following + * libraries. + * + * @subsubsection libpjmedia PJMEDIA + * This contains all main media components. Please see the + * Modules page for complete list of + * components that PJMEDIA provides. + * + * @subsubsection libpjmediacodec PJMEDIA Codec + * PJMEDIA-CODEC is a static library containing various codec implementations, + * wrapped into PJMEDIA codec framework. The static library is designed as + * such so that only codecs that are explicitly initialized are linked with + * the application, therefore keeping the application size in control. + * + * Please see @ref PJMEDIA_CODEC for more info. + * + * @subsubsection libpjmediaaudiodev PJMEDIA Audio Device + * PJMEDIA-Audiodev is audio device framework and abstraction library. Please + * see @ref audio_device_api for more info. + * + * \n + * @section pjmedia_concepts PJMEDIA Key Concepts + * Below are some key concepts in PJMEDIA: + * - @ref PJMEDIA_PORT + * - @ref PJMEDIA_PORT_CLOCK + * - @ref PJMEDIA_TRANSPORT + * - @ref PJMEDIA_SESSION + */ + + +/** + @page page_pjmedia_samples PJMEDIA and PJMEDIA-CODEC Examples + + @section pjmedia_samples_sec PJMEDIA and PJMEDIA-CODEC Examples + + Please find below some PJMEDIA related examples that may help in giving + some more info: + + - @ref page_pjmedia_samples_level_c\n + This is a good place to start learning about @ref PJMEDIA_PORT, + as it shows that @ref PJMEDIA_PORT are only "passive" objects + with get_frame() and put_frame() interface, and + someone has to call these to retrieve/store media frames. + + - @ref page_pjmedia_samples_playfile_c\n + This example shows that when application connects a media port (in this + case a @ref PJMEDIA_FILE_PLAY) to @ref PJMED_SND_PORT, media will flow + automatically since the @ref PJMED_SND_PORT provides @ref PJMEDIA_PORT_CLOCK. + + - @ref page_pjmedia_samples_recfile_c\n + Demonstrates how to capture audio from microphone to WAV file. + + - @ref page_pjmedia_samples_playsine_c\n + Demonstrates how to create a custom @ref PJMEDIA_PORT (in this + case a sine wave generator) and integrate it to PJMEDIA. + + - @ref page_pjmedia_samples_confsample_c\n + This demonstrates how to use the @ref PJMEDIA_CONF. The sample program can + open multiple WAV files, and instruct the conference bridge to mix the + signal before playing it to the sound device. + + - @ref page_pjmedia_samples_confbench_c\n + I use this to benchmark/optimize the conference bridge algorithm, but + readers may find the source useful. + + - @ref page_pjmedia_samples_resampleplay_c\n + Demonstrates how to use @ref PJMEDIA_RESAMPLE_PORT to change the + sampling rate of a media port (in this case, a @ref PJMEDIA_FILE_PLAY). + + - @ref page_pjmedia_samples_sndtest_c\n + This program performs some tests to the sound device to get some + quality parameters (such as sound jitter and clock drifts).\n + Screenshots on WinXP: \image html sndtest.jpg "sndtest screenshot on WinXP" + + - @ref page_pjmedia_samples_streamutil_c\n + This example mainly demonstrates how to stream media (in this case a + @ref PJMEDIA_FILE_PLAY) to remote peer using RTP. + + - @ref page_pjmedia_samples_siprtp_c\n + This is a useful program (integrated with PJSIP) to actively measure + the network quality/impairment parameters by making one or more SIP + calls (or receiving one or more SIP calls) and display the network + impairment of each stream direction at the end of the call. + The program is able to measure network quality parameters such as + jitter, packet lost/reorder/duplicate, round trip time, etc.\n + Note that the remote peer MUST support RTCP so that network quality + of each direction can be calculated. Using siprtp for both endpoints + is recommended.\n + Screenshots on WinXP: \image html siprtp.jpg "siprtp screenshot on WinXP" + + - @ref page_pjmedia_samples_tonegen_c\n + This is a simple program to generate a tone and write the samples to + a raw PCM file. The main purpose of this file is to analyze the + quality of the tones/sine wave generated by PJMEDIA tone/sine wave + generator. + + - @ref page_pjmedia_samples_aectest_c\n + Play a file to speaker, run AEC, and record the microphone input + to see if echo is coming. + */ + +/** + * \page page_pjmedia_samples_siprtp_c Samples: Using SIP and Custom RTP/RTCP to Monitor Quality + * + * This source is an example to demonstrate using SIP and RTP/RTCP framework + * to measure the network quality/impairment from the SIP call. This + * program can be used to make calls or to receive calls from other + * SIP endpoint (or other siprtp program), and to display the media + * quality statistics at the end of the call. + * + * Note that the remote peer must support RTCP. + * + * The layout of the program has been designed so that custom reporting + * can be generated instead of plain human readable text. + * + * The source code of the file is pjsip-apps/src/samples/siprtp.c + * + * Screenshots on WinXP: \image html siprtp.jpg + * + * \includelineno siprtp.c + */ + +#endif /* __PJMEDIA_DOXYGEN_H__ */ + diff --git a/pjmedia/include/pjmedia/echo.h b/pjmedia/include/pjmedia/echo.h new file mode 100644 index 0000000..d581e9a --- /dev/null +++ b/pjmedia/include/pjmedia/echo.h @@ -0,0 +1,260 @@ +/* $Id: echo.h 4082 2012-04-24 13:09:14Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_ECHO_H__ +#define __PJMEDIA_ECHO_H__ + + +/** + * @file echo.h + * @brief Echo Cancellation API. + */ +#include + + + +/** + * @defgroup PJMEDIA_Echo_Cancel Accoustic Echo Cancellation API + * @ingroup PJMEDIA_PORT + * @brief Echo Cancellation API. + * @{ + * + * This section describes API to perform echo cancellation to audio signal. + * There may be multiple echo canceller implementation in PJMEDIA, ranging + * from simple echo suppressor to a full Accoustic Echo Canceller/AEC. By + * using this API, application should be able to use which EC backend to + * use base on the requirement and capability of the platform. + */ + + +PJ_BEGIN_DECL + + +/** + * Opaque type for PJMEDIA Echo Canceller state. + */ +typedef struct pjmedia_echo_state pjmedia_echo_state; + + +/** + * Echo cancellation options. + */ +typedef enum pjmedia_echo_flag +{ + /** + * Use any available backend echo canceller algorithm. This is + * the default settings. This setting is mutually exclusive with + * PJMEDIA_ECHO_SIMPLE and PJMEDIA_ECHO_SPEEX. + */ + PJMEDIA_ECHO_DEFAULT= 0, + + /** + * Force to use Speex AEC as the backend echo canceller algorithm. + * This setting is mutually exclusive with PJMEDIA_ECHO_SIMPLE. + */ + PJMEDIA_ECHO_SPEEX = 1, + + /** + * If PJMEDIA_ECHO_SIMPLE flag is specified during echo canceller + * creation, then a simple echo suppressor will be used instead of + * an accoustic echo cancellation. This setting is mutually exclusive + * with PJMEDIA_ECHO_SPEEX. + */ + PJMEDIA_ECHO_SIMPLE = 2, + + /** + * For internal use. + */ + PJMEDIA_ECHO_ALGO_MASK = 15, + + /** + * If PJMEDIA_ECHO_NO_LOCK flag is specified, no mutex will be created + * for the echo canceller, but application will guarantee that echo + * canceller will not be called by different threads at the same time. + */ + PJMEDIA_ECHO_NO_LOCK = 16, + + /** + * If PJMEDIA_ECHO_USE_SIMPLE_FIFO flag is specified, the delay buffer + * created for the echo canceller will use simple FIFO mechanism, i.e. + * without using WSOLA to expand and shrink audio samples. + */ + PJMEDIA_ECHO_USE_SIMPLE_FIFO = 32, + + /** + * If PJMEDIA_ECHO_USE_SW_ECHO flag is specified, software echo canceller + * will be used instead of device EC. + */ + PJMEDIA_ECHO_USE_SW_ECHO = 64 + +} pjmedia_echo_flag; + + + + +/** + * Create the echo canceller. + * + * @param pool Pool to allocate memory. + * @param clock_rate Media clock rate/sampling rate. + * @param samples_per_frame Number of samples per frame. + * @param tail_ms Tail length, miliseconds. + * @param latency_ms Total lacency introduced by playback and + * recording device. Set to zero if the latency + * is not known. + * @param options Options. If PJMEDIA_ECHO_SIMPLE is specified, + * then a simple echo suppressor implementation + * will be used instead of an accoustic echo + * cancellation. + * See #pjmedia_echo_flag for other options. + * @param p_echo Pointer to receive the Echo Canceller state. + * + * @return PJ_SUCCESS on success, or the appropriate status. + */ +PJ_DECL(pj_status_t) pjmedia_echo_create(pj_pool_t *pool, + unsigned clock_rate, + unsigned samples_per_frame, + unsigned tail_ms, + unsigned latency_ms, + unsigned options, + pjmedia_echo_state **p_echo ); + +/** + * Create multi-channel the echo canceller. + * + * @param pool Pool to allocate memory. + * @param clock_rate Media clock rate/sampling rate. + * @param channel_count Number of channels. + * @param samples_per_frame Number of samples per frame. + * @param tail_ms Tail length, miliseconds. + * @param latency_ms Total lacency introduced by playback and + * recording device. Set to zero if the latency + * is not known. + * @param options Options. If PJMEDIA_ECHO_SIMPLE is specified, + * then a simple echo suppressor implementation + * will be used instead of an accoustic echo + * cancellation. + * See #pjmedia_echo_flag for other options. + * @param p_echo Pointer to receive the Echo Canceller state. + * + * @return PJ_SUCCESS on success, or the appropriate status. + */ +PJ_DECL(pj_status_t) pjmedia_echo_create2(pj_pool_t *pool, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned tail_ms, + unsigned latency_ms, + unsigned options, + pjmedia_echo_state **p_echo ); + +/** + * Destroy the Echo Canceller. + * + * @param echo The Echo Canceller. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_echo_destroy(pjmedia_echo_state *echo ); + + +/** + * Reset the echo canceller. + * + * @param echo The Echo Canceller. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_echo_reset(pjmedia_echo_state *echo ); + + +/** + * Let the Echo Canceller know that a frame has been played to the speaker. + * The Echo Canceller will keep the frame in its internal buffer, to be used + * when cancelling the echo with #pjmedia_echo_capture(). + * + * @param echo The Echo Canceller. + * @param play_frm Sample buffer containing frame to be played + * (or has been played) to the playback device. + * The frame must contain exactly samples_per_frame + * number of samples. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_echo_playback(pjmedia_echo_state *echo, + pj_int16_t *play_frm ); + + +/** + * Let the Echo Canceller know that a frame has been captured from the + * microphone. The Echo Canceller will cancel the echo from the captured + * signal, using the internal buffer (supplied by #pjmedia_echo_playback()) + * as the FES (Far End Speech) reference. + * + * @param echo The Echo Canceller. + * @param rec_frm On input, it contains the input signal (captured + * from microphone) which echo is to be removed. + * Upon returning this function, this buffer contain + * the processed signal with the echo removed. + * The frame must contain exactly samples_per_frame + * number of samples. + * @param options Echo cancellation options, reserved for future use. + * Put zero for now. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_echo_capture(pjmedia_echo_state *echo, + pj_int16_t *rec_frm, + unsigned options ); + + +/** + * Perform echo cancellation. + * + * @param echo The Echo Canceller. + * @param rec_frm On input, it contains the input signal (captured + * from microphone) which echo is to be removed. + * Upon returning this function, this buffer contain + * the processed signal with the echo removed. + * @param play_frm Sample buffer containing frame to be played + * (or has been played) to the playback device. + * The frame must contain exactly samples_per_frame + * number of samples. + * @param options Echo cancellation options, reserved for future use. + * Put zero for now. + * @param reserved Reserved for future use, put NULL for now. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_echo_cancel( pjmedia_echo_state *echo, + pj_int16_t *rec_frm, + const pj_int16_t *play_frm, + unsigned options, + void *reserved ); + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_ECHO_H__ */ + diff --git a/pjmedia/include/pjmedia/echo_port.h b/pjmedia/include/pjmedia/echo_port.h new file mode 100644 index 0000000..9895601 --- /dev/null +++ b/pjmedia/include/pjmedia/echo_port.h @@ -0,0 +1,74 @@ +/* $Id: echo_port.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_AEC_PORT_H__ +#define __PJMEDIA_AEC_PORT_H__ + +/** + * @file echo_port.h + * @brief AEC (Accoustic Echo Cancellation) media port. + */ +#include + + + +/** + * @defgroup PJMEDIA_ECHO_PORT Echo Cancellation Port + * @ingroup PJMEDIA_PORT + * @brief Echo Cancellation + * @{ + * + * Wrapper to \ref PJMEDIA_Echo_Cancel into media port interface. + */ + + +PJ_BEGIN_DECL + + +/** + * Create echo canceller port. + * + * @param pool Pool to allocate memory. + * @param dn_port Downstream port. + * @param tail_ms Tail length in miliseconds. + * @param latency_ms Total lacency introduced by playback and + * recording device. Set to zero if the latency + * is not known. + * @param options Options, as in #pjmedia_echo_create(). + * @param p_port Pointer to receive the port instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_echo_port_create(pj_pool_t *pool, + pjmedia_port *dn_port, + unsigned tail_ms, + unsigned latency_ms, + unsigned options, + pjmedia_port **p_port ); + + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_AEC_PORT_H__ */ diff --git a/pjmedia/include/pjmedia/endpoint.h b/pjmedia/include/pjmedia/endpoint.h new file mode 100644 index 0000000..0019ef3 --- /dev/null +++ b/pjmedia/include/pjmedia/endpoint.h @@ -0,0 +1,304 @@ +/* $Id: endpoint.h 4474 2013-04-16 09:12:59Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_MEDIAMGR_H__ +#define __PJMEDIA_MEDIAMGR_H__ + + +/** + * @file endpoint.h + * @brief Media endpoint. + */ +/** + * @defgroup PJMED_ENDPT The Endpoint + * @{ + * + * The media endpoint acts as placeholder for endpoint capabilities. Each + * media endpoint will have a codec manager to manage list of codecs installed + * in the endpoint and a sound device factory. + * + * A reference to media endpoint instance is required when application wants + * to create a media session (#pjmedia_session_create()). + */ + +#include +#include +#include + + +PJ_BEGIN_DECL + +/** + * This enumeration describes various flags that can be set or retrieved in + * the media endpoint, by using pjmedia_endpt_set_flag() and + * pjmedia_endpt_get_flag() respectively. + */ +typedef enum pjmedia_endpt_flag +{ + /** + * This flag controls whether telephony-event should be offered in SDP. + * Value is boolean. + */ + PJMEDIA_ENDPT_HAS_TELEPHONE_EVENT_FLAG + +} pjmedia_endpt_flag; + + +/** + * Type of callback to register to pjmedia_endpt_atexit(). + */ +typedef void (*pjmedia_endpt_exit_callback)(pjmedia_endpt *endpt); + + +/** + * Create an instance of media endpoint. + * + * @param pf Pool factory, which will be used by the media endpoint + * throughout its lifetime. + * @param ioqueue Optional ioqueue instance to be registered to the + * endpoint. The ioqueue instance is used to poll all RTP + * and RTCP sockets. If this argument is NULL, the + * endpoint will create an internal ioqueue instance. + * @param worker_cnt Specify the number of worker threads to be created + * to poll the ioqueue. + * @param p_endpt Pointer to receive the endpoint instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_endpt_create( pj_pool_factory *pf, + pj_ioqueue_t *ioqueue, + unsigned worker_cnt, + pjmedia_endpt **p_endpt); + +/** + * Destroy media endpoint instance. + * + * @param endpt Media endpoint instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_endpt_destroy(pjmedia_endpt *endpt); + +/** + * Change the value of a flag. + * + * @param endpt Media endpoint. + * @param flag The flag. + * @param value Pointer to the value to be set. + * + * @reurn PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_endpt_set_flag(pjmedia_endpt *endpt, + pjmedia_endpt_flag flag, + const void *value); + +/** + * Retrieve the value of a flag. + * + * @param endpt Media endpoint. + * @param flag The flag. + * @param value Pointer to store the result. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_endpt_get_flag(pjmedia_endpt *endpt, + pjmedia_endpt_flag flag, + void *value); + +/** + * Get the ioqueue instance of the media endpoint. + * + * @param endpt The media endpoint instance. + * + * @return The ioqueue instance of the media endpoint. + */ +PJ_DECL(pj_ioqueue_t*) pjmedia_endpt_get_ioqueue(pjmedia_endpt *endpt); + + +/** + * Get the number of worker threads on the media endpoint + * + * @param endpt The media endpoint instance. + * @return The number of worker threads on the media endpoint + */ +PJ_DECL(unsigned) pjmedia_endpt_get_thread_count(pjmedia_endpt *endpt); + +/** + * Get a reference to one of the worker threads of the media endpoint + * + * @param endpt The media endpoint instance. + * @param index The index of the thread: 0<= index < thread_cnt + * + * @return pj_thread_t or NULL + */ +PJ_DECL(pj_thread_t*) pjmedia_endpt_get_thread(pjmedia_endpt *endpt, + unsigned index); + +/** + * Stop and destroy the worker threads of the media endpoint + * + * @param endpt The media endpoint instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_endpt_stop_threads(pjmedia_endpt *endpt); + + +/** + * Request the media endpoint to create pool. + * + * @param endpt The media endpoint instance. + * @param name Name to be assigned to the pool. + * @param initial Initial pool size, in bytes. + * @param increment Increment size, in bytes. + * + * @return Memory pool. + */ +PJ_DECL(pj_pool_t*) pjmedia_endpt_create_pool( pjmedia_endpt *endpt, + const char *name, + pj_size_t initial, + pj_size_t increment); + +/** + * Get the codec manager instance of the media endpoint. + * + * @param endpt The media endpoint instance. + * + * @return The instance of codec manager belonging to + * this media endpoint. + */ +PJ_DECL(pjmedia_codec_mgr*) pjmedia_endpt_get_codec_mgr(pjmedia_endpt *endpt); + + +/** + * Create a SDP session description that describes the endpoint + * capability. + * + * @param endpt The media endpoint. + * @param pool Pool to use to create the SDP descriptor. + * @param stream_cnt Number of elements in the sock_info array. This + * also denotes the maximum number of streams (i.e. + * the "m=" lines) that will be created in the SDP. + * By convention, if this value is greater than one, + * the first media will be audio and the remaining + * media is video. + * @param sock_info Array of socket transport information. One + * transport is needed for each media stream, and + * each transport consists of an RTP and RTCP socket + * pair. + * @param p_sdp Pointer to receive SDP session descriptor. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_endpt_create_sdp( pjmedia_endpt *endpt, + pj_pool_t *pool, + unsigned stream_cnt, + const pjmedia_sock_info sock_info[], + pjmedia_sdp_session **p_sdp ); + +/** + * Create a "blank" SDP session description. The SDP will contain basic SDP + * fields such as origin, time, and name, but without any media lines. + * + * @param endpt The media endpoint. + * @param pool Pool to allocate memory from. + * @param sess_name Optional SDP session name, or NULL to use default + * value. + * @param origin Address to put in the origin field. + * @param p_sdp Pointer to receive the created SDP session. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_endpt_create_base_sdp(pjmedia_endpt *endpt, + pj_pool_t *pool, + const pj_str_t *sess_name, + const pj_sockaddr *origin, + pjmedia_sdp_session **p_sdp); + +/** + * Create SDP media line for audio media. + * + * @param endpt The media endpoint. + * @param pool Pool to allocate memory from. + * @param si Socket information. + * @param options Option flags, must be zero for now. + * @param p_m Pointer to receive the created SDP media. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_endpt_create_audio_sdp(pjmedia_endpt *endpt, + pj_pool_t *pool, + const pjmedia_sock_info*si, + unsigned options, + pjmedia_sdp_media **p_m); + +/** + * Create SDP media line for video media. + * + * @param endpt The media endpoint. + * @param pool Pool to allocate memory from. + * @param si Socket information. + * @param options Option flags, must be zero for now. + * @param p_m Pointer to receive the created SDP media. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_endpt_create_video_sdp(pjmedia_endpt *endpt, + pj_pool_t *pool, + const pjmedia_sock_info*si, + unsigned options, + pjmedia_sdp_media **p_m); + +/** + * Dump media endpoint capabilities. + * + * @param endpt The media endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_endpt_dump(pjmedia_endpt *endpt); + + +/** + * Register cleanup function to be called by media endpoint when + * #pjmedia_endpt_destroy() is called. Note that application should not + * use or access any endpoint resource (such as pool, ioqueue) from within + * the callback as such resource may have been released when the callback + * function is invoked. + * + * @param endpt The media endpoint. + * @param func The function to be registered. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_endpt_atexit(pjmedia_endpt *endpt, + pjmedia_endpt_exit_callback func); + + + +PJ_END_DECL + + +/** + * @} + */ + + + +#endif /* __PJMEDIA_MEDIAMGR_H__ */ diff --git a/pjmedia/include/pjmedia/errno.h b/pjmedia/include/pjmedia/errno.h new file mode 100644 index 0000000..b7cca81 --- /dev/null +++ b/pjmedia/include/pjmedia/errno.h @@ -0,0 +1,650 @@ +/* $Id: errno.h 3945 2012-01-27 09:12:59Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_ERRNO_H__ +#define __PJMEDIA_ERRNO_H__ + +/** + * @file errno.h Error Codes + * @brief PJMEDIA specific error codes. + */ + +#include +#include + +/** + * @defgroup PJMEDIA_ERRNO Error Codes + * @ingroup PJMEDIA_BASE + * @brief PJMEDIA specific error codes. + * @{ + */ + + +PJ_BEGIN_DECL + + +/** + * Start of error code relative to PJ_ERRNO_START_USER. + */ +#define PJMEDIA_ERRNO_START (PJ_ERRNO_START_USER + PJ_ERRNO_SPACE_SIZE) +#define PJMEDIA_ERRNO_END (PJMEDIA_ERRNO_START + PJ_ERRNO_SPACE_SIZE - 1) + + +/** + * Mapping from PortAudio error codes to pjmedia error space. + */ +#define PJMEDIA_PORTAUDIO_ERRNO_START (PJMEDIA_ERRNO_END-10000) +#define PJMEDIA_PORTAUDIO_ERRNO_END (PJMEDIA_PORTAUDIO_ERRNO_START + 10000 -1) +/** + * Convert PortAudio error code to PJMEDIA error code. + * PortAudio error code range: 0 >= err >= -10000 + */ +#define PJMEDIA_ERRNO_FROM_PORTAUDIO(err) ((int)PJMEDIA_PORTAUDIO_ERRNO_START-err) + + +#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) + + /** + * Mapping from LibSRTP error codes to pjmedia error space. + */ +#define PJMEDIA_LIBSRTP_ERRNO_START (PJMEDIA_ERRNO_END-10200) +#define PJMEDIA_LIBSRTP_ERRNO_END (PJMEDIA_LIBSRTP_ERRNO_START + 200 - 1) +/** + * Convert LibSRTP error code to PJMEDIA error code. + * LibSRTP error code range: 0 <= err < 200 + */ +#define PJMEDIA_ERRNO_FROM_LIBSRTP(err) (PJMEDIA_LIBSRTP_ERRNO_START+err) + +#endif + +/************************************************************ + * GENERIC/GENERAL PJMEDIA ERRORS + ***********************************************************/ +/** + * @hideinitializer + * General/unknown PJMEDIA error. + */ +#define PJMEDIA_ERROR (PJMEDIA_ERRNO_START+1) /* 220001 */ + + +/************************************************************ + * SDP ERRORS + ***********************************************************/ +/** + * @hideinitializer + * Generic invalid SDP descriptor. + */ +#define PJMEDIA_SDP_EINSDP (PJMEDIA_ERRNO_START+20) /* 220020 */ +/** + * @hideinitializer + * Invalid SDP version. + */ +#define PJMEDIA_SDP_EINVER (PJMEDIA_ERRNO_START+21) /* 220021 */ +/** + * @hideinitializer + * Invalid SDP origin (o=) line. + */ +#define PJMEDIA_SDP_EINORIGIN (PJMEDIA_ERRNO_START+22) /* 220022 */ +/** + * @hideinitializer + * Invalid SDP time (t=) line. + */ +#define PJMEDIA_SDP_EINTIME (PJMEDIA_ERRNO_START+23) /* 220023 */ +/** + * @hideinitializer + * Empty SDP subject/name (s=) line. + */ +#define PJMEDIA_SDP_EINNAME (PJMEDIA_ERRNO_START+24) /* 220024 */ +/** + * @hideinitializer + * Invalid SDP connection info (c=) line. + */ +#define PJMEDIA_SDP_EINCONN (PJMEDIA_ERRNO_START+25) /* 220025 */ +/** + * @hideinitializer + * Missing SDP connection info line. + */ +#define PJMEDIA_SDP_EMISSINGCONN (PJMEDIA_ERRNO_START+26) /* 220026 */ +/** + * @hideinitializer + * Invalid attribute (a=) line. + */ +#define PJMEDIA_SDP_EINATTR (PJMEDIA_ERRNO_START+27) /* 220027 */ +/** + * @hideinitializer + * Invalid rtpmap attribute. + */ +#define PJMEDIA_SDP_EINRTPMAP (PJMEDIA_ERRNO_START+28) /* 220028 */ +/** + * @hideinitializer + * rtpmap attribute is too long. + */ +#define PJMEDIA_SDP_ERTPMAPTOOLONG (PJMEDIA_ERRNO_START+29) /* 220029 */ +/** + * @hideinitializer + * rtpmap is missing for dynamic payload type. + */ +#define PJMEDIA_SDP_EMISSINGRTPMAP (PJMEDIA_ERRNO_START+30) /* 220030 */ +/** + * @hideinitializer + * Invalid SDP media (m=) line. + */ +#define PJMEDIA_SDP_EINMEDIA (PJMEDIA_ERRNO_START+31) /* 220031 */ +/** + * @hideinitializer + * No payload format in the media stream. + */ +#define PJMEDIA_SDP_ENOFMT (PJMEDIA_ERRNO_START+32) /* 220032 */ +/** + * @hideinitializer + * Invalid payload type in media. + */ +#define PJMEDIA_SDP_EINPT (PJMEDIA_ERRNO_START+33) /* 220033 */ +/** + * @hideinitializer + * Invalid SDP "fmtp" attribute. + */ +#define PJMEDIA_SDP_EINFMTP (PJMEDIA_ERRNO_START+34) /* 220034 */ +/** + * @hideinitializer + * Invalid SDP "rtcp" attribute. + */ +#define PJMEDIA_SDP_EINRTCP (PJMEDIA_ERRNO_START+35) /* 220035 */ +/** + * @hideinitializer + * Invalid SDP media transport protocol. + */ +#define PJMEDIA_SDP_EINPROTO (PJMEDIA_ERRNO_START+36) /* 220036 */ +/** + * @hideinitializer + * Invalid SDP bandwidth info (b=) line. + */ +#define PJMEDIA_SDP_EINBANDW (PJMEDIA_ERRNO_START+37) /* 220037 */ + + +/************************************************************ + * SDP NEGOTIATOR ERRORS + ***********************************************************/ +/** + * @hideinitializer + * Invalid state to perform the specified operation. + */ +#define PJMEDIA_SDPNEG_EINSTATE (PJMEDIA_ERRNO_START+40) /* 220040 */ +/** + * @hideinitializer + * No initial local SDP. + */ +#define PJMEDIA_SDPNEG_ENOINITIAL (PJMEDIA_ERRNO_START+41) /* 220041 */ +/** + * @hideinitializer + * No currently active SDP. + */ +#define PJMEDIA_SDPNEG_ENOACTIVE (PJMEDIA_ERRNO_START+42) /* 220042 */ +/** + * @hideinitializer + * No current offer or answer. + */ +#define PJMEDIA_SDPNEG_ENONEG (PJMEDIA_ERRNO_START+43) /* 220043 */ +/** + * @hideinitializer + * Media count mismatch in offer and answer. + */ +#define PJMEDIA_SDPNEG_EMISMEDIA (PJMEDIA_ERRNO_START+44) /* 220044 */ +/** + * @hideinitializer + * Media type is different in the remote answer. + */ +#define PJMEDIA_SDPNEG_EINVANSMEDIA (PJMEDIA_ERRNO_START+45) /* 220045 */ +/** + * @hideinitializer + * Transport type is different in the remote answer. + */ +#define PJMEDIA_SDPNEG_EINVANSTP (PJMEDIA_ERRNO_START+46) /* 220046 */ +/** + * @hideinitializer + * No common media payload is provided in the answer. + */ +#define PJMEDIA_SDPNEG_EANSNOMEDIA (PJMEDIA_ERRNO_START+47) /* 220047 */ +/** + * @hideinitializer + * No media is active after negotiation. + */ +#define PJMEDIA_SDPNEG_ENOMEDIA (PJMEDIA_ERRNO_START+48) /* 220048 */ +/** + * @hideinitializer + * No suitable codec for remote offer. + */ +#define PJMEDIA_SDPNEG_NOANSCODEC (PJMEDIA_ERRNO_START+49) /* 220049 */ +/** + * @hideinitializer + * No suitable telephone-event for remote offer. + */ +#define PJMEDIA_SDPNEG_NOANSTELEVENT (PJMEDIA_ERRNO_START+50) /* 220050 */ +/** + * @hideinitializer + * No suitable answer for unknown remote offer. + */ +#define PJMEDIA_SDPNEG_NOANSUNKNOWN (PJMEDIA_ERRNO_START+51) /* 220051 */ + + +/************************************************************ + * SDP COMPARISON STATUS + ***********************************************************/ +/** + * @hideinitializer + * SDP media stream not equal. + */ +#define PJMEDIA_SDP_EMEDIANOTEQUAL (PJMEDIA_ERRNO_START+60) /* 220060 */ +/** + * @hideinitializer + * Port number in SDP media descriptor not equal. + */ +#define PJMEDIA_SDP_EPORTNOTEQUAL (PJMEDIA_ERRNO_START+61) /* 220061 */ +/** + * @hideinitializer + * Transport in SDP media descriptor not equal. + */ +#define PJMEDIA_SDP_ETPORTNOTEQUAL (PJMEDIA_ERRNO_START+62) /* 220062 */ +/** + * @hideinitializer + * Media format in SDP media descriptor not equal. + */ +#define PJMEDIA_SDP_EFORMATNOTEQUAL (PJMEDIA_ERRNO_START+63) /* 220063 */ +/** + * @hideinitializer + * SDP connection description not equal. + */ +#define PJMEDIA_SDP_ECONNNOTEQUAL (PJMEDIA_ERRNO_START+64) /* 220064 */ +/** + * @hideinitializer + * SDP attributes not equal. + */ +#define PJMEDIA_SDP_EATTRNOTEQUAL (PJMEDIA_ERRNO_START+65) /* 220065 */ +/** + * @hideinitializer + * SDP media direction not equal. + */ +#define PJMEDIA_SDP_EDIRNOTEQUAL (PJMEDIA_ERRNO_START+66) /* 220066 */ +/** + * @hideinitializer + * SDP fmtp attribute not equal. + */ +#define PJMEDIA_SDP_EFMTPNOTEQUAL (PJMEDIA_ERRNO_START+67) /* 220067 */ +/** + * @hideinitializer + * SDP ftpmap attribute not equal. + */ +#define PJMEDIA_SDP_ERTPMAPNOTEQUAL (PJMEDIA_ERRNO_START+68) /* 220068 */ +/** + * @hideinitializer + * SDP session descriptor not equal. + */ +#define PJMEDIA_SDP_ESESSNOTEQUAL (PJMEDIA_ERRNO_START+69) /* 220069 */ +/** + * @hideinitializer + * SDP origin not equal. + */ +#define PJMEDIA_SDP_EORIGINNOTEQUAL (PJMEDIA_ERRNO_START+70) /* 220070 */ +/** + * @hideinitializer + * SDP name/subject not equal. + */ +#define PJMEDIA_SDP_ENAMENOTEQUAL (PJMEDIA_ERRNO_START+71) /* 220071 */ +/** + * @hideinitializer + * SDP time not equal. + */ +#define PJMEDIA_SDP_ETIMENOTEQUAL (PJMEDIA_ERRNO_START+72) /* 220072 */ + + +/************************************************************ + * CODEC + ***********************************************************/ +/** + * @hideinitializer + * Unsupported codec. + */ +#define PJMEDIA_CODEC_EUNSUP (PJMEDIA_ERRNO_START+80) /* 220080 */ +/** + * @hideinitializer + * Codec internal creation error. + */ +#define PJMEDIA_CODEC_EFAILED (PJMEDIA_ERRNO_START+81) /* 220081 */ +/** + * @hideinitializer + * Codec frame is too short. + */ +#define PJMEDIA_CODEC_EFRMTOOSHORT (PJMEDIA_ERRNO_START+82) /* 220082 */ +/** + * @hideinitializer + * PCM buffer is too short. + */ +#define PJMEDIA_CODEC_EPCMTOOSHORT (PJMEDIA_ERRNO_START+83) /* 220083 */ +/** + * @hideinitializer + * Invalid codec frame length. + */ +#define PJMEDIA_CODEC_EFRMINLEN (PJMEDIA_ERRNO_START+84) /* 220084 */ +/** + * @hideinitializer + * Invalid PCM frame length. + */ +#define PJMEDIA_CODEC_EPCMFRMINLEN (PJMEDIA_ERRNO_START+85) /* 220085 */ +/** + * @hideinitializer + * Invalid mode. + */ +#define PJMEDIA_CODEC_EINMODE (PJMEDIA_ERRNO_START+86) /* 220086 */ +/** + * @hideinitializer + * Bad or corrupted bitstream. + */ +#define PJMEDIA_CODEC_EBADBITSTREAM (PJMEDIA_ERRNO_START+87) /* 220087 */ + + +/************************************************************ + * MEDIA + ***********************************************************/ +/** + * @hideinitializer + * Invalid remote IP address (in SDP). + */ +#define PJMEDIA_EINVALIDIP (PJMEDIA_ERRNO_START+100) /* 220100 */ +/** + * @hideinitializer + * Asymetric codec is not supported. + */ +#define PJMEDIA_EASYMCODEC (PJMEDIA_ERRNO_START+101) /* 220101 */ +/** + * @hideinitializer + * Invalid payload type. + */ +#define PJMEDIA_EINVALIDPT (PJMEDIA_ERRNO_START+102) /* 220102 */ +/** + * @hideinitializer + * Missing rtpmap. + */ +#define PJMEDIA_EMISSINGRTPMAP (PJMEDIA_ERRNO_START+103) /* 220103 */ +/** + * @hideinitializer + * Invalid media type. + */ +#define PJMEDIA_EINVALIMEDIATYPE (PJMEDIA_ERRNO_START+104) /* 220104 */ +/** + * @hideinitializer + * Remote does not support DTMF. + */ +#define PJMEDIA_EREMOTENODTMF (PJMEDIA_ERRNO_START+105) /* 220105 */ +/** + * @hideinitializer + * Invalid DTMF digit. + */ +#define PJMEDIA_RTP_EINDTMF (PJMEDIA_ERRNO_START+106) /* 220106 */ +/** + * @hideinitializer + * Remote does not support RFC 2833 + */ +#define PJMEDIA_RTP_EREMNORFC2833 (PJMEDIA_ERRNO_START+107) /* 220107 */ +/** + * @hideinitializer + * Invalid or bad format + */ +#define PJMEDIA_EBADFMT (PJMEDIA_ERRNO_START+108) /* 220108 */ + + +/************************************************************ + * RTP SESSION ERRORS + ***********************************************************/ +/** + * @hideinitializer + * General invalid RTP packet error. + */ +#define PJMEDIA_RTP_EINPKT (PJMEDIA_ERRNO_START+120) /* 220120 */ +/** + * @hideinitializer + * Invalid RTP packet packing. + */ +#define PJMEDIA_RTP_EINPACK (PJMEDIA_ERRNO_START+121) /* 220121 */ +/** + * @hideinitializer + * Invalid RTP packet version. + */ +#define PJMEDIA_RTP_EINVER (PJMEDIA_ERRNO_START+122) /* 220122 */ +/** + * @hideinitializer + * RTP SSRC id mismatch. + */ +#define PJMEDIA_RTP_EINSSRC (PJMEDIA_ERRNO_START+123) /* 220123 */ +/** + * @hideinitializer + * RTP payload type mismatch. + */ +#define PJMEDIA_RTP_EINPT (PJMEDIA_ERRNO_START+124) /* 220124 */ +/** + * @hideinitializer + * Invalid RTP packet length. + */ +#define PJMEDIA_RTP_EINLEN (PJMEDIA_ERRNO_START+125) /* 220125 */ +/** + * @hideinitializer + * RTP session restarted. + */ +#define PJMEDIA_RTP_ESESSRESTART (PJMEDIA_ERRNO_START+130) /* 220130 */ +/** + * @hideinitializer + * RTP session in probation + */ +#define PJMEDIA_RTP_ESESSPROBATION (PJMEDIA_ERRNO_START+131) /* 220131 */ +/** + * @hideinitializer + * Bad RTP sequence number + */ +#define PJMEDIA_RTP_EBADSEQ (PJMEDIA_ERRNO_START+132) /* 220132 */ +/** + * @hideinitializer + * RTP media port destination is not configured + */ +#define PJMEDIA_RTP_EBADDEST (PJMEDIA_ERRNO_START+133) /* 220133 */ +/** + * @hideinitializer + * RTP is not configured. + */ +#define PJMEDIA_RTP_ENOCONFIG (PJMEDIA_ERRNO_START+134) /* 220134 */ + + +/************************************************************ + * PORT ERRORS + ***********************************************************/ +/** + * @hideinitializer + * Generic incompatible port error. + */ +#define PJMEDIA_ENOTCOMPATIBLE (PJMEDIA_ERRNO_START+160) /* 220160 */ +/** + * @hideinitializer + * Incompatible clock rate + */ +#define PJMEDIA_ENCCLOCKRATE (PJMEDIA_ERRNO_START+161) /* 220161 */ +/** + * @hideinitializer + * Incompatible samples per frame + */ +#define PJMEDIA_ENCSAMPLESPFRAME (PJMEDIA_ERRNO_START+162) /* 220162 */ +/** + * @hideinitializer + * Incompatible media type + */ +#define PJMEDIA_ENCTYPE (PJMEDIA_ERRNO_START+163) /* 220163 */ +/** + * @hideinitializer + * Incompatible bits per sample + */ +#define PJMEDIA_ENCBITS (PJMEDIA_ERRNO_START+164) /* 220164 */ +/** + * @hideinitializer + * Incompatible bytes per frame + */ +#define PJMEDIA_ENCBYTES (PJMEDIA_ERRNO_START+165) /* 220165 */ +/** + * @hideinitializer + * Incompatible number of channels + */ +#define PJMEDIA_ENCCHANNEL (PJMEDIA_ERRNO_START+166) /* 220166 */ + + +/************************************************************ + * FILE ERRORS + ***********************************************************/ +/** + * @hideinitializer + * Not a valid WAVE file. + */ +#define PJMEDIA_ENOTVALIDWAVE (PJMEDIA_ERRNO_START+180) /* 220180 */ +/** + * @hideinitializer + * Unsupported WAVE file. + */ +#define PJMEDIA_EWAVEUNSUPP (PJMEDIA_ERRNO_START+181) /* 220181 */ +/** + * @hideinitializer + * Wave file too short. + */ +#define PJMEDIA_EWAVETOOSHORT (PJMEDIA_ERRNO_START+182) /* 220182 */ +/** + * @hideinitializer + * Sound frame is too large for file buffer. + */ +#define PJMEDIA_EFRMFILETOOBIG (PJMEDIA_ERRNO_START+183) /* 220183 */ +/** + * @hideinitializer + * Unsupported AVI file. + */ +#define PJMEDIA_EAVIUNSUPP (PJMEDIA_ERRNO_START+191) /* 220191 */ + + +/************************************************************ + * SOUND DEVICE ERRORS + ***********************************************************/ +/** + * @hideinitializer + * No suitable audio capture device. + */ +#define PJMEDIA_ENOSNDREC (PJMEDIA_ERRNO_START+200) /* 220200 */ +/** + * @hideinitializer + * No suitable audio playback device. + */ +#define PJMEDIA_ENOSNDPLAY (PJMEDIA_ERRNO_START+201) /* 220201 */ +/** + * @hideinitializer + * Invalid sound device ID. + */ +#define PJMEDIA_ESNDINDEVID (PJMEDIA_ERRNO_START+202) /* 220202 */ +/** + * @hideinitializer + * Invalid sample format for sound device. + */ +#define PJMEDIA_ESNDINSAMPLEFMT (PJMEDIA_ERRNO_START+203) /* 220203 */ + + +#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0) +/************************************************************ + * SRTP TRANSPORT ERRORS + ***********************************************************/ +/** + * @hideinitializer + * SRTP crypto-suite name not match the offerer tag. + */ +#define PJMEDIA_SRTP_ECRYPTONOTMATCH (PJMEDIA_ERRNO_START+220) /* 220220 */ +/** + * @hideinitializer + * Invalid SRTP key length for specific crypto. + */ +#define PJMEDIA_SRTP_EINKEYLEN (PJMEDIA_ERRNO_START+221) /* 220221 */ +/** + * @hideinitializer + * Unsupported SRTP crypto-suite. + */ +#define PJMEDIA_SRTP_ENOTSUPCRYPTO (PJMEDIA_ERRNO_START+222) /* 220222 */ +/** + * @hideinitializer + * SRTP SDP contains ambigue answer. + */ +#define PJMEDIA_SRTP_ESDPAMBIGUEANS (PJMEDIA_ERRNO_START+223) /* 220223 */ +/** + * @hideinitializer + * Duplicated crypto tag. + */ +#define PJMEDIA_SRTP_ESDPDUPCRYPTOTAG (PJMEDIA_ERRNO_START+224) /* 220224 */ +/** + * @hideinitializer + * Invalid crypto attribute. + */ +#define PJMEDIA_SRTP_ESDPINCRYPTO (PJMEDIA_ERRNO_START+225) /* 220225 */ +/** + * @hideinitializer + * Invalid crypto tag. + */ +#define PJMEDIA_SRTP_ESDPINCRYPTOTAG (PJMEDIA_ERRNO_START+226) /* 220226 */ +/** + * @hideinitializer + * Invalid SDP media transport for SRTP. + */ +#define PJMEDIA_SRTP_ESDPINTRANSPORT (PJMEDIA_ERRNO_START+227) /* 220227 */ +/** + * @hideinitializer + * SRTP crypto attribute required in SDP. + */ +#define PJMEDIA_SRTP_ESDPREQCRYPTO (PJMEDIA_ERRNO_START+228) /* 220228 */ +/** + * @hideinitializer + * Secure transport required in SDP media descriptor. + */ +#define PJMEDIA_SRTP_ESDPREQSECTP (PJMEDIA_ERRNO_START+229) /* 220229 */ + +#endif /* PJMEDIA_HAS_SRTP */ + + +/** + * Get error message for the specified error code. Note that this + * function is only able to decode PJMEDIA specific error code. + * Application should use pj_strerror(), which should be able to + * decode all error codes belonging to all subsystems (e.g. pjlib, + * pjmedia, pjsip, etc). + * + * @param status The error code. + * @param buffer The buffer where to put the error message. + * @param bufsize Size of the buffer. + * + * @return The error message as NULL terminated string, + * wrapped with pj_str_t. + */ +PJ_DECL(pj_str_t) pjmedia_strerror( pj_status_t status, char *buffer, + pj_size_t bufsize); + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_ERRNO_H__ */ + diff --git a/pjmedia/include/pjmedia/event.h b/pjmedia/include/pjmedia/event.h new file mode 100644 index 0000000..d84d30f --- /dev/null +++ b/pjmedia/include/pjmedia/event.h @@ -0,0 +1,400 @@ +/* $Id: event.h 4815 2014-04-10 10:01:07Z bennylp $ */ +/* + * Copyright (C) 2011-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_EVENT_H__ +#define __PJMEDIA_EVENT_H__ + +/** + * @file pjmedia/event.h + * @brief Event framework + */ +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJMEDIA_EVENT Event Framework + * @brief PJMEDIA event framework + * @{ + */ + +/** + * This enumeration describes list of media events. + */ +typedef enum pjmedia_event_type +{ + /** + * No event. + */ + PJMEDIA_EVENT_NONE, + + /** + * Media format has changed event. + */ + PJMEDIA_EVENT_FMT_CHANGED = PJMEDIA_FOURCC('F', 'M', 'C', 'H'), + + /** + * Video window is being closed. + */ + PJMEDIA_EVENT_WND_CLOSING = PJMEDIA_FOURCC('W', 'N', 'C', 'L'), + + /** + * Video window has been closed event. + */ + PJMEDIA_EVENT_WND_CLOSED = PJMEDIA_FOURCC('W', 'N', 'C', 'O'), + + /** + * Video window has been resized event. + */ + PJMEDIA_EVENT_WND_RESIZED = PJMEDIA_FOURCC('W', 'N', 'R', 'Z'), + + /** + * Mouse button has been pressed event. + */ + PJMEDIA_EVENT_MOUSE_BTN_DOWN = PJMEDIA_FOURCC('M', 'S', 'D', 'N'), + + /** + * Video keyframe has just been decoded event. + */ + PJMEDIA_EVENT_KEYFRAME_FOUND = PJMEDIA_FOURCC('I', 'F', 'R', 'F'), + + /** + * Video decoding error due to missing keyframe event. + */ + PJMEDIA_EVENT_KEYFRAME_MISSING = PJMEDIA_FOURCC('I', 'F', 'R', 'M'), + + /** + * Video orientation has been changed event. + */ + PJMEDIA_EVENT_ORIENT_CHANGED = PJMEDIA_FOURCC('O', 'R', 'N', 'T') + +} pjmedia_event_type; + +/** + * Additional data/parameters for media format changed event + * (PJMEDIA_EVENT_FMT_CHANGED). + */ +typedef struct pjmedia_event_fmt_changed_data +{ + /** The media flow direction */ + pjmedia_dir dir; + + /** The new media format. */ + pjmedia_format new_fmt; +} pjmedia_event_fmt_changed_data; + +/** + * Additional data/parameters are not needed. + */ +typedef struct pjmedia_event_dummy_data +{ + /** Dummy data */ + int dummy; +} pjmedia_event_dummy_data; + +/** + * Additional data/parameters for window resized event + * (PJMEDIA_EVENT_WND_RESIZED). + */ +typedef struct pjmedia_event_wnd_resized_data +{ + /** + * The new window size. + */ + pjmedia_rect_size new_size; +} pjmedia_event_wnd_resized_data; + +/** + * Additional data/parameters for window closing event. + */ +typedef struct pjmedia_event_wnd_closing_data +{ + /** Consumer may set this field to PJ_TRUE to cancel the closing */ + pj_bool_t cancel; +} pjmedia_event_wnd_closing_data; + +/** Additional parameters for window changed event. */ +typedef pjmedia_event_dummy_data pjmedia_event_wnd_closed_data; + +/** Additional parameters for mouse button down event */ +typedef pjmedia_event_dummy_data pjmedia_event_mouse_btn_down_data; + +/** Additional parameters for keyframe found event */ +typedef pjmedia_event_dummy_data pjmedia_event_keyframe_found_data; + +/** Additional parameters for keyframe missing event */ +typedef pjmedia_event_dummy_data pjmedia_event_keyframe_missing_data; + +/** + * Maximum size of additional parameters section in pjmedia_event structure + */ +#define PJMEDIA_EVENT_DATA_MAX_SIZE sizeof(pjmedia_event_fmt_changed_data) + +/** Type of storage to hold user data in pjmedia_event structure */ +typedef char pjmedia_event_user_data[PJMEDIA_EVENT_DATA_MAX_SIZE]; + +/** + * This structure describes a media event. It consists mainly of the event + * type and additional data/parameters for the event. Applications can + * use #pjmedia_event_init() to initialize this event structure with + * basic information about the event. + */ +typedef struct pjmedia_event +{ + /** + * The event type. + */ + pjmedia_event_type type; + + /** + * The media timestamp when the event occurs. + */ + pj_timestamp timestamp; + + /** + * Pointer information about the source of this event. This field + * is provided mainly for comparison purpose so that event subscribers + * can check which source the event originated from. Usage of this + * pointer for other purpose may require special care such as mutex + * locking or checking whether the object is already destroyed. + */ + const void *src; + + /** + * Pointer information about the publisher of this event. This field + * is provided mainly for comparison purpose so that event subscribers + * can check which object published the event. Usage of this + * pointer for other purpose may require special care such as mutex + * locking or checking whether the object is already destroyed. + */ + const void *epub; + + /** + * Additional data/parameters about the event. The type of data + * will be specific to the event type being reported. + */ + union { + /** Media format changed event data. */ + pjmedia_event_fmt_changed_data fmt_changed; + + /** Window resized event data */ + pjmedia_event_wnd_resized_data wnd_resized; + + /** Window closing event data. */ + pjmedia_event_wnd_closing_data wnd_closing; + + /** Window closed event data */ + pjmedia_event_wnd_closed_data wnd_closed; + + /** Mouse button down event data */ + pjmedia_event_mouse_btn_down_data mouse_btn_down; + + /** Keyframe found event data */ + pjmedia_event_keyframe_found_data keyframe_found; + + /** Keyframe missing event data */ + pjmedia_event_keyframe_missing_data keyframe_missing; + + /** Storage for user event data */ + pjmedia_event_user_data user; + + /** Pointer to storage to user event data, if it's outside + * this struct + */ + void *ptr; + } data; +} pjmedia_event; + +/** + * The callback to receive media events. + * + * @param event The media event. + * @param user_data The user data associated with the callback. + * + * @return If the callback returns non-PJ_SUCCESS, this return + * code may be propagated back to the caller. + */ +typedef pj_status_t pjmedia_event_cb(pjmedia_event *event, + void *user_data); + +/** + * This enumeration describes flags for event publication via + * #pjmedia_event_publish(). + */ +typedef enum pjmedia_event_publish_flag +{ + /** + * Default flag. + */ + PJMEDIA_EVENT_PUBLISH_DEFAULT, + + /** + * Publisher will only post the event to the event manager. It is the + * event manager that will later notify all the publisher's subscribers. + */ + PJMEDIA_EVENT_PUBLISH_POST_EVENT = 1 + +} pjmedia_event_publish_flag; + +/** + * Event manager flag. + */ +typedef enum pjmedia_event_mgr_flag +{ + /** + * Tell the event manager not to create any event worker thread. + */ + PJMEDIA_EVENT_MGR_NO_THREAD = 1 + +} pjmedia_event_mgr_flag; + +/** + * Opaque data type for event manager. Typically, the event manager + * is a singleton instance, although application may instantiate more than one + * instances of this if required. + */ +typedef struct pjmedia_event_mgr pjmedia_event_mgr; + +/** + * Create a new event manager instance. This will also set the pointer + * to the singleton instance if the value is still NULL. + * + * @param pool Pool to allocate memory from. + * @param options Options. Bitmask flags from #pjmedia_event_mgr_flag + * @param mgr Pointer to hold the created instance of the + * event manager. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_event_mgr_create(pj_pool_t *pool, + unsigned options, + pjmedia_event_mgr **mgr); + +/** + * Get the singleton instance of the event manager. + * + * @return The instance. + */ +PJ_DECL(pjmedia_event_mgr*) pjmedia_event_mgr_instance(void); + +/** + * Manually assign a specific event manager instance as the singleton + * instance. Normally this is not needed if only one instance is ever + * going to be created, as the library automatically assign the singleton + * instance. + * + * @param mgr The instance to be used as the singleton instance. + * Application may specify NULL to clear the singleton + * singleton instance. + */ +PJ_DECL(void) pjmedia_event_mgr_set_instance(pjmedia_event_mgr *mgr); + +/** + * Destroy an event manager. If the manager happens to be the singleton + * instance, the singleton instance will be set to NULL. + * + * @param mgr The eventmanager. Specify NULL to use + * the singleton instance. + */ +PJ_DECL(void) pjmedia_event_mgr_destroy(pjmedia_event_mgr *mgr); + +/** + * Initialize event structure with basic data about the event. + * + * @param event The event to be initialized. + * @param type The event type to be set for this event. + * @param ts Event timestamp. May be set to NULL to set the event + * timestamp to zero. + * @param src Event source. + */ +PJ_DECL(void) pjmedia_event_init(pjmedia_event *event, + pjmedia_event_type type, + const pj_timestamp *ts, + const void *src); + +/** + * Subscribe a callback function to events published by the specified + * publisher. Note that the subscriber may receive not only events emitted by + * the specific publisher specified in the argument, but also from other + * publishers contained by the publisher, if the publisher is republishing + * events from other publishers. + * + * @param mgr The event manager. + * @param cb The callback function to receive the event. + * @param user_data The user data to be associated with the callback + * function. + * @param epub The event publisher. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_event_subscribe(pjmedia_event_mgr *mgr, + pjmedia_event_cb *cb, + void *user_data, + void *epub); + +/** + * Unsubscribe the callback associated with the user data from a publisher. + * If the user data is not specified, this function will do the + * unsubscription for all user data. If the publisher, epub, is not + * specified, this function will do the unsubscription from all publishers. + * + * @param mgr The event manager. + * @param cb The callback function. + * @param user_data The user data associated with the callback + * function, can be NULL. + * @param epub The event publisher, can be NULL. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) +pjmedia_event_unsubscribe(pjmedia_event_mgr *mgr, + pjmedia_event_cb *cb, + void *user_data, + void *epub); + +/** + * Publish the specified event to all subscribers of the specified event + * publisher. By default, the function will call all the subcribers' + * callbacks immediately. If the publisher uses the flag + * PJMEDIA_EVENT_PUBLISH_POST_EVENT, publisher will only post the event + * to the event manager and return immediately. It is the event manager + * that will later notify all the publisher's subscribers. + * + * @param mgr The event manager. + * @param epub The event publisher. + * @param event The event to be published. + * @param flag Publication flag. + * + * @return PJ_SUCCESS only if all subscription callbacks returned + * PJ_SUCCESS. + */ +PJ_DECL(pj_status_t) pjmedia_event_publish(pjmedia_event_mgr *mgr, + void *epub, + pjmedia_event *event, + pjmedia_event_publish_flag flag); + + +/** + * @} PJMEDIA_EVENT + */ + + +PJ_END_DECL + +#endif /* __PJMEDIA_EVENT_H__ */ diff --git a/pjmedia/include/pjmedia/format.h b/pjmedia/include/pjmedia/format.h new file mode 100644 index 0000000..1bbd96c --- /dev/null +++ b/pjmedia/include/pjmedia/format.h @@ -0,0 +1,792 @@ +/* $Id: format.h 4994 2015-03-17 04:02:44Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_FORMAT_H__ +#define __PJMEDIA_FORMAT_H__ + +/** + * @file pjmedia/format.h Media format + * @brief Media format + */ +#include + +/** + * @defgroup PJMEDIA_FORMAT Media format + * @ingroup PJMEDIA_TYPES + * @brief Media format + * @{ + */ + +PJ_BEGIN_DECL + +/** + * Macro for packing format from a four character code, similar to FOURCC. + * This macro is used for building the constants in pjmedia_format_id + * enumeration. + */ +#define PJMEDIA_FORMAT_PACK(C1, C2, C3, C4) PJMEDIA_FOURCC(C1, C2, C3, C4) + +/** + * This enumeration uniquely identify audio sample and/or video pixel formats. + * Some well known formats are listed here. The format ids are built by + * combining four character codes, similar to FOURCC. The format id is + * extensible, as application may define and use format ids not declared + * on this enumeration. + * + * This format id along with other information will fully describe the media + * in #pjmedia_format structure. + */ +typedef enum pjmedia_format_id +{ + /* + * Audio formats + */ + + /** 16bit signed integer linear PCM audio */ + PJMEDIA_FORMAT_L16 = 0, + + /** Alias for PJMEDIA_FORMAT_L16 */ + PJMEDIA_FORMAT_PCM = PJMEDIA_FORMAT_L16, + + /** G.711 ALAW */ + PJMEDIA_FORMAT_PCMA = PJMEDIA_FORMAT_PACK('A', 'L', 'A', 'W'), + + /** Alias for PJMEDIA_FORMAT_PCMA */ + PJMEDIA_FORMAT_ALAW = PJMEDIA_FORMAT_PCMA, + + /** G.711 ULAW */ + PJMEDIA_FORMAT_PCMU = PJMEDIA_FORMAT_PACK('u', 'L', 'A', 'W'), + + /** Aliaw for PJMEDIA_FORMAT_PCMU */ + PJMEDIA_FORMAT_ULAW = PJMEDIA_FORMAT_PCMU, + + /** AMR narrowband */ + PJMEDIA_FORMAT_AMR = PJMEDIA_FORMAT_PACK(' ', 'A', 'M', 'R'), + + /** ITU G.729 */ + PJMEDIA_FORMAT_G729 = PJMEDIA_FORMAT_PACK('G', '7', '2', '9'), + + /** Internet Low Bit-Rate Codec (ILBC) */ + PJMEDIA_FORMAT_ILBC = PJMEDIA_FORMAT_PACK('I', 'L', 'B', 'C'), + + + /* + * Video formats. + */ + /** + * 24bit RGB + */ + PJMEDIA_FORMAT_RGB24 = PJMEDIA_FORMAT_PACK('R', 'G', 'B', '3'), + + /** + * 32bit RGB with alpha channel + */ + PJMEDIA_FORMAT_RGBA = PJMEDIA_FORMAT_PACK('R', 'G', 'B', 'A'), + PJMEDIA_FORMAT_BGRA = PJMEDIA_FORMAT_PACK('B', 'G', 'R', 'A'), + + /** + * Alias for PJMEDIA_FORMAT_RGBA + */ + PJMEDIA_FORMAT_RGB32 = PJMEDIA_FORMAT_RGBA, + + /** + * Device Independent Bitmap, alias for 24 bit RGB + */ + PJMEDIA_FORMAT_DIB = PJMEDIA_FORMAT_PACK('D', 'I', 'B', ' '), + + /** + * This is planar 4:4:4/24bpp RGB format, the data can be treated as + * three planes of color components, where the first plane contains + * only the G samples, the second plane contains only the B samples, + * and the third plane contains only the R samples. + */ + PJMEDIA_FORMAT_GBRP = PJMEDIA_FORMAT_PACK('G', 'B', 'R', 'P'), + + /** + * This is a packed 4:4:4/32bpp format, where each pixel is encoded as + * four consecutive bytes, arranged in the following sequence: V0, U0, + * Y0, A0. Source: + * http://msdn.microsoft.com/en-us/library/dd206750%28v=VS.85%29.aspx#ayuv + */ + PJMEDIA_FORMAT_AYUV = PJMEDIA_FORMAT_PACK('A', 'Y', 'U', 'V'), + + /** + * This is packed 4:2:2/16bpp YUV format, the data can be treated as + * an array of unsigned char values, where the first byte contains + * the first Y sample, the second byte contains the first U (Cb) sample, + * the third byte contains the second Y sample, and the fourth byte + * contains the first V (Cr) sample, and so forth. Source: + * http://msdn.microsoft.com/en-us/library/dd206750%28v=VS.85%29.aspx#yuy2 + */ + PJMEDIA_FORMAT_YUY2 = PJMEDIA_FORMAT_PACK('Y', 'U', 'Y', '2'), + + /** + * This format is the same as the YUY2 format except the byte order is + * reversed -- that is, the chroma and luma bytes are flipped. If the + * image is addressed as an array of two little-endian WORD values, the + * first WORD contains U in the LSBs and Y0 in the MSBs, and the second + * WORD contains V in the LSBs and Y1 in the MSBs. Source: + * http://msdn.microsoft.com/en-us/library/dd206750%28v=VS.85%29.aspx#uyvy + */ + PJMEDIA_FORMAT_UYVY = PJMEDIA_FORMAT_PACK('U', 'Y', 'V', 'Y'), + + /** + * This format is the same as the YUY2 and UYVY format except the byte + * order is reversed -- that is, the chroma and luma bytes are flipped. + * If the image is addressed as an array of two little-endian WORD values, + * the first WORD contains Y0 in the LSBs and V in the MSBs, and the second + * WORD contains Y1 in the LSBs and U in the MSBs. + */ + PJMEDIA_FORMAT_YVYU = PJMEDIA_FORMAT_PACK('Y', 'V', 'Y', 'U'), + + /** + * This is planar 4:2:0/12bpp YUV format, the data can be treated as + * three planes of color components, where the first plane contains + * only the Y samples, the second plane contains only the U (Cb) samples, + * and the third plane contains only the V (Cr) sample. + */ + PJMEDIA_FORMAT_I420 = PJMEDIA_FORMAT_PACK('I', '4', '2', '0'), + + /** + * IYUV is alias for I420. + */ + PJMEDIA_FORMAT_IYUV = PJMEDIA_FORMAT_I420, + + /** + * This is planar 4:2:0/12bpp YUV format, similar to I420 or IYUV but + * the U (Cb) and V (Cr) planes order is switched, i.e: the second plane + * contains the V (Cb) samples and the third plane contains the V (Cr) + * samples. + */ + PJMEDIA_FORMAT_YV12 = PJMEDIA_FORMAT_PACK('Y', 'V', '1', '2'), + + /** + * This is planar 4:2:0/12bpp YUV format, the data can be treated as + * two planes of color components, where the first plane contains + * only the Y samples, the second plane contains interleaved + * V (Cr) - U (Cb) samples. + */ + PJMEDIA_FORMAT_NV21 = PJMEDIA_FORMAT_PACK('N', 'V', '2', '1'), + + /** + * This is planar 4:2:2/16bpp YUV format, the data can be treated as + * three planes of color components, where the first plane contains + * only the Y samples, the second plane contains only the U (Cb) samples, + * and the third plane contains only the V (Cr) sample. + */ + PJMEDIA_FORMAT_I422 = PJMEDIA_FORMAT_PACK('I', '4', '2', '2'), + + /** + * The JPEG version of planar 4:2:0/12bpp YUV format. + */ + PJMEDIA_FORMAT_I420JPEG = PJMEDIA_FORMAT_PACK('J', '4', '2', '0'), + + /** + * The JPEG version of planar 4:2:2/16bpp YUV format. + */ + PJMEDIA_FORMAT_I422JPEG = PJMEDIA_FORMAT_PACK('J', '4', '2', '2'), + + /** + * Encoded video formats + */ + + PJMEDIA_FORMAT_H261 = PJMEDIA_FORMAT_PACK('H', '2', '6', '1'), + PJMEDIA_FORMAT_H263 = PJMEDIA_FORMAT_PACK('H', '2', '6', '3'), + PJMEDIA_FORMAT_H263P = PJMEDIA_FORMAT_PACK('P', '2', '6', '3'), + PJMEDIA_FORMAT_H264 = PJMEDIA_FORMAT_PACK('H', '2', '6', '4'), + + PJMEDIA_FORMAT_MJPEG = PJMEDIA_FORMAT_PACK('M', 'J', 'P', 'G'), + PJMEDIA_FORMAT_MPEG1VIDEO = PJMEDIA_FORMAT_PACK('M', 'P', '1', 'V'), + PJMEDIA_FORMAT_MPEG2VIDEO = PJMEDIA_FORMAT_PACK('M', 'P', '2', 'V'), + PJMEDIA_FORMAT_MPEG4 = PJMEDIA_FORMAT_PACK('M', 'P', 'G', '4'), + +} pjmedia_format_id; + +/** + * This enumeration specifies what type of detail is included in a + * #pjmedia_format structure. + */ +typedef enum pjmedia_format_detail_type +{ + /** Format detail is not specified. */ + PJMEDIA_FORMAT_DETAIL_NONE, + + /** Audio format detail. */ + PJMEDIA_FORMAT_DETAIL_AUDIO, + + /** Video format detail. */ + PJMEDIA_FORMAT_DETAIL_VIDEO, + + /** Number of format detail type that has been defined. */ + PJMEDIA_FORMAT_DETAIL_MAX + +} pjmedia_format_detail_type; + +/** + * This structure is put in \a detail field of #pjmedia_format to describe + * detail information about an audio media. + */ +typedef struct pjmedia_audio_format_detail +{ + unsigned clock_rate; /**< Audio clock rate in samples or Hz. */ + unsigned channel_count; /**< Number of channels. */ + unsigned frame_time_usec;/**< Frame interval, in microseconds. */ + unsigned bits_per_sample;/**< Number of bits per sample. */ + pj_uint32_t avg_bps; /**< Average bitrate */ + pj_uint32_t max_bps; /**< Maximum bitrate */ +} pjmedia_audio_format_detail; + +/** + * This structure is put in \a detail field of #pjmedia_format to describe + * detail information about a video media. + * + * Additional information about a video format can also be retrieved by + * calling #pjmedia_get_video_format_info(). + */ +typedef struct pjmedia_video_format_detail +{ + pjmedia_rect_size size; /**< Video size (width, height) */ + pjmedia_ratio fps; /**< Number of frames per second. */ + pj_uint32_t avg_bps;/**< Average bitrate. */ + pj_uint32_t max_bps;/**< Maximum bitrate. */ +} pjmedia_video_format_detail; + +/** + * This macro declares the size of the detail section in #pjmedia_format + * to be reserved for user defined detail. + */ +#ifndef PJMEDIA_FORMAT_DETAIL_USER_SIZE +# define PJMEDIA_FORMAT_DETAIL_USER_SIZE 1 +#endif + +/** + * This structure contains all the information needed to completely describe + * a media. + */ +typedef struct pjmedia_format +{ + /** + * The format id that specifies the audio sample or video pixel format. + * Some well known formats ids are declared in pjmedia_format_id + * enumeration. + * + * @see pjmedia_format_id + */ + pj_uint32_t id; + + /** + * The top-most type of the media, as an information. + */ + pjmedia_type type; + + /** + * The type of detail structure in the \a detail pointer. + */ + pjmedia_format_detail_type detail_type; + + /** + * Detail section to describe the media. + */ + union + { + /** + * Detail section for audio format. + */ + pjmedia_audio_format_detail aud; + + /** + * Detail section for video format. + */ + pjmedia_video_format_detail vid; + + /** + * Reserved area for user-defined format detail. + */ + char user[PJMEDIA_FORMAT_DETAIL_USER_SIZE]; + } det; + +} pjmedia_format; + +/** + * This enumeration describes video color model. It mostly serves as + * information only. + */ +typedef enum pjmedia_color_model +{ + /** The color model is unknown or unspecified. */ + PJMEDIA_COLOR_MODEL_NONE, + + /** RGB color model. */ + PJMEDIA_COLOR_MODEL_RGB, + + /** YUV color model. */ + PJMEDIA_COLOR_MODEL_YUV +} pjmedia_color_model; + +/** + * This structure holds information to apply a specific video format + * against size and buffer information, and get additional information + * from it. To do that, application fills up the input fields of this + * structure, and give this structure to \a apply_fmt() function + * of #pjmedia_video_format_info structure. + */ +typedef struct pjmedia_video_apply_fmt_param +{ + /* input fields: */ + + /** + * [IN] The image size. This field is mandatory, and has to be set + * correctly prior to calling \a apply_fmt() function. + */ + pjmedia_rect_size size; + + /** + * [IN] Pointer to the buffer that holds the frame. The \a apply_fmt() + * function uses this pointer to calculate the pointer for each video + * planes of the media. This field is optional -- however, the + * \a apply_fmt() would still fill up the \a planes[] array with the + * correct pointer even though the buffer is set to NULL. This could be + * useful to calculate the size (in bytes) of each plane. + */ + pj_uint8_t *buffer; + + /* output fields: */ + + /** + * [OUT] The size (in bytes) required of the buffer to hold the video + * frame of the particular frame size (width, height). + */ + pj_size_t framebytes; + + /** + * [OUT] Array of strides value (in bytes) for each video plane. + */ + int strides[PJMEDIA_MAX_VIDEO_PLANES]; + + /** + * [OUT] Array of pointers to each of the video planes. The values are + * calculated from the \a buffer field. + */ + pj_uint8_t *planes[PJMEDIA_MAX_VIDEO_PLANES]; + + /** + * [OUT] Array of video plane sizes. + */ + pj_size_t plane_bytes[PJMEDIA_MAX_VIDEO_PLANES]; + +} pjmedia_video_apply_fmt_param; + +/** + * This structure holds information to describe a video format. Application + * can retrieve this structure by calling #pjmedia_get_video_format_info() + * funcion. + */ +typedef struct pjmedia_video_format_info +{ + /** + * The unique format ID of the media. Well known format ids are declared + * in pjmedia_format_id enumeration. + */ + pj_uint32_t id; + + /** + * Null terminated string containing short identification about the + * format. + */ + char name[8]; + + /** + * Information about the color model of this video format. + */ + pjmedia_color_model color_model; + + /** + * Number of bits needed to store one pixel of this video format. + */ + pj_uint8_t bpp; + + /** + * Number of video planes that this format uses. Value 1 indicates + * packed format, while value greater than 1 indicates planar format. + */ + pj_uint8_t plane_cnt; + + /** + * Pointer to function to apply this format against size and buffer + * information in pjmedia_video_apply_fmt_param argument. Application + * uses this function to obtain various information such as the + * memory size of a frame buffer, strides value of the image, the + * location of the planes, and so on. See pjmedia_video_apply_fmt_param + * for additional information. + * + * @param vfi The video format info. + * @param vafp The parameters to investigate. + * + * @return PJ_SUCCESS if the function has calculated the + * information in \a vafp successfully. + */ + pj_status_t (*apply_fmt)(const struct pjmedia_video_format_info *vfi, + pjmedia_video_apply_fmt_param *vafp); + +} pjmedia_video_format_info; + + +/***************************************************************************** + * UTILITIES: + */ + +/** + * General utility routine to calculate samples per frame value from clock + * rate, ptime (in usec), and channel count. Application should use this + * macro whenever possible due to possible overflow in the math calculation. + * + * @param clock_rate Clock rate. + * @param usec_ptime Frame interval, in microsecond. + * @param channel_count Number of channels. + * + * @return The samples per frame value. + */ +PJ_INLINE(unsigned) PJMEDIA_SPF(unsigned clock_rate, unsigned usec_ptime, + unsigned channel_count) +{ +#if PJ_HAS_INT64 + return ((unsigned)((pj_uint64_t)usec_ptime * \ + clock_rate * channel_count / 1000000)); +#elif PJ_HAS_FLOATING_POINT + return ((unsigned)(1.0*usec_ptime * clock_rate * channel_count / 1000000)); +#else + return ((unsigned)(usec_ptime / 1000L * clock_rate * \ + channel_count / 1000)); +#endif +} + +/** + * Variant of #PJMEDIA_SPF() which takes frame rate instead of ptime. + */ +PJ_INLINE(unsigned) PJMEDIA_SPF2(unsigned clock_rate, const pjmedia_ratio *fr, + unsigned channel_count) +{ +#if PJ_HAS_INT64 + return ((unsigned)((pj_uint64_t)clock_rate * fr->denum \ + / fr->num / channel_count)); +#elif PJ_HAS_FLOATING_POINT + return ((unsigned)(1.0* clock_rate * fr->denum / fr->num /channel_count)); +#else + return ((unsigned)(1L * clock_rate * fr->denum / fr->num / channel_count)); +#endif +} + + +/** + * Utility routine to calculate frame size (in bytes) from bitrate and frame + * interval values. Application should use this macro whenever possible due + * to possible overflow in the math calculation. + * + * @param bps The bitrate of the stream. + * @param usec_ptime Frame interval, in microsecond. + * + * @return Frame size in bytes. + */ +PJ_INLINE(unsigned) PJMEDIA_FSZ(unsigned bps, unsigned usec_ptime) +{ +#if PJ_HAS_INT64 + return ((unsigned)((pj_uint64_t)bps * usec_ptime / PJ_UINT64(8000000))); +#elif PJ_HAS_FLOATING_POINT + return ((unsigned)(1.0 * bps * usec_ptime / 8000000.0)); +#else + return ((unsigned)(bps / 8L * usec_ptime / 1000000)); +#endif +} + +/** + * General utility routine to calculate ptime value from frame rate. + * Application should use this macro whenever possible due to possible + * overflow in the math calculation. + * + * @param frame_rate Frame rate + * + * @return The ptime value (in usec). + */ +PJ_INLINE(unsigned) PJMEDIA_PTIME(const pjmedia_ratio *frame_rate) +{ +#if PJ_HAS_INT64 + return ((unsigned)((pj_uint64_t)1000000 * \ + frame_rate->denum / frame_rate->num)); +#elif PJ_HAS_FLOATING_POINT + return ((unsigned)(1000000.0 * frame_rate->denum / + frame_rate->num)); +#else + return ((unsigned)((1000L * frame_rate->denum / + frame_rate->num) * 1000)); +#endif +} + +/** + * Utility to retrieve samples_per_frame value from + * pjmedia_audio_format_detail. + * + * @param pafd Pointer to pjmedia_audio_format_detail + * @return Samples per frame + */ +PJ_INLINE(unsigned) PJMEDIA_AFD_SPF(const pjmedia_audio_format_detail *pafd) +{ + return PJMEDIA_SPF(pafd->clock_rate, pafd->frame_time_usec, + pafd->channel_count); +} + +/** + * Utility to retrieve average frame size from pjmedia_audio_format_detail. + * The average frame size is derived from the average bitrate of the audio + * stream. + * + * @param afd Pointer to pjmedia_audio_format_detail + * @return Average frame size. + */ +PJ_INLINE(unsigned) PJMEDIA_AFD_AVG_FSZ(const pjmedia_audio_format_detail *afd) +{ + return PJMEDIA_FSZ(afd->avg_bps, afd->frame_time_usec); +} + +/** + * Utility to retrieve maximum frame size from pjmedia_audio_format_detail. + * The maximum frame size is derived from the maximum bitrate of the audio + * stream. + * + * @param afd Pointer to pjmedia_audio_format_detail + * @return Average frame size. + */ +PJ_INLINE(unsigned) PJMEDIA_AFD_MAX_FSZ(const pjmedia_audio_format_detail *afd) +{ + return PJMEDIA_FSZ(afd->max_bps, afd->frame_time_usec); +} + + +/** + * Initialize the format as audio format with the specified parameters. + * + * @param fmt The format to be initialized. + * @param fmt_id Format ID. See #pjmedia_format_id + * @param clock_rate Audio clock rate. + * @param channel_count Number of channels. + * @param bits_per_sample Number of bits per sample. + * @param frame_time_usec Frame interval, in microsecond. + * @param avg_bps Average bitrate. + * @param max_bps Maximum bitrate. + */ +PJ_INLINE(void) pjmedia_format_init_audio(pjmedia_format *fmt, + pj_uint32_t fmt_id, + unsigned clock_rate, + unsigned channel_count, + unsigned bits_per_sample, + unsigned frame_time_usec, + pj_uint32_t avg_bps, + pj_uint32_t max_bps) +{ + /* This function is inlined to avoid build problem due to circular + * dependency, i.e: this function is part of pjmedia and is needed + * by pjmedia-audiodev, while pjmedia depends on pjmedia-audiodev. + */ + + fmt->id = fmt_id; + fmt->type = PJMEDIA_TYPE_AUDIO; + fmt->detail_type = PJMEDIA_FORMAT_DETAIL_AUDIO; + + fmt->det.aud.clock_rate = clock_rate; + fmt->det.aud.channel_count = channel_count; + fmt->det.aud.bits_per_sample = bits_per_sample; + fmt->det.aud.frame_time_usec = frame_time_usec; + fmt->det.aud.avg_bps = avg_bps; + fmt->det.aud.max_bps = max_bps; +} + + +/** + * Initialize the format as video format with the specified parameters. + * A format manager should have been created, as this function will need + * to consult to a format manager in order to fill in detailed + * information about the format. + * + * @param fmt The format to be initialised. + * @param fmt_id Format ID. See #pjmedia_format_id + * @param width Image width. + * @param height Image heigth. + * @param fps_num FPS numerator. + * @param fps_denum FPS denumerator. + * @param avg_bps Average bitrate. + * @param max_bps Maximum bitrate. + */ +PJ_DECL(void) pjmedia_format_init_video(pjmedia_format *fmt, + pj_uint32_t fmt_id, + unsigned width, + unsigned height, + unsigned fps_num, + unsigned fps_denum); + +/** + * Copy format to another. + * + * @param dst The destination format. + * @param src The source format. + * + * @return Pointer to destination format. + */ +PJ_DECL(pjmedia_format*) pjmedia_format_copy(pjmedia_format *dst, + const pjmedia_format *src); + +/** + * Check if the format contains audio format, and retrieve the audio format + * detail in the format. + * + * @param fmt The format structure. + * @param assert_valid If this is set to non-zero, an assertion will be + * raised if the detail type is not audio or if the + * the detail is NULL. + * + * @return The instance of audio format detail in the format + * structure, or NULL if the format doesn't contain + * audio detail. + */ +PJ_DECL(pjmedia_audio_format_detail*) +pjmedia_format_get_audio_format_detail(const pjmedia_format *fmt, + pj_bool_t assert_valid); + +/** + * Check if the format contains video format, and retrieve the video format + * detail in the format. + * + * @param fmt The format structure. + * @param assert_valid If this is set to non-zero, an assertion will be + * raised if the detail type is not video or if the + * the detail is NULL. + * + * @return The instance of video format detail in the format + * structure, or NULL if the format doesn't contain + * video detail. + */ +PJ_DECL(pjmedia_video_format_detail*) +pjmedia_format_get_video_format_detail(const pjmedia_format *fmt, + pj_bool_t assert_valid); + +/***************************************************************************** + * FORMAT MANAGEMENT: + */ + +/** + * Opaque data type for video format manager. The video format manager manages + * the repository of video formats that the framework recognises. Typically it + * is a singleton instance, although application may instantiate more than one + * instances of this if required. + */ +typedef struct pjmedia_video_format_mgr pjmedia_video_format_mgr; + + +/** + * Create a new video format manager instance. This will also set the pointer + * to the singleton instance if the value is still NULL. + * + * @param pool The pool to allocate memory. + * @param max_fmt Maximum number of formats to accommodate. + * @param options Option flags. Must be zero for now. + * @param p_mgr Pointer to hold the created instance. + * + * @return PJ_SUCCESS on success, or the appripriate error value. + */ +PJ_DECL(pj_status_t) +pjmedia_video_format_mgr_create(pj_pool_t *pool, + unsigned max_fmt, + unsigned options, + pjmedia_video_format_mgr **p_mgr); + +/** + * Get the singleton instance of the video format manager. + * + * @return The instance. + */ +PJ_DECL(pjmedia_video_format_mgr*) pjmedia_video_format_mgr_instance(void); + +/** + * Manually assign a specific video manager instance as the singleton + * instance. Normally this is not needed if only one instance is ever + * going to be created, as the library automatically assign the singleton + * instance. + * + * @param mgr The instance to be used as the singleton instance. + * Application may specify NULL to clear the singleton + * singleton instance. + */ +PJ_DECL(void) +pjmedia_video_format_mgr_set_instance(pjmedia_video_format_mgr *mgr); + +/** + * Retrieve a video format info for the specified format id. + * + * @param mgr The video format manager. Specify NULL to use + * the singleton instance (however, a video format + * manager still must have been created prior to + * calling this function). + * @param id The format id which format info is to be + * retrieved. + * + * @return The video format info. + */ +PJ_DECL(const pjmedia_video_format_info*) +pjmedia_get_video_format_info(pjmedia_video_format_mgr *mgr, + pj_uint32_t id); + +/** + * Register a new video format to the framework. By default, built-in + * formats will be registered automatically to the format manager when + * it is created (note: built-in formats are ones which format id is + * listed in pjmedia_format_id enumeration). This function allows + * application to use user defined format id by registering that format + * into the framework. + * + * @param mgr The video format manager. Specify NULL to use + * the singleton instance (however, a video format + * manager still must have been created prior to + * calling this function). + * @param vfi The video format info to be registered. This + * structure must remain valid until the format + * manager is destroyed. + * + * @return PJ_SUCCESS on success, or the appripriate error value. + */ +PJ_DECL(pj_status_t) +pjmedia_register_video_format_info(pjmedia_video_format_mgr *mgr, + pjmedia_video_format_info *vfi); + +/** + * Destroy a video format manager. If the manager happens to be the singleton + * instance, the singleton instance will be set to NULL. + * + * @param mgr The video format manager. Specify NULL to use + * the singleton instance (however, a video format + * manager still must have been created prior to + * calling this function). + */ +PJ_DECL(void) pjmedia_video_format_mgr_destroy(pjmedia_video_format_mgr *mgr); + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJMEDIA_FORMAT_H__ */ + diff --git a/pjmedia/include/pjmedia/frame.h b/pjmedia/include/pjmedia/frame.h new file mode 100644 index 0000000..286c51f --- /dev/null +++ b/pjmedia/include/pjmedia/frame.h @@ -0,0 +1,332 @@ +/* $Id: frame.h 4537 2013-06-19 06:47:43Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_FRAME_H__ +#define __PJMEDIA_FRAME_H__ + +/** + * @file pjmedia/frame.h Media frame + * @brief Frame + */ +#include +#include + +/** + * @defgroup PJMEDIA_FRAME Media frame + * @ingroup PJMEDIA_TYPES + * @brief Frame + * @{ + */ + +PJ_BEGIN_DECL + + +/** + * Types of media frame. + */ +typedef enum pjmedia_frame_type +{ + PJMEDIA_FRAME_TYPE_NONE, /**< No frame. */ + PJMEDIA_FRAME_TYPE_AUDIO, /**< Normal audio frame. */ + PJMEDIA_FRAME_TYPE_EXTENDED, /**< Extended audio frame. */ + PJMEDIA_FRAME_TYPE_VIDEO /**< Video frame. */ + +} pjmedia_frame_type; + + +/** + * This structure describes a media frame. + */ +typedef struct pjmedia_frame +{ + pjmedia_frame_type type; /**< Frame type. */ + void *buf; /**< Pointer to buffer. */ + pj_size_t size; /**< Frame size in bytes. */ + pj_timestamp timestamp; /**< Frame timestamp. */ + pj_uint32_t bit_info; /**< Bit info of the frame, sample case: + a frame may not exactly start and end + at the octet boundary, so this field + may be used for specifying start & + end bit offset. */ +} pjmedia_frame; + + +/** + * The pjmedia_frame_ext is used to carry a more complex audio frames than + * the typical PCM audio frames, and it is signaled by setting the "type" + * field of a pjmedia_frame to PJMEDIA_FRAME_TYPE_EXTENDED. With this set, + * application may typecast pjmedia_frame to pjmedia_frame_ext. + * + * This structure may contain more than one audio frames, which subsequently + * will be called subframes in this structure. The subframes section + * immediately follows the end of this structure, and each subframe is + * represented by pjmedia_frame_ext_subframe structure. Every next + * subframe immediately follows the previous subframe, and all subframes + * are byte-aligned although its payload may not be byte-aligned. + */ + +#pragma pack(1) +typedef struct pjmedia_frame_ext { + pjmedia_frame base; /**< Base frame info */ + pj_uint16_t samples_cnt; /**< Number of samples in this frame */ + pj_uint16_t subframe_cnt; /**< Number of (sub)frames in this frame */ + + /* Zero or more (sub)frames follows immediately after this, + * each will be represented by pjmedia_frame_ext_subframe + */ +} pjmedia_frame_ext; +#pragma pack() + +/** + * This structure represents the individual subframes in the + * pjmedia_frame_ext structure. + */ +#pragma pack(1) +typedef struct pjmedia_frame_ext_subframe { + pj_uint16_t bitlen; /**< Number of bits in the data */ + pj_uint8_t data[1]; /**< Start of encoded data */ +} pjmedia_frame_ext_subframe; + +#pragma pack() + +/** + * Copy one frame to another. If the destination frame's size is smaller than + * the source frame's, the destination buffer will be truncated. + * + * @param src Source frame. + * @param dst Destination frame. + */ +PJ_INLINE(void) pjmedia_frame_copy(pjmedia_frame *dst, + const pjmedia_frame *src) +{ + dst->type = src->type; + dst->timestamp = src->timestamp; + dst->bit_info = src->bit_info; + dst->size = (dst->size < src->size? dst->size: src->size); + pj_memcpy(dst->buf, src->buf, dst->size); +} + +/** + * Append one subframe to #pjmedia_frame_ext. + * + * @param frm The #pjmedia_frame_ext. + * @param src Subframe data. + * @param bitlen Length of subframe, in bits. + * @param samples_cnt Number of audio samples in subframe. + */ +PJ_INLINE(void) pjmedia_frame_ext_append_subframe(pjmedia_frame_ext *frm, + const void *src, + unsigned bitlen, + unsigned samples_cnt) +{ + pjmedia_frame_ext_subframe *fsub; + pj_uint8_t *p; + unsigned i; + + p = (pj_uint8_t*)frm + sizeof(pjmedia_frame_ext); + for (i = 0; i < frm->subframe_cnt; ++i) { + fsub = (pjmedia_frame_ext_subframe*) p; + p += sizeof(fsub->bitlen) + ((fsub->bitlen+7) >> 3); + } + + fsub = (pjmedia_frame_ext_subframe*) p; + fsub->bitlen = (pj_uint16_t)bitlen; + if (bitlen) + pj_memcpy(fsub->data, src, (bitlen+7) >> 3); + + frm->subframe_cnt++; + frm->samples_cnt = (pj_uint16_t)(frm->samples_cnt + samples_cnt); +} + +/** + * Get a subframe from #pjmedia_frame_ext. + * + * @param frm The #pjmedia_frame_ext. + * @param n Subframe index, zero based. + * + * @return The n-th subframe, or NULL if n is out-of-range. + */ +PJ_INLINE(pjmedia_frame_ext_subframe*) +pjmedia_frame_ext_get_subframe(const pjmedia_frame_ext *frm, unsigned n) +{ + pjmedia_frame_ext_subframe *sf = NULL; + + if (n < frm->subframe_cnt) { + pj_uint8_t *p; + unsigned i; + + p = (pj_uint8_t*)frm + sizeof(pjmedia_frame_ext); + for (i = 0; i < n; ++i) { + sf = (pjmedia_frame_ext_subframe*) p; + p += sizeof(sf->bitlen) + ((sf->bitlen+7) >> 3); + } + + sf = (pjmedia_frame_ext_subframe*) p; + } + + return sf; +} + +/** + * Extract all frame payload to the specified buffer. + * + * @param frm The frame. + * @param dst Destination buffer. + * @param maxlen Maximum size to copy (i.e. the size of the + * destination buffer). + * + * @return Total size of payload copied. + */ +PJ_INLINE(unsigned) +pjmedia_frame_ext_copy_payload(const pjmedia_frame_ext *frm, + void *dst, + unsigned maxlen) +{ + unsigned i, copied=0; + for (i=0; isubframe_cnt; ++i) { + pjmedia_frame_ext_subframe *sf; + unsigned sz; + + sf = pjmedia_frame_ext_get_subframe(frm, i); + if (!sf) + continue; + + sz = ((sf->bitlen + 7) >> 3); + if (sz + copied > maxlen) + break; + + pj_memcpy(((pj_uint8_t*)dst) + copied, sf->data, sz); + copied += sz; + } + return copied; +} + + +/** + * Pop out first n subframes from #pjmedia_frame_ext. + * + * @param frm The #pjmedia_frame_ext. + * @param n Number of first subframes to be popped out. + * + * @return PJ_SUCCESS when successful. + */ +PJ_INLINE(pj_status_t) +pjmedia_frame_ext_pop_subframes(pjmedia_frame_ext *frm, unsigned n) +{ + pjmedia_frame_ext_subframe *sf; + pj_uint8_t *move_src; + pj_size_t move_len; + + if (frm->subframe_cnt <= n) { + frm->subframe_cnt = 0; + frm->samples_cnt = 0; + return PJ_SUCCESS; + } + + move_src = (pj_uint8_t*)pjmedia_frame_ext_get_subframe(frm, n); + sf = pjmedia_frame_ext_get_subframe(frm, frm->subframe_cnt-1); + move_len = ((pj_uint8_t*)sf - move_src + sizeof(sf->bitlen) + + ((sf->bitlen+7) >> 3)); + pj_memmove((pj_uint8_t*)frm+sizeof(pjmedia_frame_ext), + move_src, move_len); + + frm->samples_cnt = (pj_uint16_t) + (frm->samples_cnt - n*frm->samples_cnt/frm->subframe_cnt); + frm->subframe_cnt = (pj_uint16_t) (frm->subframe_cnt - n); + + return PJ_SUCCESS; +} + + +/** + * This is a general purpose function set PCM samples to zero. + * Since this function is needed by many parts of the library, + * by putting this functionality in one place, it enables some. + * clever people to optimize this function. + * + * @param samples The 16bit PCM samples. + * @param count Number of samples. + */ +PJ_INLINE(void) pjmedia_zero_samples(pj_int16_t *samples, unsigned count) +{ +#if 1 + pj_bzero(samples, (count<<1)); +#elif 0 + unsigned i; + for (i=0; i>= 1; + for (i=0; i>= 1; + for (i=0; i>= 1; + for (i=0; i + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_G711_H__ +#define __PJMEDIA_G711_H__ + +/** + * @file g711.h + * @brief G711 Codec + */ + +#include + +/** + * @defgroup PJMED_G711 G.711 Codec + * @ingroup PJMEDIA_CODEC_CODECS + * @brief Standard G.711/PCMA and PCMU codec. + * @{ + * + * This section describes functions to initialize and register G.711 codec + * factory to the codec manager. After the codec factory has been registered, + * application can use @ref PJMEDIA_CODEC API to manipulate the codec. + * + * The G.711 is an ultra low complexity codecs and in trade-off it results + * in high bitrate, i.e: 64kbps for 16-bit PCM with sampling rate 8000Hz. + * + * The factory contains two main compression algorithms, PCMU/u-Law and + * PCMA/A-Law. + * + * \section codec_setting Codec Settings + * + * \subsection general_setting General Settings + * + * General codec settings for this codec such as VAD and PLC can be + * manipulated through the setting field in #pjmedia_codec_param. + * Please see the documentation of #pjmedia_codec_param for more info. + * + * \subsection specific_setting Codec Specific Settings + * + * Currently none. + */ + +PJ_BEGIN_DECL + + +/** + * Initialize and register G711 codec factory to pjmedia endpoint. + * This will register PCMU and PCMA codec, in that order. + * + * @param endpt The pjmedia endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_g711_init(pjmedia_endpt *endpt); + + + +/** + * Unregister G711 codec factory from pjmedia endpoint. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_codec_g711_deinit(void); + + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJMEDIA_G711_H__ */ + diff --git a/pjmedia/include/pjmedia/jbuf.h b/pjmedia/include/pjmedia/jbuf.h new file mode 100644 index 0000000..488bb33 --- /dev/null +++ b/pjmedia/include/pjmedia/jbuf.h @@ -0,0 +1,451 @@ +/* $Id: jbuf.h 3841 2011-10-24 09:28:13Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +/* + * Based on implementation kindly contributed by Switchlab, Ltd. + */ +#ifndef __PJMEDIA_JBUF_H__ +#define __PJMEDIA_JBUF_H__ + + +/** + * @file jbuf.h + * @brief Adaptive jitter buffer implementation. + */ +#include + +/** + * @defgroup PJMED_JBUF Adaptive jitter buffer + * @ingroup PJMEDIA_FRAME_OP + * @brief Adaptive de-jitter buffering implementation + * @{ + * + * This section describes PJMEDIA's implementation of de-jitter buffer. + * The de-jitter buffer may be set to operate in adaptive mode or fixed + * delay mode. + */ + + +PJ_BEGIN_DECL + + +/** + * Types of frame returned by the jitter buffer. + */ +typedef enum pjmedia_jb_frame_type +{ + PJMEDIA_JB_MISSING_FRAME = 0, /**< No frame because it's missing */ + PJMEDIA_JB_NORMAL_FRAME = 1, /**< Normal frame is being returned */ + PJMEDIA_JB_ZERO_PREFETCH_FRAME = 2, /**< Zero frame is being returned + because JB is bufferring. */ + PJMEDIA_JB_ZERO_EMPTY_FRAME = 3 /**< Zero frame is being returned + because JB is empty. */ +} pjmedia_jb_frame_type; + + +/** + * Enumeration of jitter buffer discard algorithm. The jitter buffer + * continuously calculates the jitter level to get the optimum latency at + * any time and in order to adjust the latency, the jitter buffer may need + * to discard some frames. + */ +typedef enum pjmedia_jb_discard_algo +{ + /** + * Jitter buffer should not discard any frame, except when the jitter + * buffer is full and a new frame arrives, one frame will be discarded + * to make space for the new frame. + */ + PJMEDIA_JB_DISCARD_NONE = 0, + + /** + * Only discard one frame in at least 200ms when the latency is considered + * much higher than it should be. When the jitter buffer is full and a new + * frame arrives, one frame will be discarded to make space for the new + * frame. + */ + PJMEDIA_JB_DISCARD_STATIC, + + /** + * The discard rate is dynamically calculated based on actual parameters + * such as jitter level and latency. When the jitter buffer is full and + * a new frame arrives, one frame will be discarded to make space for the + * new frame. + */ + PJMEDIA_JB_DISCARD_PROGRESSIVE + +} pjmedia_jb_discard_algo; + + +/** + * This structure describes jitter buffer state. + */ +typedef struct pjmedia_jb_state +{ + /* Setting */ + unsigned frame_size; /**< Individual frame size, in bytes. */ + unsigned min_prefetch; /**< Minimum allowed prefetch, in frms. */ + unsigned max_prefetch; /**< Maximum allowed prefetch, in frms. */ + + /* Status */ + unsigned burst; /**< Current burst level, in frames */ + unsigned prefetch; /**< Current prefetch value, in frames */ + unsigned size; /**< Current buffer size, in frames. */ + + /* Statistic */ + unsigned avg_delay; /**< Average delay, in ms. */ + unsigned min_delay; /**< Minimum delay, in ms. */ + unsigned max_delay; /**< Maximum delay, in ms. */ + unsigned dev_delay; /**< Standard deviation of delay, in ms.*/ + unsigned avg_burst; /**< Average burst, in frames. */ + unsigned lost; /**< Number of lost frames. */ + unsigned discard; /**< Number of discarded frames. */ + unsigned empty; /**< Number of empty on GET events. */ +} pjmedia_jb_state; + + +/** + * The constant PJMEDIA_JB_DEFAULT_INIT_DELAY specifies default jitter + * buffer prefetch count during jitter buffer creation. + */ +#define PJMEDIA_JB_DEFAULT_INIT_DELAY 15 + +/** + * Opaque declaration for jitter buffer. + */ +typedef struct pjmedia_jbuf pjmedia_jbuf; + + +/** + * Create an adaptive jitter buffer according to the specification. If + * application wants to have a fixed jitter buffer, it may call + * #pjmedia_jbuf_set_fixed() after the jitter buffer is created. Also + * if application wants to alter the discard algorithm, which the default + * PJMEDIA_JB_DISCARD_PROGRESSIVE, it may call #pjmedia_jbuf_set_discard(). + * + * This function may allocate large chunk of memory to keep the frames in + * the buffer. + * + * @param pool The pool to allocate memory. + * @param name Name to identify the jitter buffer for logging + * purpose. + * @param frame_size The size of each frame that will be kept in the + * jitter buffer, in bytes. This should correspond + * to the minimum frame size supported by the codec. + * For example, a 10ms frame (80 bytes) would be + * recommended for G.711 codec. + * @param max_count Maximum number of frames that can be kept in the + * jitter buffer. This effectively means the maximum + * delay that may be introduced by this jitter + * buffer. + * @param ptime Indication of frame duration, used to calculate + * the interval between jitter recalculation. + * @param p_jb Pointer to receive jitter buffer instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_jbuf_create(pj_pool_t *pool, + const pj_str_t *name, + unsigned frame_size, + unsigned ptime, + unsigned max_count, + pjmedia_jbuf **p_jb); + +/** + * Set the jitter buffer to fixed delay mode. The default behavior + * is to adapt the delay with actual packet delay. + * + * @param jb The jitter buffer + * @param prefetch The fixed delay value, in number of frames. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_jbuf_set_fixed( pjmedia_jbuf *jb, + unsigned prefetch); + + +/** + * Set the jitter buffer to adaptive mode. + * + * @param jb The jitter buffer. + * @param prefetch The initial prefetch value to be applied to the + * jitter buffer. Setting this to other than 0 will + * activate prefetch buffering, a jitter buffer feature + * that each time it gets empty, it won't return a + * normal frame until its size reaches the number + * specified here. + * @param min_prefetch The minimum delay that must be applied to each + * incoming packets, in number of frames. + * @param max_prefetch The maximum allowable value for prefetch delay, + * in number of frames. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_jbuf_set_adaptive( pjmedia_jbuf *jb, + unsigned prefetch, + unsigned min_prefetch, + unsigned max_prefetch); + + +/** + * Set the jitter buffer discard algorithm. The default discard algorithm, + * set in jitter buffer creation, is PJMEDIA_JB_DISCARD_PROGRESSIVE. + * + * @param jb The jitter buffer. + * @param algo The discard algorithm to be used. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_jbuf_set_discard(pjmedia_jbuf *jb, + pjmedia_jb_discard_algo algo); + + +/** + * Destroy jitter buffer instance. + * + * @param jb The jitter buffer. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_jbuf_destroy(pjmedia_jbuf *jb); + + +/** + * Restart jitter. This function flushes all packets in the buffer and + * reset the internal sequence number. + * + * @param jb The jitter buffer. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_jbuf_reset(pjmedia_jbuf *jb); + +/** + * Put a frame to the jitter buffer. If the frame can be accepted (based + * on the sequence number), the jitter buffer will copy the frame and put + * it in the appropriate position in the buffer. + * + * Application MUST manage it's own synchronization when multiple threads + * are accessing the jitter buffer at the same time. + * + * @param jb The jitter buffer. + * @param frame Pointer to frame buffer to be stored in the jitter + * buffer. + * @param size The frame size. + * @param frame_seq The frame sequence number. + */ +PJ_DECL(void) pjmedia_jbuf_put_frame( pjmedia_jbuf *jb, + const void *frame, + pj_size_t size, + int frame_seq); + +/** + * Put a frame to the jitter buffer. If the frame can be accepted (based + * on the sequence number), the jitter buffer will copy the frame and put + * it in the appropriate position in the buffer. + * + * Application MUST manage it's own synchronization when multiple threads + * are accessing the jitter buffer at the same time. + * + * @param jb The jitter buffer. + * @param frame Pointer to frame buffer to be stored in the jitter + * buffer. + * @param size The frame size. + * @param bit_info Bit precise info of the frame, e.g: a frame may not + * exactly start and end at the octet boundary, so this + * field may be used for specifying start & end bit offset. + * @param frame_seq The frame sequence number. + * @param discarded Flag whether the frame is discarded by jitter buffer. + */ +PJ_DECL(void) pjmedia_jbuf_put_frame2( pjmedia_jbuf *jb, + const void *frame, + pj_size_t size, + pj_uint32_t bit_info, + int frame_seq, + pj_bool_t *discarded); + +/** + * Put a frame to the jitter buffer. If the frame can be accepted (based + * on the sequence number), the jitter buffer will copy the frame and put + * it in the appropriate position in the buffer. + * + * Application MUST manage it's own synchronization when multiple threads + * are accessing the jitter buffer at the same time. + * + * @param jb The jitter buffer. + * @param frame Pointer to frame buffer to be stored in the jitter + * buffer. + * @param size The frame size. + * @param bit_info Bit precise info of the frame, e.g: a frame may not + * exactly start and end at the octet boundary, so this + * field may be used for specifying start & end bit offset. + * @param frame_seq The frame sequence number. + * @param frame_ts The frame timestamp. + * @param discarded Flag whether the frame is discarded by jitter buffer. + */ +PJ_DECL(void) pjmedia_jbuf_put_frame3( pjmedia_jbuf *jb, + const void *frame, + pj_size_t size, + pj_uint32_t bit_info, + int frame_seq, + pj_uint32_t frame_ts, + pj_bool_t *discarded); +/** + * Get a frame from the jitter buffer. The jitter buffer will return the + * oldest frame from it's buffer, when it is available. + * + * Application MUST manage it's own synchronization when multiple threads + * are accessing the jitter buffer at the same time. + * + * @param jb The jitter buffer. + * @param frame Buffer to receive the payload from the jitter buffer. + * Application MUST make sure that the buffer has + * appropriate size (i.e. not less than the frame size, + * as specified when the jitter buffer was created). + * The jitter buffer only copied a frame to this + * buffer when the frame type returned by this function + * is PJMEDIA_JB_NORMAL_FRAME. + * @param p_frm_type Pointer to receive frame type. If jitter buffer is + * currently empty or bufferring, the frame type will + * be set to PJMEDIA_JB_ZERO_FRAME, and no frame will + * be copied. If the jitter buffer detects that frame is + * missing with current sequence number, the frame type + * will be set to PJMEDIA_JB_MISSING_FRAME, and no + * frame will be copied. If there is a frame, the jitter + * buffer will copy the frame to the buffer, and frame + * type will be set to PJMEDIA_JB_NORMAL_FRAME. + */ +PJ_DECL(void) pjmedia_jbuf_get_frame( pjmedia_jbuf *jb, + void *frame, + char *p_frm_type); + +/** + * Get a frame from the jitter buffer. The jitter buffer will return the + * oldest frame from it's buffer, when it is available. + * + * @param jb The jitter buffer. + * @param frame Buffer to receive the payload from the jitter buffer. + * @see pjmedia_jbuf_get_frame(). + * @param size Pointer to receive frame size. + * @param p_frm_type Pointer to receive frame type. + * @see pjmedia_jbuf_get_frame(). + * @param bit_info Bit precise info of the frame, e.g: a frame may not + * exactly start and end at the octet boundary, so this + * field may be used for specifying start & end bit offset. + */ +PJ_DECL(void) pjmedia_jbuf_get_frame2(pjmedia_jbuf *jb, + void *frame, + pj_size_t *size, + char *p_frm_type, + pj_uint32_t *bit_info); + + +/** + * Get a frame from the jitter buffer. The jitter buffer will return the + * oldest frame from it's buffer, when it is available. + * + * @param jb The jitter buffer. + * @param frame Buffer to receive the payload from the jitter buffer. + * @see pjmedia_jbuf_get_frame(). + * @param size Pointer to receive frame size. + * @param p_frm_type Pointer to receive frame type. + * @see pjmedia_jbuf_get_frame(). + * @param bit_info Bit precise info of the frame, e.g: a frame may not + * exactly start and end at the octet boundary, so this + * field may be used for specifying start & end bit offset. + * @param ts Frame timestamp. + * @param seq Frame sequence number. + */ +PJ_DECL(void) pjmedia_jbuf_get_frame3(pjmedia_jbuf *jb, + void *frame, + pj_size_t *size, + char *p_frm_type, + pj_uint32_t *bit_info, + pj_uint32_t *ts, + int *seq); + + +/** + * Peek a frame from the jitter buffer. The jitter buffer state will not be + * modified. + * + * @param jb The jitter buffer. + * @param offset Offset from the oldest frame to be peeked. + * @param frame Buffer to receive the payload from the jitter buffer. + * @see pjmedia_jbuf_get_frame(). + * @param size Pointer to receive frame size. + * @param p_frm_type Pointer to receive frame type. + * @see pjmedia_jbuf_get_frame(). + * @param bit_info Bit precise info of the frame, e.g: a frame may not + * exactly start and end at the octet boundary, so this + * field may be used for specifying start & end bit offset. + * @param ts Frame timestamp. + * @param seq Frame sequence number. + */ +PJ_DECL(void) pjmedia_jbuf_peek_frame(pjmedia_jbuf *jb, + unsigned offset, + const void **frame, + pj_size_t *size, + char *p_frm_type, + pj_uint32_t *bit_info, + pj_uint32_t *ts, + int *seq); + + +/** + * Remove frames from the jitter buffer. + * + * @param jb The jitter buffer. + * @param frame_cnt Number of frames to be removed. + * + * @return The number of frame successfully removed. + */ +PJ_DECL(unsigned) pjmedia_jbuf_remove_frame(pjmedia_jbuf *jb, + unsigned frame_cnt); + +/** + * Check if the jitter buffer is full. + * + * @param jb The jitter buffer. + * + * @return PJ_TRUE if it is full. + */ +PJ_DECL(pj_bool_t) pjmedia_jbuf_is_full(const pjmedia_jbuf *jb); + + +/** + * Get jitter buffer current state/settings. + * + * @param jb The jitter buffer. + * @param state Buffer to receive jitter buffer state. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_jbuf_get_state( const pjmedia_jbuf *jb, + pjmedia_jb_state *state ); + + + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJMEDIA_JBUF_H__ */ diff --git a/pjmedia/include/pjmedia/master_port.h b/pjmedia/include/pjmedia/master_port.h new file mode 100644 index 0000000..4ab89b9 --- /dev/null +++ b/pjmedia/include/pjmedia/master_port.h @@ -0,0 +1,199 @@ +/* $Id: master_port.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_MASTER_PORT_H__ +#define __PJMEDIA_MASTER_PORT_H__ + + +/** + * @file master_port.h + * @brief Master port. + */ +#include + +/** + * @defgroup PJMEDIA_MASTER_PORT Master Port + * @ingroup PJMEDIA_PORT_CLOCK + * @brief Thread based media clock provider + * @{ + * + * A master port has two media ports connected to it, and by convention + * thay are called downstream and upstream ports. The media stream flowing to + * the downstream port is called encoding or send direction, and media stream + * flowing to the upstream port is called decoding or receive direction + * (imagine the downstream as stream to remote endpoint, and upstream as + * local media port; media flowing to remote endpoint (downstream) will need + * to be encoded before it is transmitted to remote endpoint). + * + * A master port internally has an instance of @ref PJMEDIA_CLOCK, which + * provides the essensial timing for the master port. The @ref PJMEDIA_CLOCK + * runs asynchronously, and whenever a clock tick expires, a callback + * will be called, and the master port performs the following tasks: + * - it calls get_frame() from the downstream port, + * when give the frame to the upstream port by calling put_frame + * to the upstream port, and + * - performs the same task, but on the reverse direction (i.e. get the stream + * from upstream port and give it to the downstream port). + * + * Because master port enables media stream to flow automatically, it is + * said that the master port supplies @ref PJMEDIA_PORT_CLOCK to the + * media ports interconnection. + * + */ + +PJ_BEGIN_DECL + + +/** + * Opaque declaration for master port. + */ +typedef struct pjmedia_master_port pjmedia_master_port; + + +/** + * Create a master port. + * + * @param pool Pool to allocate master port from. + * @param u_port Upstream port. + * @param d_port Downstream port. + * @param options Options flags, from bitmask combinations from + * pjmedia_clock_options. + * @param p_m Pointer to receive the master port instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_master_port_create(pj_pool_t *pool, + pjmedia_port *u_port, + pjmedia_port *d_port, + unsigned options, + pjmedia_master_port **p_m); + + +/** + * Start the media flow. + * + * @param m The master port. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_master_port_start(pjmedia_master_port *m); + + +/** + * Stop the media flow. + * + * @param m The master port. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_master_port_stop(pjmedia_master_port *m); + + +/** + * Poll the master port clock and execute the callback when the clock tick has + * elapsed. This operation is only valid if the master port is created with + * #PJMEDIA_CLOCK_NO_ASYNC flag. + * + * @param m The master port. + * @param wait If non-zero, then the function will block until + * a clock tick elapsed and callback has been called. + * @param ts Optional argument to receive the current + * timestamp. + * + * @return Non-zero if clock tick has elapsed, or FALSE if + * the function returns before a clock tick has + * elapsed. + */ +PJ_DECL(pj_bool_t) pjmedia_master_port_wait(pjmedia_master_port *m, + pj_bool_t wait, + pj_timestamp *ts); + + +/** + * Change the upstream port. Note that application is responsible to destroy + * current upstream port (the one that is going to be replaced with the + * new port). + * + * @param m The master port. + * @param port Port to be used for upstream port. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_master_port_set_uport(pjmedia_master_port *m, + pjmedia_port *port); + + +/** + * Get the upstream port. + * + * @param m The master port. + * + * @return The upstream port. + */ +PJ_DECL(pjmedia_port*) pjmedia_master_port_get_uport(pjmedia_master_port*m); + + +/** + * Change the downstream port. Note that application is responsible to destroy + * current downstream port (the one that is going to be replaced with the + * new port). + * + * @param m The master port. + * @param port Port to be used for downstream port. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_master_port_set_dport(pjmedia_master_port *m, + pjmedia_port *port); + + +/** + * Get the downstream port. + * + * @param m The master port. + * + * @return The downstream port. + */ +PJ_DECL(pjmedia_port*) pjmedia_master_port_get_dport(pjmedia_master_port*m); + + +/** + * Destroy the master port, and optionally destroy the upstream and + * downstream ports. + * + * @param m The master port. + * @param destroy_ports If non-zero, the function will destroy both + * upstream and downstream ports too. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_master_port_destroy(pjmedia_master_port *m, + pj_bool_t destroy_ports); + + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_MASTER_PORT_H__ */ + diff --git a/pjmedia/include/pjmedia/mem_port.h b/pjmedia/include/pjmedia/mem_port.h new file mode 100644 index 0000000..bb45504 --- /dev/null +++ b/pjmedia/include/pjmedia/mem_port.h @@ -0,0 +1,195 @@ +/* $Id: mem_port.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_MEM_PORT_H__ +#define __PJMEDIA_MEM_PORT_H__ + +/** + * @file mem_port.h + * @brief Memory based media playback/capture port + */ +#include + +PJ_BEGIN_DECL + + +/** + * @defgroup PJMEDIA_MEM_PLAYER Memory/Buffer-based Playback Port + * @ingroup PJMEDIA_PORT + * @brief Media playback from a fixed size memory buffer + * @{ + * + * A memory/buffer based playback port is used to play media from a fixed + * size buffer. This is useful over @ref PJMEDIA_FILE_PLAY for + * situation where filesystems are not available in the target system. + */ + + +/** + * Memory player options. + */ +enum pjmedia_mem_player_option +{ + /** + * Tell the memory player to return NULL frame when the whole + * buffer has been played instead of rewinding the buffer back + * to start position. + */ + PJMEDIA_MEM_NO_LOOP = 1 +}; + + +/** + * Create the buffer based playback to play the media from the specified + * buffer. + * + * @param pool Pool to allocate memory for the port structure. + * @param buffer The buffer to play the media from, which should + * be available throughout the life time of the port. + * The player plays the media directly from this + * buffer (i.e. no copying is done). + * @param size The size of the buffer, in bytes. + * @param clock_rate Sampling rate. + * @param channel_count Number of channels. + * @param samples_per_frame Number of samples per frame. + * @param bits_per_sample Number of bits per sample. + * @param options Option flags, see #pjmedia_mem_player_option + * @param p_port Pointer to receive the port instance. + * + * @return PJ_SUCCESS on success, or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_mem_player_create(pj_pool_t *pool, + const void *buffer, + pj_size_t size, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + unsigned options, + pjmedia_port **p_port ); + + +/** + * Register a callback to be called when the buffer reading has reached the + * end of buffer. If the player is set to play repeatedly, then the callback + * will be called multiple times. Note that only one callback can be + * registered for each player port. + * + * @param port The memory player port. + * @param user_data User data to be specified in the callback + * @param cb Callback to be called. If the callback returns non- + * PJ_SUCCESS, the playback will stop. Note that if + * application destroys the player port in the callback, + * it must return non-PJ_SUCCESS here. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_mem_player_set_eof_cb( pjmedia_port *port, + void *user_data, + pj_status_t (*cb)(pjmedia_port *port, + void *usr_data)); + + +/** + * @} + */ + +/** + * @defgroup PJMEDIA_MEM_CAPTURE Memory/Buffer-based Capture Port + * @ingroup PJMEDIA_PORT + * @brief Media capture to fixed size memory buffer + * @{ + * + * A memory based capture is used to save media streams to a fixed size + * buffer. This is useful over @ref PJMEDIA_FILE_REC for + * situation where filesystems are not available in the target system. + */ + +/** + * Create media port to capture/record media into a fixed size buffer. + * + * @param pool Pool to allocate memory for the port structure. + * @param buffer The buffer to record the media to, which should + * be available throughout the life time of the port. + * @param size The maximum size of the buffer, in bytes. + * @param clock_rate Sampling rate. + * @param channel_count Number of channels. + * @param samples_per_frame Number of samples per frame. + * @param bits_per_sample Number of bits per sample. + * @param options Option flags. + * @param p_port Pointer to receive the port instance. + * + * @return PJ_SUCCESS on success, or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_mem_capture_create(pj_pool_t *pool, + void *buffer, + pj_size_t size, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + unsigned options, + pjmedia_port **p_port); + + +/** + * Register a callback to be called when no space left in the buffer. + * Note that when a callback is registered, this callback will also be + * called when application destroys the port and the callback has not + * been called before. + * + * @param port The memory recorder port. + * @param user_data User data to be specified in the callback + * @param cb Callback to be called. If the callback returns non- + * PJ_SUCCESS, the recording will stop. In other cases + * recording will be restarted and the rest of the frame + * will be stored starting from the beginning of the + * buffer. Note that if application destroys the capture + * port in the callback, it must return non-PJ_SUCCESS + * here. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_mem_capture_set_eof_cb(pjmedia_port *port, + void *user_data, + pj_status_t (*cb)(pjmedia_port *port, + void *usr_data)); + +/** + * Return the current size of the recorded data in the buffer. + * + * @param port The memory recorder port. + * @return The size of buffer data.. + */ +PJ_DECL(pj_size_t) +pjmedia_mem_capture_get_size(pjmedia_port *port); + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJMEDIA_MEM_PORT_H__ */ diff --git a/pjmedia/include/pjmedia/null_port.h b/pjmedia/include/pjmedia/null_port.h new file mode 100644 index 0000000..abff44a --- /dev/null +++ b/pjmedia/include/pjmedia/null_port.h @@ -0,0 +1,70 @@ +/* $Id: null_port.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_NULL_PORT_H__ +#define __PJMEDIA_NULL_PORT_H__ + +/** + * @file null_port.h + * @brief Null media port. + */ +#include + + + +/** + * @defgroup PJMEDIA_NULL_PORT Null Port + * @ingroup PJMEDIA_PORT + * @brief The simplest type of media port which does nothing. + * @{ + */ + + +PJ_BEGIN_DECL + + +/** + * Create Null port. + * + * @param pool Pool to allocate memory. + * @param sampling_rate Sampling rate of the port. + * @param channel_count Number of channels. + * @param samples_per_frame Number of samples per frame. + * @param bits_per_sample Number of bits per sample. + * @param p_port Pointer to receive the port instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_null_port_create( pj_pool_t *pool, + unsigned sampling_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + pjmedia_port **p_port ); + + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_NULL_PORT_H__ */ diff --git a/pjmedia/include/pjmedia/plc.h b/pjmedia/include/pjmedia/plc.h new file mode 100644 index 0000000..fc417fd --- /dev/null +++ b/pjmedia/include/pjmedia/plc.h @@ -0,0 +1,115 @@ +/* $Id: plc.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_PLC_H__ +#define __PJMEDIA_PLC_H__ + + +/** + * @file plc.h + * @brief Packet Lost Concealment (PLC) API. + */ +#include + +/** + * @defgroup PJMED_PLC Packet Lost Concealment (PLC) + * @ingroup PJMEDIA_FRAME_OP + * @brief Packet lost compensation algorithm + * @{ + * + * This section describes PJMEDIA's implementation of Packet Lost + * Concealment algorithm. This algorithm is used to implement PLC for + * codecs that do not have built-in support for one (e.g. G.711 or GSM + * codecs). + * + * The PLC algorithm (either built-in or external) is embedded in + * PJMEDIA codec instance, and application can conceal lost frames + * by calling recover() member of the codec's member + * operation (#pjmedia_codec_op). + * + * See also @ref plc_codec for more info. + */ + + +PJ_BEGIN_DECL + + +/** + * Opaque declaration for PLC. + */ +typedef struct pjmedia_plc pjmedia_plc; + + + +/** + * Create PLC session. This function will select the PLC algorithm to + * use based on the arguments. + * + * @param pool Pool to allocate memory for the PLC. + * @param clock_rate Media sampling rate. + * @param samples_per_frame Number of samples per frame. + * @param options Must be zero for now. + * @param p_plc Pointer to receive the PLC instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_plc_create( pj_pool_t *pool, + unsigned clock_rate, + unsigned samples_per_frame, + unsigned options, + pjmedia_plc **p_plc); + + +/** + * Save a good frame to PLC. + * + * @param plc The PLC session. + * @param frame The good frame to be stored to PLC. This frame + * must have the same length as the configured + * samples per frame. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_plc_save( pjmedia_plc *plc, + pj_int16_t *frame ); + + +/** + * Generate a replacement for lost frame. + * + * @param plc The PLC session. + * @param frame Buffer to receive the generated frame. This buffer + * must be able to store the frame. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_plc_generate( pjmedia_plc *plc, + pj_int16_t *frame ); + + + + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJMEDIA_PLC_H__ */ + diff --git a/pjmedia/include/pjmedia/port.h b/pjmedia/include/pjmedia/port.h new file mode 100644 index 0000000..0a5ab7f --- /dev/null +++ b/pjmedia/include/pjmedia/port.h @@ -0,0 +1,499 @@ +/* $Id: port.h 3893 2011-12-01 10:49:07Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_PORT_H__ +#define __PJMEDIA_PORT_H__ + +/** + * @file port.h + * @brief Port interface declaration + */ +#include +#include +#include +#include +#include +#include +#include + + +/** + @addtogroup PJMEDIA_PORT Media Ports Framework + @{ + + @section media_port_intro Media Port Concepts + + @subsection The Media Port + A media port (represented with pjmedia_port "class") provides a generic + and extensible framework for implementing media elements. Media element + itself could be a media source, sink, or processing element. A media + port interface basically has the following properties: + - media port information (pjmedia_port_info) to describe the + media port properties (sampling rate, number of channels, etc.), + - optional pointer to function to acquire frames from the port (the + get_frame() interface), which will be called by + #pjmedia_port_get_frame() public API, and + - optional pointer to function to store frames to the port (the + put_frame() interface) which will be called by + #pjmedia_port_put_frame() public API. + + The get_frame() and put_frame() interface of course + would only need to be implemented if the media port emits and/or takes + media frames respectively. + + Media ports are passive "objects". By default, there is no worker thread + to run the media flow. Applications (or other PJMEDIA + components, as explained in @ref PJMEDIA_PORT_CLOCK) must actively call + #pjmedia_port_get_frame() or #pjmedia_port_put_frame() from/to the media + port in order to retrieve/store media frames. + + Some media ports (such as @ref PJMEDIA_CONF and @ref PJMEDIA_RESAMPLE_PORT) + may be interconnected with (or encapsulate) other port, to perform the + combined task of the ports, while some + others represent the ultimate source/sink termination for the media. + Interconnection means the upstream media port will call get_frame() + and put_frame() to its downstream media port. For this to happen, + the media ports need to have the same format, where format is defined as + combination of sample format, clock rate, channel count, bits per sample, + and samples per frame for audio media. + + + @subsection port_clock_ex1 Example: Manual Resampling + + For example, suppose application wants to convert the sampling rate + of one WAV file to another. In this case, application would create and + arrange media ports connection as follows: + + \image html sample-manual-resampling.jpg + + Application would setup the media ports using the following pseudo- + code: + + \code + + pjmedia_port *player, *resample, *writer; + pj_status_t status; + + // Create the file player port. + status = pjmedia_wav_player_port_create(pool, + "Input.WAV", // file name + 20, // ptime. + PJMEDIA_FILE_NO_LOOP, // flags + 0, // buffer size + NULL, // user data. + &player ); + PJ_ASSERT_RETURN(status==PJ_SUCCESS, PJ_SUCCESS); + + // Create the resample port with specifying the target sampling rate, + // and with the file port as the source. This will effectively + // connect the resample port with the player port. + status = pjmedia_resample_port_create( pool, player, 8000, + 0, &resample); + PJ_ASSERT_RETURN(status==PJ_SUCCESS, PJ_SUCCESS); + + // Create the file writer, specifying the resample port's configuration + // as the WAV parameters. + status pjmedia_wav_writer_port_create(pool, + "Output.WAV", // file name. + resample->info.clock_rate, + resample->info.channel_count, + resample->info.samples_per_frame, + resample->info.bits_per_sample, + 0, // flags + 0, // buffer size + NULL, // user data. + &writer); + + \endcode + + + After the ports have been set up, application can perform the conversion + process by running this loop: + + \code + + pj_int16_t samplebuf[MAX_FRAME]; + + while (1) { + pjmedia_frame frame; + pj_status_t status; + + frame.buf = samplebuf; + frame.size = sizeof(samplebuf); + + // Get the frame from resample port. + status = pjmedia_port_get_frame(resample, &frame); + if (status != PJ_SUCCESS || frame.type == PJMEDIA_FRAME_TYPE_NONE) { + // End-of-file, end the conversion. + break; + } + + // Put the frame to write port. + status = pjmedia_port_put_frame(writer, &frame); + if (status != PJ_SUCCESS) { + // Error in writing the file. + break; + } + } + + \endcode + + For the sake of completeness, after the resampling process is done, + application would need to destroy the ports: + + \code + // Note: by default, destroying resample port will destroy the + // the downstream port too. + pjmedia_port_destroy(resample); + pjmedia_port_destroy(writer); + \endcode + + + The above steps are okay for our simple purpose of changing file's sampling + rate. But for other purposes, the process of reading and writing frames + need to be done in timely manner (for example, sending RTP packets to + remote stream). And more over, as the application's scope goes bigger, + the same pattern of manually reading/writing frames comes up more and more often, + thus perhaps it would be better if PJMEDIA provides mechanism to + automate this process. + + And indeed PJMEDIA does provide such mechanism, which is described in + @ref PJMEDIA_PORT_CLOCK section. + + + @subsection media_port_autom Automating Media Flow + + PJMEDIA provides few mechanisms to make media flows automatically + among media ports. This concept is described in @ref PJMEDIA_PORT_CLOCK + section. +*/ + +PJ_BEGIN_DECL + + +/** + * Create 32bit port signature from ASCII characters. + */ +#define PJMEDIA_PORT_SIG(a,b,c,d) PJMEDIA_OBJ_SIG(a,b,c,d) + + +/** + * Port operation setting. + */ +typedef enum pjmedia_port_op +{ + /** + * No change to the port TX or RX settings. + */ + PJMEDIA_PORT_NO_CHANGE, + + /** + * TX or RX is disabled from the port. It means get_frame() or + * put_frame() WILL NOT be called for this port. + */ + PJMEDIA_PORT_DISABLE, + + /** + * TX or RX is muted, which means that get_frame() or put_frame() + * will still be called, but the audio frame is discarded. + */ + PJMEDIA_PORT_MUTE, + + /** + * Enable TX and RX to/from this port. + */ + PJMEDIA_PORT_ENABLE + +} pjmedia_port_op; + + +/** + * Port info. + */ +typedef struct pjmedia_port_info +{ + pj_str_t name; /**< Port name. */ + pj_uint32_t signature; /**< Port signature. */ + pjmedia_dir dir; /**< Port direction. */ + pjmedia_format fmt; /**< Format. */ +} pjmedia_port_info; + +/** + * Utility to retrieve audio clock rate/sampling rate value from + * pjmedia_port_info. + * + * @param pia Pointer to port info containing audio format. + * @return Audio clock rate. + */ +PJ_INLINE(unsigned) PJMEDIA_PIA_SRATE(const pjmedia_port_info *pia) +{ + pj_assert(pia->fmt.type==PJMEDIA_TYPE_AUDIO && + pia->fmt.detail_type==PJMEDIA_FORMAT_DETAIL_AUDIO); + return pia->fmt.det.aud.clock_rate; +} + +/** + * Utility to retrieve audio channel count value from pjmedia_port_info. + * + * @param pia Pointer to port info containing audio format. + * @return Audio channel count. + */ +PJ_INLINE(unsigned) PJMEDIA_PIA_CCNT(const pjmedia_port_info *pia) +{ + pj_assert(pia->fmt.type==PJMEDIA_TYPE_AUDIO && + pia->fmt.detail_type==PJMEDIA_FORMAT_DETAIL_AUDIO); + return pia->fmt.det.aud.channel_count; +} + +/** + * Utility to retrieve audio bits per sample value from pjmedia_port_info. + * + * @param pia Pointer to port info containing audio format. + * @return Number of bits per sample. + */ +PJ_INLINE(unsigned) PJMEDIA_PIA_BITS(const pjmedia_port_info *pia) +{ + pj_assert(pia->fmt.type==PJMEDIA_TYPE_AUDIO && + pia->fmt.detail_type==PJMEDIA_FORMAT_DETAIL_AUDIO); + return pia->fmt.det.aud.bits_per_sample; +} + +/** + * Utility to retrieve audio frame interval (ptime) value from + * pjmedia_port_info. + * + * @param pia Pointer to port info containing audio format. + * @return Frame interval in msec. + */ +PJ_INLINE(unsigned) PJMEDIA_PIA_PTIME(const pjmedia_port_info *pia) +{ + pj_assert(pia->fmt.type==PJMEDIA_TYPE_AUDIO && + pia->fmt.detail_type==PJMEDIA_FORMAT_DETAIL_AUDIO); + return pia->fmt.det.aud.frame_time_usec / 1000; +} + +/** + * This is a utility routine to retrieve the audio samples_per_frame value + * from port info. + * + * @param pia Pointer to port info containing audio format. + * @return Samples per frame value. + */ +PJ_INLINE(unsigned) PJMEDIA_PIA_SPF(const pjmedia_port_info *pia) +{ + pj_assert(pia->fmt.type==PJMEDIA_TYPE_AUDIO && + pia->fmt.detail_type==PJMEDIA_FORMAT_DETAIL_AUDIO); + return PJMEDIA_AFD_SPF(&pia->fmt.det.aud); +} + +/** + * This is a utility routine to retrieve the average bitrate value + * from port info. + * + * @param pia Pointer to port info containing audio format. + * @return Bitrate, in bits per second. + */ +PJ_INLINE(unsigned) PJMEDIA_PIA_AVG_BPS(const pjmedia_port_info *pia) +{ + pj_assert(pia->fmt.type==PJMEDIA_TYPE_AUDIO && + pia->fmt.detail_type==PJMEDIA_FORMAT_DETAIL_AUDIO); + return pia->fmt.det.aud.avg_bps; +} + +/** + * This is a utility routine to retrieve the maximum bitrate value + * from port info. + * + * @param pia Pointer to port info containing audio format. + * @return Bitrate, in bits per second. + */ +PJ_INLINE(unsigned) PJMEDIA_PIA_MAX_BPS(const pjmedia_port_info *pia) +{ + pj_assert(pia->fmt.type==PJMEDIA_TYPE_AUDIO && + pia->fmt.detail_type==PJMEDIA_FORMAT_DETAIL_AUDIO); + return pia->fmt.det.aud.max_bps; +} + +/** + * This is a utility routine to retrieve the average audio frame size value + * from pjmedia_port_info. + * + * @param pia Pointer to port info containing audio format. + * @return Frame size in bytes. + */ +PJ_INLINE(unsigned) PJMEDIA_PIA_AVG_FSZ(const pjmedia_port_info *pia) +{ + pj_assert(pia->fmt.type==PJMEDIA_TYPE_AUDIO && + pia->fmt.detail_type==PJMEDIA_FORMAT_DETAIL_AUDIO); + return PJMEDIA_AFD_AVG_FSZ(&pia->fmt.det.aud); +} + +/** + * Utility to retrieve audio frame size from maximum bitrate from + * pjmedia_port_info. + * + * @param pia Pointer to port info containing audio format. + * @return Frame size in bytes. + */ +PJ_INLINE(unsigned) PJMEDIA_PIA_MAX_FSZ(const pjmedia_port_info *pia) +{ + pj_assert(pia->fmt.type==PJMEDIA_TYPE_AUDIO && + pia->fmt.detail_type==PJMEDIA_FORMAT_DETAIL_AUDIO); + return PJMEDIA_AFD_MAX_FSZ(&pia->fmt.det.aud); +} + +/** + * Port interface. + */ +typedef struct pjmedia_port +{ + pjmedia_port_info info; /**< Port information. */ + + /** Port data can be used by the port creator to attach arbitrary + * value to be associated with the port. + */ + struct port_data { + void *pdata; /**< Pointer data. */ + long ldata; /**< Long data. */ + } port_data; + + /** + * Get clock source. + * This should only be called by #pjmedia_port_get_clock_src(). + */ + pjmedia_clock_src* (*get_clock_src)(struct pjmedia_port *this_port, + pjmedia_dir dir); + + /** + * Sink interface. + * This should only be called by #pjmedia_port_put_frame(). + */ + pj_status_t (*put_frame)(struct pjmedia_port *this_port, + pjmedia_frame *frame); + + /** + * Source interface. + * This should only be called by #pjmedia_port_get_frame(). + */ + pj_status_t (*get_frame)(struct pjmedia_port *this_port, + pjmedia_frame *frame); + + /** + * Called to destroy this port. + */ + pj_status_t (*on_destroy)(struct pjmedia_port *this_port); + +} pjmedia_port; + + +/** + * This is an auxiliary function to initialize port info for + * ports which deal with PCM audio. + * + * @param info The port info to be initialized. + * @param name Port name. + * @param signature Port signature. + * @param clock_rate Port's clock rate. + * @param channel_count Number of channels. + * @param bits_per_sample Bits per sample. + * @param samples_per_frame Number of samples per frame. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_port_info_init( pjmedia_port_info *info, + const pj_str_t *name, + unsigned signature, + unsigned clock_rate, + unsigned channel_count, + unsigned bits_per_sample, + unsigned samples_per_frame); + +/** + * This is an auxiliary function to initialize port info for + * ports which deal with PCM audio. + * + * @param info The port info to be initialized. + * @param name Port name. + * @param signature Port signature. + * @param dir Port's direction. + * @param fmt Port's media format. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_port_info_init2(pjmedia_port_info *info, + const pj_str_t *name, + unsigned signature, + pjmedia_dir dir, + const pjmedia_format *fmt); + + +/** + * Get a clock source from the port. + * + * @param port The media port. + * @param dir Media port's direction. + * + * @return The clock source or NULL if clock source is not present + * in the port. + */ +PJ_DECL(pjmedia_clock_src *) pjmedia_port_get_clock_src( pjmedia_port *port, + pjmedia_dir dir ); + + +/** + * Get a frame from the port (and subsequent downstream ports). + * + * @param port The media port. + * @param frame Frame to store samples. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_port_get_frame( pjmedia_port *port, + pjmedia_frame *frame ); + +/** + * Put a frame to the port (and subsequent downstream ports). + * + * @param port The media port. + * @param frame Frame to the put to the port. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_port_put_frame( pjmedia_port *port, + pjmedia_frame *frame ); + +/** + * Destroy port (and subsequent downstream ports) + * + * @param port The media port. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_port_destroy( pjmedia_port *port ); + + + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJMEDIA_PORT_H__ */ + diff --git a/pjmedia/include/pjmedia/resample.h b/pjmedia/include/pjmedia/resample.h new file mode 100644 index 0000000..7cdd111 --- /dev/null +++ b/pjmedia/include/pjmedia/resample.h @@ -0,0 +1,200 @@ +/* $Id: resample.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_RESAMPLE_H__ +#define __PJMEDIA_RESAMPLE_H__ + + + +/** + * @file resample.h + * @brief Sample rate converter. + */ +#include +#include + +/** + * @defgroup PJMEDIA_RESAMPLE Resampling Algorithm + * @ingroup PJMEDIA_FRAME_OP + * @brief Sample rate conversion algorithm + * @{ + * + * This section describes the base resampling functions. In addition to this, + * application can use the @ref PJMEDIA_RESAMPLE_PORT which provides + * media port abstraction for the base resampling algorithm. + */ + +PJ_BEGIN_DECL + +/* + * This file declares two types of API: + * + * Application can use #pjmedia_resample_create() and #pjmedia_resample_run() + * to convert a frame from source rate to destination rate. The inpuit frame + * must have a constant length. + * + * Alternatively, application can create a resampling port with + * #pjmedia_resample_port_create() and connect the port to other ports to + * change the sampling rate of the samples. + */ + + +/** + * Opaque resample session. + */ +typedef struct pjmedia_resample pjmedia_resample; + +/** + * Create a frame based resample session. + * + * @param pool Pool to allocate the structure and buffers. + * @param high_quality If true, then high quality conversion will be + * used, at the expense of more CPU and memory, + * because temporary buffer needs to be created. + * @param large_filter If true, large filter size will be used. + * @param channel_count Number of channels. + * @param rate_in Clock rate of the input samples. + * @param rate_out Clock rate of the output samples. + * @param samples_per_frame Number of samples per frame in the input. + * @param p_resample Pointer to receive the resample session. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_resample_create(pj_pool_t *pool, + pj_bool_t high_quality, + pj_bool_t large_filter, + unsigned channel_count, + unsigned rate_in, + unsigned rate_out, + unsigned samples_per_frame, + pjmedia_resample **p_resample); + + +/** + * Use the resample session to resample a frame. The frame must have the + * same size and settings as the resample session, or otherwise the + * behavior is undefined. + * + * @param resample The resample session. + * @param input Buffer containing the input samples. + * @param output Buffer to store the output samples. + */ +PJ_DECL(void) pjmedia_resample_run( pjmedia_resample *resample, + const pj_int16_t *input, + pj_int16_t *output ); + + +/** + * Get the input frame size of a resample session. + * + * @param resample The resample session. + * + * @return The frame size, in number of samples. + */ +PJ_DECL(unsigned) pjmedia_resample_get_input_size(pjmedia_resample *resample); + + +/** + * Destroy the resample. + * + * @param resample The resample session. + */ +PJ_DECL(void) pjmedia_resample_destroy(pjmedia_resample *resample); + +/** + * @} + */ + +/** + * @defgroup PJMEDIA_RESAMPLE_PORT Resample Port + * @ingroup PJMEDIA_PORT + * @brief Audio sample rate conversion + * @{ + * + * This section describes media port abstraction for @ref PJMEDIA_RESAMPLE. + */ + + +/** + * Option flags that can be specified when creating resample port. + */ +enum pjmedia_resample_port_options +{ + /** + * Do not use high quality resampling algorithm, but use linear + * algorithm instead. + */ + PJMEDIA_RESAMPLE_USE_LINEAR = 1, + + /** + * Use small filter workspace when high quality resampling is + * used. + */ + PJMEDIA_RESAMPLE_USE_SMALL_FILTER = 2, + + /** + * Do not destroy downstream port when resample port is destroyed. + */ + PJMEDIA_RESAMPLE_DONT_DESTROY_DN = 4 +}; + + + +/** + * Create a resample port. This creates a bidirectional resample session, + * which will resample frames when the port's get_frame() and put_frame() + * is called. + * + * When the resample port's get_frame() is called, this port will get + * a frame from the downstream port and resample the frame to the target + * clock rate before returning it to the caller. + * + * When the resample port's put_frame() is called, this port will resample + * the frame to the downstream port's clock rate before giving the frame + * to the downstream port. + * + * @param pool Pool to allocate the structure and buffers. + * @param dn_port The downstream port, which clock rate is to + * be converted to the target clock rate. + * @param clock_rate Target clock rate. + * @param options Flags from #pjmedia_resample_port_options. + * When this flag is zero, the default behavior + * is to use high quality resampling with + * large filter, and to destroy downstream port + * when resample port is destroyed. + * @param p_port Pointer to receive the resample port instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_resample_port_create( pj_pool_t *pool, + pjmedia_port *dn_port, + unsigned clock_rate, + unsigned options, + pjmedia_port **p_port ); + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_RESAMPLE_H__ */ + diff --git a/pjmedia/include/pjmedia/rtcp.h b/pjmedia/include/pjmedia/rtcp.h new file mode 100644 index 0000000..6584f63 --- /dev/null +++ b/pjmedia/include/pjmedia/rtcp.h @@ -0,0 +1,486 @@ +/* $Id: rtcp.h 3999 2012-03-30 07:10:13Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_RTCP_H__ +#define __PJMEDIA_RTCP_H__ + +/** + * @file rtcp.h + * @brief RTCP implementation. + */ + +#include +#include +#include + +PJ_BEGIN_DECL + + +/** + * @defgroup PJMED_RTCP RTCP Session and Encapsulation (RFC 3550) + * @ingroup PJMEDIA_SESSION + * @brief RTCP format and session management + * @{ + * + * PJMEDIA implements subsets of RTCP specification (RFC 3550) to monitor + * the quality of the real-time media (audio/video) transmission. In + * addition to the standard quality monitoring and reporting with RTCP + * SR and RR types, PJMEDIA's RTCP implementation is able to report + * extended statistics for incoming streams, such as packet duplications, + * reorder, discarded, and loss period (to distinguish between random + * and burst loss). + * + * The bidirectional media quality statistic is represented with + * #pjmedia_rtcp_stat structure. + * + * When application uses the stream interface (see @ref PJMED_STRM), + * application may retrieve the RTCP statistic by calling + * #pjmedia_stream_get_stat() function. + */ + + +#pragma pack(1) + +/** + * RTCP sender report. + */ +typedef struct pjmedia_rtcp_sr +{ + pj_uint32_t ntp_sec; /**< NTP time, seconds part. */ + pj_uint32_t ntp_frac; /**< NTP time, fractions part. */ + pj_uint32_t rtp_ts; /**< RTP timestamp. */ + pj_uint32_t sender_pcount; /**< Sender packet cound. */ + pj_uint32_t sender_bcount; /**< Sender octet/bytes count. */ +} pjmedia_rtcp_sr; + + +/** + * RTCP receiver report. + */ +typedef struct pjmedia_rtcp_rr +{ + pj_uint32_t ssrc; /**< SSRC identification. */ +#if defined(PJ_IS_BIG_ENDIAN) && PJ_IS_BIG_ENDIAN!=0 + pj_uint32_t fract_lost:8; /**< Fraction lost. */ + pj_uint32_t total_lost_2:8; /**< Total lost, bit 16-23. */ + pj_uint32_t total_lost_1:8; /**< Total lost, bit 8-15. */ + pj_uint32_t total_lost_0:8; /**< Total lost, bit 0-7. */ +#else + pj_uint32_t fract_lost:8; /**< Fraction lost. */ + pj_uint32_t total_lost_2:8; /**< Total lost, bit 0-7. */ + pj_uint32_t total_lost_1:8; /**< Total lost, bit 8-15. */ + pj_uint32_t total_lost_0:8; /**< Total lost, bit 16-23. */ +#endif + pj_uint32_t last_seq; /**< Last sequence number. */ + pj_uint32_t jitter; /**< Jitter. */ + pj_uint32_t lsr; /**< Last SR. */ + pj_uint32_t dlsr; /**< Delay since last SR. */ +} pjmedia_rtcp_rr; + + +/** + * RTCP common header. + */ +typedef struct pjmedia_rtcp_common +{ +#if defined(PJ_IS_BIG_ENDIAN) && PJ_IS_BIG_ENDIAN!=0 + unsigned version:2; /**< packet type */ + unsigned p:1; /**< padding flag */ + unsigned count:5; /**< varies by payload type */ + unsigned pt:8; /**< payload type */ +#else + unsigned count:5; /**< varies by payload type */ + unsigned p:1; /**< padding flag */ + unsigned version:2; /**< packet type */ + unsigned pt:8; /**< payload type */ +#endif + unsigned length:16; /**< packet length */ + pj_uint32_t ssrc; /**< SSRC identification */ +} pjmedia_rtcp_common; + + +/** + * This structure declares default RTCP packet (SR) that is sent by pjmedia. + * Incoming RTCP packet may have different format, and must be parsed + * manually by application. + */ +typedef struct pjmedia_rtcp_sr_pkt +{ + pjmedia_rtcp_common common; /**< Common header. */ + pjmedia_rtcp_sr sr; /**< Sender report. */ + pjmedia_rtcp_rr rr; /**< variable-length list */ +} pjmedia_rtcp_sr_pkt; + +/** + * This structure declares RTCP RR (Receiver Report) packet. + */ +typedef struct pjmedia_rtcp_rr_pkt +{ + pjmedia_rtcp_common common; /**< Common header. */ + pjmedia_rtcp_rr rr; /**< variable-length list */ +} pjmedia_rtcp_rr_pkt; + + +#pragma pack() + + +/** + * RTCP SDES structure. + */ +typedef struct pjmedia_rtcp_sdes +{ + pj_str_t cname; /**< RTCP SDES type CNAME. */ + pj_str_t name; /**< RTCP SDES type NAME. */ + pj_str_t email; /**< RTCP SDES type EMAIL. */ + pj_str_t phone; /**< RTCP SDES type PHONE. */ + pj_str_t loc; /**< RTCP SDES type LOC. */ + pj_str_t tool; /**< RTCP SDES type TOOL. */ + pj_str_t note; /**< RTCP SDES type NOTE. */ +} pjmedia_rtcp_sdes; + + +/** + * NTP time representation. + */ +typedef struct pjmedia_rtcp_ntp_rec +{ + pj_uint32_t hi; /**< High order 32-bit part. */ + pj_uint32_t lo; /**< Lo order 32-bit part. */ +} pjmedia_rtcp_ntp_rec; + + +/** + * Unidirectional RTP stream statistics. + */ +typedef struct pjmedia_rtcp_stream_stat +{ + pj_time_val update; /**< Time of last update. */ + unsigned update_cnt; /**< Number of updates (to calculate avg) */ + pj_uint32_t pkt; /**< Total number of packets */ + pj_uint32_t bytes; /**< Total number of payload/bytes */ + unsigned discard; /**< Total number of discarded packets. */ + unsigned loss; /**< Total number of packets lost */ + unsigned reorder; /**< Total number of out of order packets */ + unsigned dup; /**< Total number of duplicates packets */ + + pj_math_stat loss_period;/**< Loss period statistics (in usec) */ + + struct { + unsigned burst:1; /**< Burst/sequential packet lost detected */ + unsigned random:1; /**< Random packet lost detected. */ + } loss_type; /**< Types of loss detected. */ + + pj_math_stat jitter; /**< Jitter statistics (in usec) */ + +} pjmedia_rtcp_stream_stat; + + +/** + * Bidirectional RTP stream statistics. + */ +typedef struct pjmedia_rtcp_stat +{ + pj_time_val start; /**< Time when session was created */ + + pjmedia_rtcp_stream_stat tx; /**< Encoder stream statistics. */ + pjmedia_rtcp_stream_stat rx; /**< Decoder stream statistics. */ + + pj_math_stat rtt; /**< Round trip delay statistic(in usec)*/ + + pj_uint32_t rtp_tx_last_ts; /**< Last TX RTP timestamp. */ + pj_uint16_t rtp_tx_last_seq;/**< Last TX RTP sequence. */ + +#if defined(PJMEDIA_RTCP_STAT_HAS_IPDV) && PJMEDIA_RTCP_STAT_HAS_IPDV!=0 + pj_math_stat rx_ipdv;/**< Statistics of IP packet delay + variation in receiving direction + (in usec). */ +#endif + +#if defined(PJMEDIA_RTCP_STAT_HAS_RAW_JITTER) && PJMEDIA_RTCP_STAT_HAS_RAW_JITTER!=0 + pj_math_stat rx_raw_jitter;/**< Statistic of raw jitter in + receiving direction + (in usec). */ +#endif + + pjmedia_rtcp_sdes peer_sdes; /**< Peer SDES. */ + char peer_sdes_buf_[PJMEDIA_RTCP_RX_SDES_BUF_LEN]; + /**< Peer SDES buffer. */ + +} pjmedia_rtcp_stat; + + +/** + * RTCP session is used to monitor the RTP session of one endpoint. There + * should only be one RTCP session for a bidirectional RTP streams. + */ +typedef struct pjmedia_rtcp_session +{ + char *name; /**< Name identification. */ + pjmedia_rtcp_sr_pkt rtcp_sr_pkt;/**< Cached RTCP SR packet. */ + pjmedia_rtcp_rr_pkt rtcp_rr_pkt;/**< Cached RTCP RR packet. */ + + pjmedia_rtp_seq_session seq_ctrl; /**< RTCP sequence number control. */ + unsigned rtp_last_ts;/**< Last timestamp in RX RTP pkt. */ + + unsigned clock_rate; /**< Clock rate of the stream */ + unsigned pkt_size; /**< Avg pkt size, in samples. */ + pj_uint32_t received; /**< # pkt received */ + pj_uint32_t exp_prior; /**< # pkt expected at last interval*/ + pj_uint32_t rx_prior; /**< # pkt received at last interval*/ + pj_int32_t transit; /**< Rel transit time for prev pkt */ + pj_uint32_t jitter; /**< Scaled jitter */ + pj_time_val tv_base; /**< Base time, in seconds. */ + pj_timestamp ts_base; /**< Base system timestamp. */ + pj_timestamp ts_freq; /**< System timestamp frequency. */ + pj_uint32_t rtp_ts_base;/**< Base RTP timestamp. */ + + pj_uint32_t rx_lsr; /**< NTP ts in last SR received */ + pj_timestamp rx_lsr_time;/**< Time when last SR is received */ + pj_uint32_t peer_ssrc; /**< Peer SSRC */ + + pjmedia_rtcp_stat stat; /**< Bidirectional stream stat. */ + +#if defined(PJMEDIA_HAS_RTCP_XR) && (PJMEDIA_HAS_RTCP_XR != 0) + /** + * Specify whether RTCP XR processing is enabled on this session. + */ + pj_bool_t xr_enabled; + + /** + * RTCP XR session, only valid if RTCP XR processing is enabled + * on this session. + */ + pjmedia_rtcp_xr_session xr_session; +#endif +} pjmedia_rtcp_session; + + +/** + * RTCP session settings. + */ +typedef struct pjmedia_rtcp_session_setting +{ + char *name; /**< RTCP session name. */ + unsigned clock_rate; /**< Sequence. */ + unsigned samples_per_frame; /**< Timestamp. */ + pj_uint32_t ssrc; /**< Sender SSRC. */ + pj_uint32_t rtp_ts_base; /**< Base RTP timestamp. */ +} pjmedia_rtcp_session_setting; + + +/** + * Initialize RTCP session setting. + * + * @param settings The RTCP session setting to be initialized. + */ +PJ_DECL(void) pjmedia_rtcp_session_setting_default( + pjmedia_rtcp_session_setting *settings); + + +/** + * Initialize bidirectional RTCP statistics. + * + * @param stat The bidirectional RTCP statistics. + */ +PJ_DECL(void) pjmedia_rtcp_init_stat(pjmedia_rtcp_stat *stat); + + +/** + * Initialize RTCP session. + * + * @param session The session + * @param name Optional name to identify the session (for + * logging purpose). + * @param clock_rate Codec clock rate in samples per second. + * @param samples_per_frame Average number of samples per frame. + * @param ssrc The SSRC used in to identify the session. + */ +PJ_DECL(void) pjmedia_rtcp_init( pjmedia_rtcp_session *session, + char *name, + unsigned clock_rate, + unsigned samples_per_frame, + pj_uint32_t ssrc ); + + +/** + * Initialize RTCP session. + * + * @param session The session + * @param settings The RTCP session settings. + */ +PJ_DECL(void) pjmedia_rtcp_init2(pjmedia_rtcp_session *session, + const pjmedia_rtcp_session_setting *settings); + + +/** + * Utility function to retrieve current NTP timestamp. + * + * @param sess RTCP session. + * @param ntp NTP record. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_rtcp_get_ntp_time(const pjmedia_rtcp_session *sess, + pjmedia_rtcp_ntp_rec *ntp); + + +/** + * Deinitialize RTCP session. + * + * @param session The session. + */ +PJ_DECL(void) pjmedia_rtcp_fini( pjmedia_rtcp_session *session); + + +/** + * Call this function everytime an RTP packet is received to let the RTCP + * session do its internal calculations. + * + * @param session The session. + * @param seq The RTP packet sequence number, in host byte order. + * @param ts The RTP packet timestamp, in host byte order. + * @param payload Size of the payload. + */ +PJ_DECL(void) pjmedia_rtcp_rx_rtp( pjmedia_rtcp_session *session, + unsigned seq, + unsigned ts, + unsigned payload); + + +/** + * Call this function everytime an RTP packet is received to let the RTCP + * session do its internal calculations. + * + * @param session The session. + * @param seq The RTP packet sequence number, in host byte order. + * @param ts The RTP packet timestamp, in host byte order. + * @param payload Size of the payload. + * @param discarded Flag to specify whether the packet is discarded. + */ +PJ_DECL(void) pjmedia_rtcp_rx_rtp2(pjmedia_rtcp_session *session, + unsigned seq, + unsigned ts, + unsigned payload, + pj_bool_t discarded); + + +/** + * Call this function everytime an RTP packet is sent to let the RTCP session + * do its internal calculations. + * + * @param session The session. + * @param ptsize The payload size of the RTP packet (ie packet minus + * RTP header) in bytes. + */ +PJ_DECL(void) pjmedia_rtcp_tx_rtp( pjmedia_rtcp_session *session, + unsigned ptsize ); + + +/** + * Call this function when an RTCP packet is received from remote peer. + * This RTCP packet received from remote is used to calculate the end-to- + * end delay of the network. + * + * @param session RTCP session. + * @param rtcp_pkt The received RTCP packet. + * @param size Size of the incoming packet. + */ +PJ_DECL(void) pjmedia_rtcp_rx_rtcp( pjmedia_rtcp_session *session, + const void *rtcp_pkt, + pj_size_t size); + + +/** + * Build a RTCP packet to be transmitted to remote RTP peer. This will + * create RTCP Sender Report (SR) or Receiver Report (RR) depending on + * whether the endpoint has been transmitting RTP since the last interval. + * Note that this function will reset the interval counters (such as + * the ones to calculate fraction lost) in the session. + * + * @param session The RTCP session. + * @param rtcp_pkt Upon return, it will contain pointer to the + * RTCP packet, which can be RTCP SR or RR. + * @param len Upon return, it will indicate the size of + * the RTCP packet. + */ +PJ_DECL(void) pjmedia_rtcp_build_rtcp( pjmedia_rtcp_session *session, + void **rtcp_pkt, int *len); + + +/** + * Build an RTCP SDES (source description) packet. This packet can be + * appended to other RTCP packets, e.g: RTCP RR/SR, to compose a compound + * RTCP packet. + * + * @param session The RTCP session. + * @param buf The buffer to receive RTCP SDES packet. + * @param length On input, it will contain the buffer length. + * On output, it will contain the generated RTCP SDES + * packet length. + * @param sdes The source description, see #pjmedia_rtcp_sdes. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_rtcp_build_rtcp_sdes( + pjmedia_rtcp_session *session, + void *buf, + pj_size_t *length, + const pjmedia_rtcp_sdes *sdes); + +/** + * Build an RTCP BYE packet. This packet can be appended to other RTCP + * packets, e.g: RTCP RR/SR, to compose a compound RTCP packet. + * + * @param session The RTCP session. + * @param buf The buffer to receive RTCP BYE packet. + * @param length On input, it will contain the buffer length. + * On output, it will contain the generated RTCP BYE + * packet length. + * @param reason Optional, the BYE reason. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_rtcp_build_rtcp_bye( + pjmedia_rtcp_session *session, + void *buf, + pj_size_t *length, + const pj_str_t *reason); + + +/** + * Call this function if RTCP XR needs to be enabled/disabled in the + * RTCP session. + * + * @param session The RTCP session. + * @param enable Enable/disable RTCP XR. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_rtcp_enable_xr( pjmedia_rtcp_session *session, + pj_bool_t enable); + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJMEDIA_RTCP_H__ */ diff --git a/pjmedia/include/pjmedia/rtcp_xr.h b/pjmedia/include/pjmedia/rtcp_xr.h new file mode 100644 index 0000000..9050f25 --- /dev/null +++ b/pjmedia/include/pjmedia/rtcp_xr.h @@ -0,0 +1,478 @@ +/* $Id: rtcp_xr.h 3999 2012-03-30 07:10:13Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_RTCP_XR_H__ +#define __PJMEDIA_RTCP_XR_H__ + +/** + * @file rtcp_xr.h + * @brief RTCP XR implementation. + */ + +#include +#include + + +PJ_BEGIN_DECL + + +/** + * @defgroup PJMED_RTCP_XR RTCP Extended Report (XR) - RFC 3611 + * @ingroup PJMEDIA_SESSION + * @brief RTCP XR extension to RTCP session + * @{ + * + * PJMEDIA implements subsets of RTCP XR specification (RFC 3611) to monitor + * the quality of the real-time media (audio/video) transmission. + */ + +/** + * Enumeration of report types of RTCP XR. Useful for user to enable varying + * combinations of RTCP XR report blocks. + */ +typedef enum { + PJMEDIA_RTCP_XR_LOSS_RLE = (1 << 0), + PJMEDIA_RTCP_XR_DUP_RLE = (1 << 1), + PJMEDIA_RTCP_XR_RCPT_TIMES = (1 << 2), + PJMEDIA_RTCP_XR_RR_TIME = (1 << 3), + PJMEDIA_RTCP_XR_DLRR = (1 << 4), + PJMEDIA_RTCP_XR_STATS = (1 << 5), + PJMEDIA_RTCP_XR_VOIP_METRICS = (1 << 6) +} pjmedia_rtcp_xr_type; + +/** + * Enumeration of info need to be updated manually to RTCP XR. Most info + * could be updated automatically each time RTP received. + */ +typedef enum { + PJMEDIA_RTCP_XR_INFO_SIGNAL_LVL = 1, + PJMEDIA_RTCP_XR_INFO_NOISE_LVL = 2, + PJMEDIA_RTCP_XR_INFO_RERL = 3, + PJMEDIA_RTCP_XR_INFO_R_FACTOR = 4, + PJMEDIA_RTCP_XR_INFO_MOS_LQ = 5, + PJMEDIA_RTCP_XR_INFO_MOS_CQ = 6, + PJMEDIA_RTCP_XR_INFO_CONF_PLC = 7, + PJMEDIA_RTCP_XR_INFO_CONF_JBA = 8, + PJMEDIA_RTCP_XR_INFO_CONF_JBR = 9, + PJMEDIA_RTCP_XR_INFO_JB_NOM = 10, + PJMEDIA_RTCP_XR_INFO_JB_MAX = 11, + PJMEDIA_RTCP_XR_INFO_JB_ABS_MAX = 12 +} pjmedia_rtcp_xr_info; + +/** + * Enumeration of PLC types definitions for RTCP XR report. + */ +typedef enum { + PJMEDIA_RTCP_XR_PLC_UNK = 0, + PJMEDIA_RTCP_XR_PLC_DIS = 1, + PJMEDIA_RTCP_XR_PLC_ENH = 2, + PJMEDIA_RTCP_XR_PLC_STD = 3 +} pjmedia_rtcp_xr_plc_type; + +/** + * Enumeration of jitter buffer types definitions for RTCP XR report. + */ +typedef enum { + PJMEDIA_RTCP_XR_JB_UNKNOWN = 0, + PJMEDIA_RTCP_XR_JB_FIXED = 2, + PJMEDIA_RTCP_XR_JB_ADAPTIVE = 3 +} pjmedia_rtcp_xr_jb_type; + + +#pragma pack(1) + +/** + * This type declares RTCP XR Report Header. + */ +typedef struct pjmedia_rtcp_xr_rb_header +{ + pj_uint8_t bt; /**< Block type. */ + pj_uint8_t specific; /**< Block specific data. */ + pj_uint16_t length; /**< Block length. */ +} pjmedia_rtcp_xr_rb_header; + +/** + * This type declares RTCP XR Receiver Reference Time Report Block. + */ +typedef struct pjmedia_rtcp_xr_rb_rr_time +{ + pjmedia_rtcp_xr_rb_header header; /**< Block header. */ + pj_uint32_t ntp_sec; /**< NTP time, seconds part. */ + pj_uint32_t ntp_frac; /**< NTP time, fractions part. */ +} pjmedia_rtcp_xr_rb_rr_time; + + +/** + * This type declares RTCP XR DLRR Report Sub-block + */ +typedef struct pjmedia_rtcp_xr_rb_dlrr_item +{ + pj_uint32_t ssrc; /**< receiver SSRC */ + pj_uint32_t lrr; /**< last receiver report */ + pj_uint32_t dlrr; /**< delay since last receiver + report */ +} pjmedia_rtcp_xr_rb_dlrr_item; + +/** + * This type declares RTCP XR DLRR Report Block + */ +typedef struct pjmedia_rtcp_xr_rb_dlrr +{ + pjmedia_rtcp_xr_rb_header header; /**< Block header. */ + pjmedia_rtcp_xr_rb_dlrr_item item; /**< Block contents, + variable length list */ +} pjmedia_rtcp_xr_rb_dlrr; + +/** + * This type declares RTCP XR Statistics Summary Report Block + */ +typedef struct pjmedia_rtcp_xr_rb_stats +{ + pjmedia_rtcp_xr_rb_header header; /**< Block header. */ + pj_uint32_t ssrc; /**< Receiver SSRC */ + pj_uint16_t begin_seq; /**< Begin RTP sequence reported */ + pj_uint16_t end_seq; /**< End RTP sequence reported */ + pj_uint32_t lost; /**< Number of packet lost in this + interval */ + pj_uint32_t dup; /**< Number of duplicated packet in + this interval */ + pj_uint32_t jitter_min; /**< Minimum jitter in this interval */ + pj_uint32_t jitter_max; /**< Maximum jitter in this interval */ + pj_uint32_t jitter_mean; /**< Average jitter in this interval */ + pj_uint32_t jitter_dev; /**< Jitter deviation in this + interval */ + pj_uint32_t toh_min:8; /**< Minimum ToH in this interval */ + pj_uint32_t toh_max:8; /**< Maximum ToH in this interval */ + pj_uint32_t toh_mean:8; /**< Average ToH in this interval */ + pj_uint32_t toh_dev:8; /**< ToH deviation in this interval */ +} pjmedia_rtcp_xr_rb_stats; + +/** + * This type declares RTCP XR VoIP Metrics Report Block + */ +typedef struct pjmedia_rtcp_xr_rb_voip_mtc +{ + pjmedia_rtcp_xr_rb_header header; /**< Block header. */ + pj_uint32_t ssrc; /**< Receiver SSRC */ + pj_uint8_t loss_rate; /**< Packet loss rate */ + pj_uint8_t discard_rate; /**< Packet discarded rate */ + pj_uint8_t burst_den; /**< Burst density */ + pj_uint8_t gap_den; /**< Gap density */ + pj_uint16_t burst_dur; /**< Burst duration */ + pj_uint16_t gap_dur; /**< Gap duration */ + pj_uint16_t rnd_trip_delay;/**< Round trip delay */ + pj_uint16_t end_sys_delay; /**< End system delay */ + pj_uint8_t signal_lvl; /**< Signal level */ + pj_uint8_t noise_lvl; /**< Noise level */ + pj_uint8_t rerl; /**< Residual Echo Return Loss */ + pj_uint8_t gmin; /**< The gap threshold */ + pj_uint8_t r_factor; /**< Voice quality metric carried + over this RTP session */ + pj_uint8_t ext_r_factor; /**< Voice quality metric carried + outside of this RTP session*/ + pj_uint8_t mos_lq; /**< Mean Opinion Score for + Listening Quality */ + pj_uint8_t mos_cq; /**< Mean Opinion Score for + Conversation Quality */ + pj_uint8_t rx_config; /**< Receiver configuration */ + pj_uint8_t reserved2; /**< Not used */ + pj_uint16_t jb_nom; /**< Current delay by jitter + buffer */ + pj_uint16_t jb_max; /**< Maximum delay by jitter + buffer */ + pj_uint16_t jb_abs_max; /**< Maximum possible delay by + jitter buffer */ +} pjmedia_rtcp_xr_rb_voip_mtc; + + +/** + * Constant of RTCP-XR content size. + */ +#define PJMEDIA_RTCP_XR_BUF_SIZE \ + sizeof(pjmedia_rtcp_xr_rb_rr_time) + \ + sizeof(pjmedia_rtcp_xr_rb_dlrr) + \ + sizeof(pjmedia_rtcp_xr_rb_stats) + \ + sizeof(pjmedia_rtcp_xr_rb_voip_mtc) + + +/** + * This structure declares RTCP XR (Extended Report) packet. + */ +typedef struct pjmedia_rtcp_xr_pkt +{ + struct { +#if defined(PJ_IS_BIG_ENDIAN) && PJ_IS_BIG_ENDIAN!=0 + unsigned version:2; /**< packet type */ + unsigned p:1; /**< padding flag */ + unsigned count:5; /**< varies by payload type */ + unsigned pt:8; /**< payload type */ +#else + unsigned count:5; /**< varies by payload type */ + unsigned p:1; /**< padding flag */ + unsigned version:2; /**< packet type */ + unsigned pt:8; /**< payload type */ +#endif + unsigned length:16; /**< packet length */ + pj_uint32_t ssrc; /**< SSRC identification */ + } common; + + pj_int8_t buf[PJMEDIA_RTCP_XR_BUF_SIZE]; + /**< Content buffer */ +} pjmedia_rtcp_xr_pkt; + +#pragma pack() + + +/** + * This structure describes RTCP XR statitic. + */ +typedef struct pjmedia_rtcp_xr_stream_stat +{ + struct { + pj_time_val update; /**< Time of last update. */ + + pj_uint32_t begin_seq; /**< Begin # seq of this interval. */ + pj_uint32_t end_seq; /**< End # seq of this interval. */ + unsigned count; /**< Number of packets. */ + + /** + * Flags represent whether the such report is valid/updated + */ + unsigned l:1; /**< Lost flag */ + unsigned d:1; /**< Duplicated flag */ + unsigned j:1; /**< Jitter flag */ + unsigned t:2; /**< TTL or Hop Limit, + 0=none, 1=TTL, 2=HL */ + + unsigned lost; /**< Number of packets lost */ + unsigned dup; /**< Number of duplicated packets */ + pj_math_stat jitter; /**< Jitter statistics (in usec) */ + pj_math_stat toh; /**< TTL of hop limit statistics. */ + } stat_sum; + + struct { + pj_time_val update; /**< Time of last update. */ + + pj_uint8_t loss_rate; /**< Packet loss rate */ + pj_uint8_t discard_rate; /**< Packet discarded rate */ + pj_uint8_t burst_den; /**< Burst density */ + pj_uint8_t gap_den; /**< Gap density */ + pj_uint16_t burst_dur; /**< Burst duration */ + pj_uint16_t gap_dur; /**< Gap duration */ + pj_uint16_t rnd_trip_delay; /**< Round trip delay */ + pj_uint16_t end_sys_delay; /**< End system delay */ + pj_int8_t signal_lvl; /**< Signal level */ + pj_int8_t noise_lvl; /**< Noise level */ + pj_uint8_t rerl; /**< Residual Echo Return Loss */ + pj_uint8_t gmin; /**< The gap threshold */ + pj_uint8_t r_factor; /**< Voice quality metric carried + over this RTP session */ + pj_uint8_t ext_r_factor; /**< Voice quality metric carried + outside of this RTP session*/ + pj_uint8_t mos_lq; /**< Mean Opinion Score for + Listening Quality */ + pj_uint8_t mos_cq; /**< Mean Opinion Score for + Conversation Quality */ + pj_uint8_t rx_config; /**< Receiver configuration */ + pj_uint16_t jb_nom; /**< Current delay by jitter + buffer */ + pj_uint16_t jb_max; /**< Maximum delay by jitter + buffer */ + pj_uint16_t jb_abs_max; /**< Maximum possible delay by + jitter buffer */ + } voip_mtc; + +} pjmedia_rtcp_xr_stream_stat; + +typedef struct pjmedia_rtcp_xr_stat +{ + pjmedia_rtcp_xr_stream_stat rx; /**< Decoding direction statistics. */ + pjmedia_rtcp_xr_stream_stat tx; /**< Encoding direction statistics. */ + pj_math_stat rtt; /**< Round-trip delay stat (in usec) + the value is calculated from + receiver side. */ +} pjmedia_rtcp_xr_stat; + +/** + * Forward declaration of RTCP session + */ +struct pjmedia_rtcp_session; + +/** + * RTCP session is used to monitor the RTP session of one endpoint. There + * should only be one RTCP session for a bidirectional RTP streams. + */ +struct pjmedia_rtcp_xr_session +{ + char *name; /**< Name identification. */ + pjmedia_rtcp_xr_pkt pkt; /**< Cached RTCP XR packet. */ + + pj_uint32_t rx_lrr; /**< NTP ts in last RR received. */ + pj_timestamp rx_lrr_time;/**< Time when last RR is received. */ + pj_uint32_t rx_last_rr; /**< # pkt received since last + sending RR time. */ + + pjmedia_rtcp_xr_stat stat; /**< RTCP XR statistics. */ + + /* The reference sequence number is an extended sequence number + * that serves as the basis for determining whether a new 16 bit + * sequence number comes earlier or later in the 32 bit sequence + * space. + */ + pj_uint32_t src_ref_seq; + pj_bool_t uninitialized_src_ref_seq; + + /* This structure contains variables needed for calculating + * burst metrics. + */ + struct { + pj_uint32_t pkt; + pj_uint32_t lost; + pj_uint32_t loss_count; + pj_uint32_t discard_count; + pj_uint32_t c11; + pj_uint32_t c13; + pj_uint32_t c14; + pj_uint32_t c22; + pj_uint32_t c23; + pj_uint32_t c33; + } voip_mtc_stat; + + unsigned ptime; /**< Packet time. */ + unsigned frames_per_packet; /**< # frames per packet. */ + + struct pjmedia_rtcp_session *rtcp_session; + /**< Parent/RTCP session. */ +}; + +typedef struct pjmedia_rtcp_xr_session pjmedia_rtcp_xr_session; + +/** + * Build an RTCP XR packet which contains one or more RTCP XR report blocks. + * There are seven report types as defined in RFC 3611. + * + * @param session The RTCP XR session. + * @param rpt_types Report types to be included in the packet, report types + * are defined in pjmedia_rtcp_xr_type, set this to zero + * will make this function build all reports appropriately. + * @param rtcp_pkt Upon return, it will contain pointer to the RTCP XR packet. + * @param len Upon return, it will indicate the size of the generated + * RTCP XR packet. + */ +PJ_DECL(void) pjmedia_rtcp_build_rtcp_xr( pjmedia_rtcp_xr_session *session, + unsigned rpt_types, + void **rtcp_pkt, int *len); + +/** + * Call this function to manually update some info needed by RTCP XR to + * generate report which could not be populated directly when receiving + * RTP. + * + * @param session The RTCP XR session. + * @param info Info type to be updated, @see pjmedia_rtcp_xr_info. + * @param val Value. + */ +PJ_DECL(pj_status_t) pjmedia_rtcp_xr_update_info( + pjmedia_rtcp_xr_session *session, + unsigned info, + pj_int32_t val); + +/* + * Private APIs: + */ + +/** + * This function is called internally by RTCP session when RTCP XR is enabled + * to initialize the RTCP XR session. + * + * @param session RTCP XR session. + * @param r_session RTCP session. + * @param gmin Gmin value (defined in RFC 3611), set to 0 for default (16). + * @param frames_per_packet + Number of frames per packet. + */ +void pjmedia_rtcp_xr_init( pjmedia_rtcp_xr_session *session, + struct pjmedia_rtcp_session *r_session, + pj_uint8_t gmin, + unsigned frames_per_packet); + +/** + * This function is called internally by RTCP session to destroy + * the RTCP XR session. + * + * @param session RTCP XR session. + */ +void pjmedia_rtcp_xr_fini( pjmedia_rtcp_xr_session *session ); + +/** + * This function is called internally by RTCP session when it receives + * incoming RTCP XR packets. + * + * @param session RTCP XR session. + * @param rtcp_pkt The received RTCP XR packet. + * @param size Size of the incoming packet. + */ +void pjmedia_rtcp_xr_rx_rtcp_xr( pjmedia_rtcp_xr_session *session, + const void *rtcp_pkt, + pj_size_t size); + +/** + * This function is called internally by RTCP session whenever an RTP packet + * is received or lost to let the RTCP XR session update its statistics. + * Data passed to this function is a result of analyzation by RTCP and the + * jitter buffer. Whenever some info is available, the value should be zero + * or more (no negative info), otherwise if info is not available the info + * should be -1 so no update will be done for this info in the RTCP XR session. + * + * @param session RTCP XR session. + * @param seq Sequence number of RTP packet. + * @param lost Info if this packet is lost. + * @param dup Info if this packet is a duplication. + * @param discarded Info if this packet is discarded + * (not because of duplication). + * @param jitter Info jitter of this packet. + * @param toh Info Time To Live or Hops Limit of this packet. + * @param toh_ipv4 Set PJ_TRUE if packet is transported over IPv4. + */ +void pjmedia_rtcp_xr_rx_rtp( pjmedia_rtcp_xr_session *session, + unsigned seq, + int lost, + int dup, + int discarded, + int jitter, + int toh, pj_bool_t toh_ipv4); + +/** + * This function is called internally by RTCP session whenever an RTP + * packet is sent to let the RTCP XR session do its internal calculations. + * + * @param session RTCP XR session. + * @param ptsize Size of RTP payload being sent. + */ +void pjmedia_rtcp_xr_tx_rtp( pjmedia_rtcp_xr_session *session, + unsigned ptsize ); + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJMEDIA_RTCP_XR_H__ */ diff --git a/pjmedia/include/pjmedia/rtp.h b/pjmedia/include/pjmedia/rtp.h new file mode 100644 index 0000000..f8634b1 --- /dev/null +++ b/pjmedia/include/pjmedia/rtp.h @@ -0,0 +1,394 @@ +/* $Id: rtp.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_RTP_H__ +#define __PJMEDIA_RTP_H__ + + +/** + * @file rtp.h + * @brief RTP packet and RTP session declarations. + */ +#include + + +PJ_BEGIN_DECL + + +/** + * @defgroup PJMED_RTP RTP Session and Encapsulation (RFC 3550) + * @ingroup PJMEDIA_SESSION + * @brief RTP format and session management + * @{ + * + * The RTP module is designed to be dependent only to PJLIB, it does not depend + * on any other parts of PJMEDIA library. The RTP module does not even depend + * on any transports (sockets), to promote even more use, such as in DSP + * development (where transport may be handled by different processor). + * + * An RTCP implementation is available, in separate module. Please see + * @ref PJMED_RTCP. + * + * The functions that are provided by this module: + * - creating RTP header for each outgoing packet. + * - decoding RTP packet into RTP header and payload. + * - provide simple RTP session management (sequence number, etc.) + * + * The RTP module does not use any dynamic memory at all. + * + * \section P1 How to Use the RTP Module + * + * First application must call #pjmedia_rtp_session_init() to initialize the RTP + * session. + * + * When application wants to send RTP packet, it needs to call + * #pjmedia_rtp_encode_rtp() to build the RTP header. Note that this WILL NOT build + * the complete RTP packet, but instead only the header. Application can + * then either concatenate the header with the payload, or send the two + * fragments (the header and the payload) using scatter-gather transport API + * (e.g. \a sendv()). + * + * When application receives an RTP packet, first it should call + * #pjmedia_rtp_decode_rtp to decode RTP header and payload, then it should call + * #pjmedia_rtp_session_update to check whether we can process the RTP payload, + * and to let the RTP session updates its internal status. The decode function + * is guaranteed to point the payload to the correct position regardless of + * any options present in the RTP packet. + * + */ + +#ifdef _MSC_VER +# pragma warning(disable:4214) // bit field types other than int +#endif + + +/** + * RTP packet header. Note that all RTP functions here will work with this + * header in network byte order. + */ +#pragma pack(1) +struct pjmedia_rtp_hdr +{ +#if defined(PJ_IS_BIG_ENDIAN) && (PJ_IS_BIG_ENDIAN!=0) + pj_uint16_t v:2; /**< packet type/version */ + pj_uint16_t p:1; /**< padding flag */ + pj_uint16_t x:1; /**< extension flag */ + pj_uint16_t cc:4; /**< CSRC count */ + pj_uint16_t m:1; /**< marker bit */ + pj_uint16_t pt:7; /**< payload type */ +#else + pj_uint16_t cc:4; /**< CSRC count */ + pj_uint16_t x:1; /**< header extension flag */ + pj_uint16_t p:1; /**< padding flag */ + pj_uint16_t v:2; /**< packet type/version */ + pj_uint16_t pt:7; /**< payload type */ + pj_uint16_t m:1; /**< marker bit */ +#endif + pj_uint16_t seq; /**< sequence number */ + pj_uint32_t ts; /**< timestamp */ + pj_uint32_t ssrc; /**< synchronization source */ +}; +#pragma pack() + +/** + * @see pjmedia_rtp_hdr + */ +typedef struct pjmedia_rtp_hdr pjmedia_rtp_hdr; + + +/** + * RTP extendsion header. + */ +struct pjmedia_rtp_ext_hdr +{ + pj_uint16_t profile_data; /**< Profile data. */ + pj_uint16_t length; /**< Length. */ +}; + +/** + * @see pjmedia_rtp_ext_hdr + */ +typedef struct pjmedia_rtp_ext_hdr pjmedia_rtp_ext_hdr; + + +#pragma pack(1) + +/** + * Declaration for DTMF telephony-events (RFC2833). + */ +struct pjmedia_rtp_dtmf_event +{ + pj_uint8_t event; /**< Event type ID. */ + pj_uint8_t e_vol; /**< Event volume. */ + pj_uint16_t duration; /**< Event duration. */ +}; + +/** + * @see pjmedia_rtp_dtmf_event + */ +typedef struct pjmedia_rtp_dtmf_event pjmedia_rtp_dtmf_event; + +#pragma pack() + + +/** + * A generic sequence number management, used by both RTP and RTCP. + */ +struct pjmedia_rtp_seq_session +{ + pj_uint16_t max_seq; /**< Highest sequence number heard */ + pj_uint32_t cycles; /**< Shifted count of seq number cycles */ + pj_uint32_t base_seq; /**< Base seq number */ + pj_uint32_t bad_seq; /**< Last 'bad' seq number + 1 */ + pj_uint32_t probation; /**< Sequ. packets till source is valid */ +}; + +/** + * @see pjmedia_rtp_seq_session + */ +typedef struct pjmedia_rtp_seq_session pjmedia_rtp_seq_session; + + +/** + * RTP session descriptor. + */ +struct pjmedia_rtp_session +{ + pjmedia_rtp_hdr out_hdr; /**< Saved hdr for outgoing pkts. */ + pjmedia_rtp_seq_session seq_ctrl; /**< Sequence number management. */ + pj_uint16_t out_pt; /**< Default outgoing payload type. */ + pj_uint32_t out_extseq; /**< Outgoing extended seq #. */ + pj_uint32_t peer_ssrc; /**< Peer SSRC. */ + pj_uint32_t received; /**< Number of received packets. */ +}; + +/** + * @see pjmedia_rtp_session + */ +typedef struct pjmedia_rtp_session pjmedia_rtp_session; + + +/** + * This structure is used to receive additional information about the + * state of incoming RTP packet. + */ +struct pjmedia_rtp_status +{ + union { + struct flag { + int bad:1; /**< General flag to indicate that sequence is + bad, and application should not process + this packet. More information will be given + in other flags. */ + int badpt:1; /**< Bad payload type. */ + int badssrc:1; /**< Bad SSRC */ + int dup:1; /**< Indicates duplicate packet */ + int outorder:1; /**< Indicates out of order packet */ + int probation:1;/**< Indicates that session is in probation + until more packets are received. */ + int restart:1; /**< Indicates that sequence number has made + a large jump, and internal base sequence + number has been adjusted. */ + } flag; /**< Status flags. */ + + pj_uint16_t value; /**< Status value, to conveniently address all + flags. */ + + } status; /**< Status information union. */ + + pj_uint16_t diff; /**< Sequence number difference from previous + packet. Normally the value should be 1. + Value greater than one may indicate packet + loss. If packet with lower sequence is + received, the value will be set to zero. + If base sequence has been restarted, the + value will be one. */ +}; + + +/** + * RTP session settings. + */ +typedef struct pjmedia_rtp_session_setting +{ + pj_uint8_t flags; /**< Bitmask flags to specify whether such + field is set. Bitmask contents are: + (bit #0 is LSB) + bit #0: default payload type + bit #1: sender SSRC + bit #2: sequence + bit #3: timestamp */ + int default_pt; /**< Default payload type. */ + pj_uint32_t sender_ssrc; /**< Sender SSRC. */ + pj_uint16_t seq; /**< Sequence. */ + pj_uint32_t ts; /**< Timestamp. */ +} pjmedia_rtp_session_setting; + + +/** + * @see pjmedia_rtp_status + */ +typedef struct pjmedia_rtp_status pjmedia_rtp_status; + + +/** + * This function will initialize the RTP session according to given parameters. + * + * @param ses The session. + * @param default_pt Default payload type. + * @param sender_ssrc SSRC used for outgoing packets, in host byte order. + * + * @return PJ_SUCCESS if successfull. + */ +PJ_DECL(pj_status_t) pjmedia_rtp_session_init( pjmedia_rtp_session *ses, + int default_pt, + pj_uint32_t sender_ssrc ); + +/** + * This function will initialize the RTP session according to given parameters + * defined in RTP session settings. + * + * @param ses The session. + * @param settings RTP session settings. + * + * @return PJ_SUCCESS if successfull. + */ +PJ_DECL(pj_status_t) pjmedia_rtp_session_init2( + pjmedia_rtp_session *ses, + pjmedia_rtp_session_setting settings); + + +/** + * Create the RTP header based on arguments and current state of the RTP + * session. + * + * @param ses The session. + * @param pt Payload type. + * @param m Marker flag. + * @param payload_len Payload length in bytes. + * @param ts_len Timestamp length. + * @param rtphdr Upon return will point to RTP packet header. + * @param hdrlen Upon return will indicate the size of RTP packet header + * + * @return PJ_SUCCESS if successfull. + */ +PJ_DECL(pj_status_t) pjmedia_rtp_encode_rtp( pjmedia_rtp_session *ses, + int pt, int m, + int payload_len, int ts_len, + const void **rtphdr, + int *hdrlen ); + +/** + * This function decodes incoming packet into RTP header and payload. + * The decode function is guaranteed to point the payload to the correct + * position regardless of any options present in the RTP packet. + * + * Note that this function does not modify the returned RTP header to + * host byte order. + * + * @param ses The session. + * @param pkt The received RTP packet. + * @param pkt_len The length of the packet. + * @param hdr Upon return will point to the location of the RTP + * header inside the packet. Note that the RTP header + * will be given back as is, meaning that the fields + * will be in network byte order. + * @param payload Upon return will point to the location of the + * payload inside the packet. + * @param payloadlen Upon return will indicate the size of the payload. + * + * @return PJ_SUCCESS if successfull. + */ +PJ_DECL(pj_status_t) pjmedia_rtp_decode_rtp( pjmedia_rtp_session *ses, + const void *pkt, int pkt_len, + const pjmedia_rtp_hdr **hdr, + const void **payload, + unsigned *payloadlen); + +/** + * Call this function everytime an RTP packet is received to check whether + * the packet can be received and to let the RTP session performs its internal + * calculations. + * + * @param ses The session. + * @param hdr The RTP header of the incoming packet. The header must + * be given with fields in network byte order. + * @param seq_st Optional structure to receive the status of the RTP packet + * processing. + */ +PJ_DECL(void) pjmedia_rtp_session_update( pjmedia_rtp_session *ses, + const pjmedia_rtp_hdr *hdr, + pjmedia_rtp_status *seq_st); + + +/** + * Call this function everytime an RTP packet is received to check whether + * the packet can be received and to let the RTP session performs its internal + * calculations. + * + * @param ses The session. + * @param hdr The RTP header of the incoming packet. The header must + * be given with fields in network byte order. + * @param seq_st Optional structure to receive the status of the RTP packet + * processing. + * @param check_pt Flag to indicate whether payload type needs to be validate. + * + * @see pjmedia_rtp_session_update() + */ +PJ_DECL(void) pjmedia_rtp_session_update2(pjmedia_rtp_session *ses, + const pjmedia_rtp_hdr *hdr, + pjmedia_rtp_status *seq_st, + pj_bool_t check_pt); + + +/* + * INTERNAL: + */ + +/** + * Internal function for creating sequence number control, shared by RTCP + * implementation. + * + * @param seq_ctrl The sequence control instance. + * @param seq Sequence number to initialize. + */ +void pjmedia_rtp_seq_init(pjmedia_rtp_seq_session *seq_ctrl, + pj_uint16_t seq); + + +/** + * Internal function update sequence control, shared by RTCP implementation. + * + * @param seq_ctrl The sequence control instance. + * @param seq Sequence number to update. + * @param seq_status Optional structure to receive additional information + * about the packet. + */ +void pjmedia_rtp_seq_update( pjmedia_rtp_seq_session *seq_ctrl, + pj_uint16_t seq, + pjmedia_rtp_status *seq_status); + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJMEDIA_RTP_H__ */ diff --git a/pjmedia/include/pjmedia/sdp.h b/pjmedia/include/pjmedia/sdp.h new file mode 100644 index 0000000..bababef --- /dev/null +++ b/pjmedia/include/pjmedia/sdp.h @@ -0,0 +1,753 @@ +/* $Id: sdp.h 4367 2013-02-21 20:49:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_SDP_H__ +#define __PJMEDIA_SDP_H__ + +/** + * @file sdp.h + * @brief SDP header file. + */ +#include +#include + +/** + * @defgroup PJMEDIA_SDP SDP Parsing and Data Structure + * @ingroup PJMEDIA_SESSION + * @brief SDP data structure representation and parsing + * @{ + * + * The basic SDP session descriptor and elements are described in header + * file . This file contains declaration for + * SDP session descriptor and SDP media descriptor, along with their + * attributes. This file also declares functions to parse SDP message. + */ + + +PJ_BEGIN_DECL + +/** + * The PJMEDIA_MAX_SDP_FMT macro defines maximum format in a media line. + */ +#ifndef PJMEDIA_MAX_SDP_FMT +# define PJMEDIA_MAX_SDP_FMT 32 +#endif + +/** + * The PJMEDIA_MAX_SDP_BANDW macro defines maximum bandwidth information + * lines in a media line. + */ +#ifndef PJMEDIA_MAX_SDP_BANDW +# define PJMEDIA_MAX_SDP_BANDW 4 +#endif + +/** + * The PJMEDIA_MAX_SDP_ATTR macro defines maximum SDP attributes in media and + * session descriptor. + */ +#ifndef PJMEDIA_MAX_SDP_ATTR +# define PJMEDIA_MAX_SDP_ATTR (PJMEDIA_MAX_SDP_FMT*2 + 4) +#endif + +/** + * The PJMEDIA_MAX_SDP_MEDIA macro defines maximum SDP media lines in a + * SDP session descriptor. + */ +#ifndef PJMEDIA_MAX_SDP_MEDIA +# define PJMEDIA_MAX_SDP_MEDIA 16 +#endif + + +/* ************************************************************************** + * SDP ATTRIBUTES + *************************************************************************** + */ + +/** + * Generic representation of attribute. + */ +struct pjmedia_sdp_attr +{ + pj_str_t name; /**< Attribute name. */ + pj_str_t value; /**< Attribute value. */ +}; + +/** + * @see pjmedia_sdp_attr + */ +typedef struct pjmedia_sdp_attr pjmedia_sdp_attr; + + +/** + * Create SDP attribute. + * + * @param pool Pool to create the attribute. + * @param name Attribute name. + * @param value Optional attribute value. + * + * @return The new SDP attribute. + */ +PJ_DECL(pjmedia_sdp_attr*) pjmedia_sdp_attr_create(pj_pool_t *pool, + const char *name, + const pj_str_t *value); + +/** + * Clone attribute + * + * @param pool Pool to be used. + * @param attr The attribute to clone. + * + * @return New attribute as cloned from the attribute. + */ +PJ_DECL(pjmedia_sdp_attr*) pjmedia_sdp_attr_clone(pj_pool_t *pool, + const pjmedia_sdp_attr*attr); + +/** + * Find the first attribute with the specified type. + * + * @param count Number of attributes in the array. + * @param attr_array Array of attributes. + * @param name Attribute name to find. + * @param fmt Optional string to indicate which payload format + * to find for \a rtpmap and \a fmt attributes. For other + * types of attributes, the value should be NULL. + * + * @return The specified attribute, or NULL if it can't be found. + * + * @see pjmedia_sdp_attr_find2, pjmedia_sdp_media_find_attr, + * pjmedia_sdp_media_find_attr2 + */ +PJ_DECL(pjmedia_sdp_attr*) +pjmedia_sdp_attr_find(unsigned count, + pjmedia_sdp_attr *const attr_array[], + const pj_str_t *name, const pj_str_t *fmt); + +/** + * Find the first attribute with the specified type. + * + * @param count Number of attributes in the array. + * @param attr_array Array of attributes. + * @param name Attribute name to find. + * @param fmt Optional string to indicate which payload format + * to find for \a rtpmap and \a fmt attributes. For other + * types of attributes, the value should be NULL. + * + * @return The specified attribute, or NULL if it can't be found. + * + * @see pjmedia_sdp_attr_find, pjmedia_sdp_media_find_attr, + * pjmedia_sdp_media_find_attr2 + */ +PJ_DECL(pjmedia_sdp_attr*) +pjmedia_sdp_attr_find2(unsigned count, + pjmedia_sdp_attr *const attr_array[], + const char *name, const pj_str_t *fmt); + +/** + * Add a new attribute to array of attributes. + * + * @param count Number of attributes in the array. + * @param attr_array Array of attributes. + * @param attr The attribute to add. + * + * @return PJ_SUCCESS or the error code. + * + * @see pjmedia_sdp_media_add_attr + */ +PJ_DECL(pj_status_t) pjmedia_sdp_attr_add(unsigned *count, + pjmedia_sdp_attr *attr_array[], + pjmedia_sdp_attr *attr); + +/** + * Remove all attributes with the specified name in array of attributes. + * + * @param count Number of attributes in the array. + * @param attr_array Array of attributes. + * @param name Attribute name to find. + * + * @return Number of attributes removed. + * + * @see pjmedia_sdp_media_remove_all_attr + */ +PJ_DECL(unsigned) pjmedia_sdp_attr_remove_all(unsigned *count, + pjmedia_sdp_attr *attr_array[], + const char *name); + + +/** + * Remove the specified attribute from the attribute array. + * + * @param count Number of attributes in the array. + * @param attr_array Array of attributes. + * @param attr The attribute instance to remove. + * + * @return PJ_SUCCESS when attribute has been removed, or + * PJ_ENOTFOUND when the attribute can not be found. + * + * @see pjmedia_sdp_media_remove_attr + */ +PJ_DECL(pj_status_t) pjmedia_sdp_attr_remove(unsigned *count, + pjmedia_sdp_attr *attr_array[], + pjmedia_sdp_attr *attr); + + +/** + * This structure declares SDP \a rtpmap attribute. + */ +struct pjmedia_sdp_rtpmap +{ + pj_str_t pt; /**< Payload type. */ + pj_str_t enc_name; /**< Encoding name. */ + unsigned clock_rate; /**< Clock rate. */ + pj_str_t param; /**< Parameter. */ +}; + +/** + * @see pjmedia_sdp_rtpmap + */ +typedef struct pjmedia_sdp_rtpmap pjmedia_sdp_rtpmap; + + +/** + * Convert generic attribute to SDP \a rtpmap. This function allocates + * a new attribute and call #pjmedia_sdp_attr_get_rtpmap(). + * + * @param pool Pool used to create the rtpmap attribute. + * @param attr Generic attribute to be converted to rtpmap, which + * name must be "rtpmap". + * @param p_rtpmap Pointer to receive SDP rtpmap attribute. + * + * @return PJ_SUCCESS if the attribute can be successfully + * converted to \a rtpmap type. + * + * @see pjmedia_sdp_attr_get_rtpmap + */ +PJ_DECL(pj_status_t) pjmedia_sdp_attr_to_rtpmap(pj_pool_t *pool, + const pjmedia_sdp_attr *attr, + pjmedia_sdp_rtpmap **p_rtpmap); + + +/** + * Get the rtpmap representation of the same SDP attribute. + * + * @param attr Generic attribute to be converted to rtpmap, which + * name must be "rtpmap". + * @param rtpmap SDP \a rtpmap attribute to be initialized. + * + * @return PJ_SUCCESS if the attribute can be successfully + * converted to \a rtpmap attribute. + * + * @see pjmedia_sdp_attr_to_rtpmap + */ +PJ_DECL(pj_status_t) pjmedia_sdp_attr_get_rtpmap(const pjmedia_sdp_attr *attr, + pjmedia_sdp_rtpmap *rtpmap); + + +/** + * Convert \a rtpmap attribute to generic attribute. + * + * @param pool Pool to be used. + * @param rtpmap The \a rtpmap attribute. + * @param p_attr Pointer to receive the generic SDP attribute. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_rtpmap_to_attr( pj_pool_t *pool, + const pjmedia_sdp_rtpmap *rtpmap, + pjmedia_sdp_attr **p_attr); + + +/** + * This structure describes SDP \a fmtp attribute. + */ +typedef struct pjmedia_sdp_fmtp +{ + pj_str_t fmt; /**< Format type. */ + pj_str_t fmt_param; /**< Format specific parameter. */ +} pjmedia_sdp_fmtp; + + +/** + * Get the fmtp representation of the same SDP attribute. + * + * @param attr Generic attribute to be converted to fmtp, which + * name must be "fmtp". + * @param fmtp SDP fmtp attribute to be initialized. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_attr_get_fmtp(const pjmedia_sdp_attr *attr, + pjmedia_sdp_fmtp *fmtp); + + +/** + * This structure describes SDP \a rtcp attribute. + */ +typedef struct pjmedia_sdp_rtcp_attr +{ + unsigned port; /**< RTCP port number. */ + pj_str_t net_type; /**< Optional network type. */ + pj_str_t addr_type; /**< Optional address type. */ + pj_str_t addr; /**< Optional address. */ +} pjmedia_sdp_rtcp_attr; + + +/** + * Parse a generic SDP attribute to get SDP rtcp attribute values. + * + * @param attr Generic attribute to be converted to rtcp, which + * name must be "rtcp". + * @param rtcp SDP rtcp attribute to be initialized. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_attr_get_rtcp(const pjmedia_sdp_attr *attr, + pjmedia_sdp_rtcp_attr *rtcp); + + +/** + * Create a=rtcp attribute. + * + * @param pool Pool to create the attribute. + * @param a Socket address. + * + * @return SDP RTCP attribute. + */ +PJ_DECL(pjmedia_sdp_attr*) pjmedia_sdp_attr_create_rtcp(pj_pool_t *pool, + const pj_sockaddr *a); + + +/* ************************************************************************** + * SDP CONNECTION INFO + **************************************************************************** + */ + +/** + * This structure describes SDP connection info ("c=" line). + */ +struct pjmedia_sdp_conn +{ + pj_str_t net_type; /**< Network type ("IN"). */ + pj_str_t addr_type; /**< Address type ("IP4", "IP6"). */ + pj_str_t addr; /**< The address. */ +}; + + +/** + * @see pjmedia_sdp_conn + */ +typedef struct pjmedia_sdp_conn pjmedia_sdp_conn; + + +/** + * Clone connection info. + * + * @param pool Pool to allocate memory for the new connection info. + * @param rhs The connection into to clone. + * + * @return The new connection info. + */ +PJ_DECL(pjmedia_sdp_conn*) pjmedia_sdp_conn_clone(pj_pool_t *pool, + const pjmedia_sdp_conn *rhs); + + +/** + * Compare connection info. + * + * @param conn1 The first connection info to compare. + * @param conn1 The second connection info to compare. + * @param option Comparison option, which should be zero for now. + * + * @return PJ_SUCCESS when both connection info are equal, otherwise + * returns PJMEDIA_SDP_ECONNNOTEQUAL. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_conn_cmp(const pjmedia_sdp_conn *conn1, + const pjmedia_sdp_conn *conn2, + unsigned option); + + +/* ************************************************************************** + * SDP BANDWIDTH INFO + **************************************************************************** + */ + +/** + * This structure describes SDP bandwidth info ("b=" line). + */ +typedef struct pjmedia_sdp_bandw +{ + pj_str_t modifier; /**< Bandwidth modifier. */ + pj_uint32_t value; /**< Bandwidth value. */ +} pjmedia_sdp_bandw; + + +/** + * Clone bandwidth info. + * + * @param pool Pool to allocate memory for the new bandwidth info. + * @param rhs The bandwidth into to clone. + * + * @return The new bandwidth info. + */ +PJ_DECL(pjmedia_sdp_bandw*) +pjmedia_sdp_bandw_clone(pj_pool_t *pool, const pjmedia_sdp_bandw *rhs); + + + +/* ************************************************************************** + * SDP MEDIA INFO/LINE + **************************************************************************** + */ + +/** + * This structure describes SDP media descriptor. A SDP media descriptor + * starts with "m=" line and contains the media attributes and optional + * connection line. + */ +struct pjmedia_sdp_media +{ + /** Media descriptor line ("m=" line) */ + struct + { + pj_str_t media; /**< Media type ("audio", "video") */ + pj_uint16_t port; /**< Port number. */ + unsigned port_count; /**< Port count, used only when >2 */ + pj_str_t transport; /**< Transport ("RTP/AVP") */ + unsigned fmt_count; /**< Number of formats. */ + pj_str_t fmt[PJMEDIA_MAX_SDP_FMT]; /**< Media formats. */ + } desc; + + pjmedia_sdp_conn *conn; /**< Optional connection info. */ + unsigned bandw_count; /**< Number of bandwidth info. */ + pjmedia_sdp_bandw *bandw[PJMEDIA_MAX_SDP_BANDW]; /**< Bandwidth info. */ + unsigned attr_count; /**< Number of attributes. */ + pjmedia_sdp_attr *attr[PJMEDIA_MAX_SDP_ATTR]; /**< Attributes. */ + +}; + + +/** + * @see pjmedia_sdp_media + */ +typedef struct pjmedia_sdp_media pjmedia_sdp_media; + + +/** + * Clone SDP media description. + * + * @param pool Pool to allocate memory for the new media description. + * @param rhs The media descriptin to clone. + * + * @return New media description. + */ +PJ_DECL(pjmedia_sdp_media*) +pjmedia_sdp_media_clone( pj_pool_t *pool, + const pjmedia_sdp_media *rhs); + +/** + * Find the first occurence of the specified attribute name in the media + * descriptor. Optionally the format may be specified. + * + * @param m The SDP media description. + * @param name Attribute name to find. + * @param fmt Optional payload type to match in the + * attribute list, when the attribute is \a rtpmap + * or \a fmtp. For other types of SDP attributes, this + * value should be NULL. + * + * @return The first instance of the specified attribute or NULL. + */ +PJ_DECL(pjmedia_sdp_attr*) +pjmedia_sdp_media_find_attr(const pjmedia_sdp_media *m, + const pj_str_t *name, const pj_str_t *fmt); + + +/** + * Find the first occurence of the specified attribute name in the SDP media + * descriptor. Optionally the format may be specified. + * + * @param m The SDP media description. + * @param name Attribute name to find. + * @param fmt Optional payload type to match in the + * attribute list, when the attribute is \a rtpmap + * or \a fmtp. For other types of SDP attributes, this + * value should be NULL. + * + * @return The first instance of the specified attribute or NULL. + */ +PJ_DECL(pjmedia_sdp_attr*) +pjmedia_sdp_media_find_attr2(const pjmedia_sdp_media *m, + const char *name, const pj_str_t *fmt); + +/** + * Add new attribute to the media descriptor. + * + * @param m The SDP media description. + * @param attr Attribute to add. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_media_add_attr(pjmedia_sdp_media *m, + pjmedia_sdp_attr *attr); + +/** + * Remove all attributes with the specified name from the SDP media + * descriptor. + * + * @param m The SDP media description. + * @param name Attribute name to remove. + * + * @return The number of attributes removed. + */ +PJ_DECL(unsigned) +pjmedia_sdp_media_remove_all_attr(pjmedia_sdp_media *m, + const char *name); + + +/** + * Remove the occurence of the specified attribute from the SDP media + * descriptor. + * + * @param m The SDP media descriptor. + * @param attr The attribute to find and remove. + * + * @return PJ_SUCCESS if the attribute can be found and has + * been removed from the array. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_media_remove_attr(pjmedia_sdp_media *m, + pjmedia_sdp_attr *attr); + + +/** + * Compare two SDP media for equality. + * + * @param sd1 The first SDP media to compare. + * @param sd2 The second SDP media to compare. + * @param option Comparison option, which should be zero for now. + * + * @return PJ_SUCCESS when both SDP medias are equal, or the + * appropriate status code describing which part of + * the descriptors that are not equal. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_media_cmp(const pjmedia_sdp_media *sd1, + const pjmedia_sdp_media *sd2, + unsigned option); + + +/** + * Compare two media transports for compatibility. + * + * @param t1 The first media transport to compare. + * @param t2 The second media transport to compare. + * + * @return PJ_SUCCESS when both media transports are compatible, + * otherwise returns PJMEDIA_SDP_ETPORTNOTEQUAL. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_transport_cmp(const pj_str_t *t1, + const pj_str_t *t2); + + +/** + * Deactivate SDP media. + * + * @param pool Memory pool to allocate memory from. + * @param m The SDP media to deactivate. + * + * @return PJ_SUCCESS when SDP media successfully deactivated, + * otherwise appropriate status code returned. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_media_deactivate(pj_pool_t *pool, + pjmedia_sdp_media *m); + + +/** + * Clone SDP media description and deactivate the new SDP media. + * + * @param pool Memory pool to allocate memory for the clone. + * @param rhs The SDP media to clone. + * + * @return New media descrption with deactivated indication. + */ +PJ_DECL(pjmedia_sdp_media*) pjmedia_sdp_media_clone_deactivate( + pj_pool_t *pool, + const pjmedia_sdp_media *rhs); + + +/* ************************************************************************** + * SDP SESSION DESCRIPTION + **************************************************************************** + */ + + +/** + * This structure describes SDP session description. A SDP session descriptor + * contains complete information about a session, and normally is exchanged + * with remote media peer using signaling protocol such as SIP. + */ +struct pjmedia_sdp_session +{ + /** Session origin (o= line) */ + struct + { + pj_str_t user; /**< User */ + pj_uint32_t id; /**< Session ID */ + pj_uint32_t version; /**< Session version */ + pj_str_t net_type; /**< Network type ("IN") */ + pj_str_t addr_type; /**< Address type ("IP4", "IP6") */ + pj_str_t addr; /**< The address. */ + } origin; + + pj_str_t name; /**< Subject line (s=) */ + pjmedia_sdp_conn *conn; /**< Connection line (c=) */ + unsigned bandw_count; /**< Number of bandwidth info (b=) */ + pjmedia_sdp_bandw *bandw[PJMEDIA_MAX_SDP_BANDW]; + /**< Bandwidth info array (b=) */ + + /** Session time (t= line) */ + struct + { + pj_uint32_t start; /**< Start time. */ + pj_uint32_t stop; /**< Stop time. */ + } time; + + unsigned attr_count; /**< Number of attributes. */ + pjmedia_sdp_attr *attr[PJMEDIA_MAX_SDP_ATTR]; /**< Attributes array. */ + + unsigned media_count; /**< Number of media. */ + pjmedia_sdp_media *media[PJMEDIA_MAX_SDP_MEDIA]; /**< Media array. */ + +}; + +/** + * @see pjmedia_sdp_session + */ +typedef struct pjmedia_sdp_session pjmedia_sdp_session; + + + +/** + * Parse SDP message. + * + * @param pool The pool to allocate SDP session description. + * @param buf The message buffer. + * @param len The length of the message. + * @param p_sdp Pointer to receive the SDP session descriptor. + * + * @return PJ_SUCCESS if message was successfully parsed into + * SDP session descriptor. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_parse( pj_pool_t *pool, + char *buf, pj_size_t len, + pjmedia_sdp_session **p_sdp ); + +/** + * Print SDP description to a buffer. + * + * @param sdp The SDP session description. + * @param buf The buffer. + * @param size The buffer length. + * + * @return the length printed, or -1 if the buffer is too + * short. + */ +PJ_DECL(int) pjmedia_sdp_print( const pjmedia_sdp_session *sdp, + char *buf, pj_size_t size); + + +/** + * Perform semantic validation for the specified SDP session descriptor. + * This function perform validation beyond just syntactic verification, + * such as to verify the value of network type and address type, check + * the connection line, and verify that \a rtpmap attribute is present + * when dynamic payload type is used. + * + * @param sdp The SDP session descriptor to validate. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_validate(const pjmedia_sdp_session *sdp); + + +/** + * Perform semantic validation for the specified SDP session descriptor. + * This function perform validation beyond just syntactic verification, + * such as to verify the value of network type and address type, check + * the connection line, and verify that \a rtpmap attribute is present + * when dynamic payload type is used. + * + * @param sdp The SDP session descriptor to validate. + * @param strict Flag whether the check should be strict, i.e: allow + * media without connection line when port is zero. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_validate2(const pjmedia_sdp_session *sdp, + pj_bool_t strict); + + +/** + * Clone SDP session descriptor. + * + * @param pool The pool used to clone the session. + * @param sdp The SDP session to clone. + * + * @return New SDP session. + */ +PJ_DECL(pjmedia_sdp_session*) +pjmedia_sdp_session_clone( pj_pool_t *pool, + const pjmedia_sdp_session *sdp); + + +/** + * Compare two SDP session for equality. + * + * @param sd1 The first SDP session to compare. + * @param sd2 The second SDP session to compare. + * @param option Must be zero for now. + * + * @return PJ_SUCCESS when both SDPs are equal, or otherwise + * the status code indicates which part of the session + * descriptors are not equal. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_session_cmp(const pjmedia_sdp_session *sd1, + const pjmedia_sdp_session *sd2, + unsigned option); + + +/** + * Add new attribute to the session descriptor. + * + * @param s The SDP session description. + * @param attr Attribute to add. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_session_add_attr(pjmedia_sdp_session *s, + pjmedia_sdp_attr *attr); + + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJMEDIA_SDP_H__ */ + diff --git a/pjmedia/include/pjmedia/sdp_neg.h b/pjmedia/include/pjmedia/sdp_neg.h new file mode 100644 index 0000000..eb46bb3 --- /dev/null +++ b/pjmedia/include/pjmedia/sdp_neg.h @@ -0,0 +1,823 @@ +/* $Id: sdp_neg.h 5114 2015-06-22 07:33:46Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_SDP_NEG_H__ +#define __PJMEDIA_SDP_NEG_H__ + + +/** + * @file sdp_neg.h + * @brief SDP negotiator header file. + */ +/** + * @defgroup PJMEDIA_SDP_NEG SDP Negotiation State Machine (Offer/Answer Model, RFC 3264) + * @ingroup PJMEDIA_SESSION + * @brief SDP Negotiation State Machine (Offer/Answer Model, RFC 3264) + * @{ + * + * The header file contains the declaration + * of SDP offer and answer negotiator. SDP offer and answer model is described + * in RFC 3264 "An Offer/Answer Model with Session Description Protocol + * (SDP)". + * + * The SDP negotiator is represented with opaque type \a pjmedia_sdp_neg. + * This structure contains negotiation state and several SDP session + * descriptors currently being used in the negotiation. + * + * + * \section sdpneg_state_dia SDP Negotiator State Diagram + * + * The following diagram describes the state transition diagram of the + * SDP negotiator. + * + *
+ *                                              
+ *                                              modify_local_offer()
+ *     create_w_local_offer()  +-------------+  send_local_offer()
+ *     ----------------------->| LOCAL_OFFER |<-----------------------
+ *    |                        +-------------+______                  |
+ *    |                               |             \_____________    |
+ *    |           set_remote_answer() |           cancel_offer()  \   |
+ *    |                               V                            v  |
+ * +--+---+                     +-----------+     negotiate()     +-~----+
+ * | NULL |                     | WAIT_NEGO |-------------------->| DONE |
+ * +------+                     +-----------+                     +------+
+ *    |                               A      ______________________^  |
+ *    |            set_local_answer() |     /     cancel_offer()      |
+ *    |                               |    /                          |
+ *    |                        +--------------+   set_remote_offer()  |
+ *     ----------------------->| REMOTE_OFFER |<----------------------
+ *     create_w_remote_offer() +--------------+
+ *
+ * 
+ * + * + * + * \section sdpneg_offer_answer SDP Offer/Answer Model with Negotiator + * + * \subsection sdpneg_create_offer Creating Initial Offer + * + * Application creates an offer by manualy building the SDP session descriptor + * (pjmedia_sdp_session), or request PJMEDIA endpoint (pjmedia_endpt) to + * create SDP session descriptor based on capabilities that present in the + * endpoint by calling #pjmedia_endpt_create_sdp(). + * + * Application then creates SDP negotiator instance by calling + * #pjmedia_sdp_neg_create_w_local_offer(), passing the SDP offer in the + * function arguments. The SDP negotiator keeps a copy of current local offer, + * and update its state to PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER. + * + * Application can then send the initial SDP offer that it creates to + * remote peer using signaling protocol such as SIP. + * + * + * \subsection sdpneg_subseq_offer Generating Subsequent Offer + * + * The negotiator can only create subsequent offer after it has finished + * the negotiation process of previous offer/answer session (i.e. the + * negotiator state is PJMEDIA_SDP_NEG_STATE_DONE). + * + * If any previous negotiation process was successfull (i.e. the return + * value of #pjmedia_sdp_neg_negotiate() was PJ_SUCCESS), the negotiator + * keeps both active local and active remote SDP. + * + * If application does not want send modified offer, it can just send + * the active local SDP as the offer. In this case, application calls + * #pjmedia_sdp_neg_send_local_offer() to get the active local SDP. + * + * If application wants to modify it's local offer, it MUST inform + * the negotiator about the modified SDP by calling + * #pjmedia_sdp_neg_modify_local_offer(). + * + * In both cases, the negotiator will internally create a copy of the offer, + * and move it's state to PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER, where it + * waits until application passes the remote answer. + * + * + * \subsection sdpneg_receive_offer Receiving Initial Offer + * + * Application receives an offer in the incoming request from remote to + * establish multimedia session, such as incoming INVITE message with SDP + * body. + * + * Initially, when the initial offer is received, application creates the + * SDP negotiator by calling #pjmedia_sdp_neg_create_w_remote_offer(), + * specifying the remote SDP offer in one of the argument. + * + * At this stage, application may or may not ready to create an answer. + * For example, a SIP B2BUA needs to make outgoing call and receive SDP + * from the outgoing call leg in order to create a SDP answer to the + * incoming call leg. + * + * If application is not ready to create an answer, it passes NULL as + * the local SDP when it calls #pjmedia_sdp_neg_create_w_remote_offer(). + * + * The section @ref sdpneg_create_answer describes the case when + * application is ready to create a SDP answer. + * + * + * \subsection sdpneg_subseq_offer Receiving Subsequent Offer + * + * Application passes subsequent SDP offer received from remote by + * calling #pjmedia_sdp_neg_set_remote_offer(). + * + * The negotiator can only receive subsequent offer after it has finished + * the negotiation process of previous offer/answer session (i.e. the + * negotiator state is PJMEDIA_SDP_NEG_STATE_DONE). + * + * + * \subsection sdpneg_recv_answer Receiving SDP Answer + * + * When application receives SDP answer from remote, it informs the + * negotiator by calling #pjmedia_sdp_neg_set_remote_answer(). The + * negotiator validates the answer (#pjmedia_sdp_validate()), and if + * succeeds, it moves it's state to PJMEDIA_SDP_NEG_STATE_WAIT_NEGO. + * + * Application then instruct the negotiator to negotiate the remote + * answer by calling #pjmedia_sdp_neg_negotiate(). The purpose of + * this negotiation is to verify remote answer, and update the initial + * offer according to the answer. For example, the initial offer may + * specify that a stream is \a sendrecv, while the answer specifies + * that remote stream is \a inactive. In this case, the negotiator + * will update the stream in the local active media as \a inactive + * too. + * + * If #pjmedia_sdp_neg_negotiate() returns PJ_SUCCESS, the negotiator will + * keep the updated local answer and remote answer internally. These two + * SDPs are called active local SDP and active remote SDP, as it describes + * currently active session. + * + * Application can retrieve the active local SDP by calling + * #pjmedia_sdp_neg_get_active_local(), and active remote SDP by calling + * #pjmedia_sdp_neg_get_active_remote(). + * + * If #pjmedia_sdp_neg_negotiate() returns failure (i.e. not PJ_SUCCESS), + * it WILL NOT update its active local and active remote SDP. + * + * Regardless of the return status of the #pjmedia_sdp_neg_negotiate(), + * the negotiator state will move to PJMEDIA_SDP_NEG_STATE_DONE. + * + * + * \subsection sdpneg_cancel_offer Cancelling an Offer + * + * In other case, after an offer is generated (negotiator state is in + * PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER), the answer may not be received, and + * application wants the negotiator to reset itself to its previous state. + * Consider this example: + * + * - media has been established, and negotiator state is + * PJMEDIA_SDP_NEG_STATE_DONE. + * - application generates a new offer for re-INVITE, so in this case + * it would either call #pjmedia_sdp_neg_send_local_offer() or + * #pjmedia_sdp_neg_modify_local_offer() + * - the negotiator state moves to PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER + * - the re-INVITE was rejected with an error + * + * Since an answer is not received, it is necessary to reset the negotiator + * state back to PJMEDIA_SDP_NEG_STATE_DONE so that the negotiator can + * create or receive new offer. + * + * This can be accomplished by calling #pjmedia_sdp_neg_cancel_offer(), + * to reset the negotiator state back to PJMEDIA_SDP_NEG_STATE_DONE. In + * this case, both active local and active remote will not be modified. + * + * \subsection sdpneg_create_answer Generating SDP Answer + * + * After remote offer has been set in the negotiator, application can + * request the SDP negotiator to generate appropriate answer based on local + * capability. + * + * To do this, first the application MUST have an SDP describing its local + * capabilities. This SDP can be built manually, or application can generate + * SDP to describe local media endpoint capability by calling + * #pjmedia_endpt_create_sdp(). When the application is a SIP B2BUA, + * application can treat the SDP received from the outgoing call leg as if + * it was it's local capability. + * + * The local SDP session descriptor DOES NOT have to match the SDP offer. + * For example, it can have more or less media lines than the offer, or + * their order may be different than the offer. The negotiator is capable + * to match and reorder local SDP according to remote offer, and create + * an answer that is suitable for the offer. + * + * After local SDP capability has been acquired, application can create + * a SDP answer. + * + * If application does not already have the negotiator instance, it creates + * one by calling #pjmedia_sdp_neg_create_w_remote_offer(), specifying + * both remote SDP offer and local SDP as the arguments. The SDP negotiator + * validates both remote and local SDP by calling #pjmedia_sdp_validate(), + * and if both SDPs are valid, the negotiator state will move to + * PJMEDIA_SDP_NEG_STATE_WAIT_NEGO where it is ready to negotiate the + * offer and answer. + * + * If application already has the negotiator instance, it sets the local + * SDP in the negotiator by calling #pjmedia_sdp_neg_set_local_answer(). + * The SDP negotiator then validates local SDP (#pjmedia_sdp_validate() ), + * and if it is valid, the negotiator state will move to + * PJMEDIA_SDP_NEG_STATE_WAIT_NEGO where it is ready to negotiate the + * offer and answer. + * + * After the SDP negotiator state has moved to PJMEDIA_SDP_NEG_STATE_WAIT_NEGO, + * application calls #pjmedia_sdp_neg_negotiate() to instruct the SDP + * negotiator to negotiate both offer and answer. This function returns + * PJ_SUCCESS if an answer can be generated AND at least one media stream + * is active in the session. + * + * If #pjmedia_sdp_neg_negotiate() returns PJ_SUCCESS, the negotiator will + * keep the remote offer and local answer internally. These two SDPs are + * called active local SDP and active remote SDP, as it describes currently + * active session. + * + * Application can retrieve the active local SDP by calling + * #pjmedia_sdp_neg_get_active_local(), and send this SDP to remote as the + * SDP answer. + * + * If #pjmedia_sdp_neg_negotiate() returns failure (i.e. not PJ_SUCCESS), + * it WILL NOT update its active local and active remote SDP. + * + * Regardless of the return status of the #pjmedia_sdp_neg_negotiate(), + * the negotiator state will move to PJMEDIA_SDP_NEG_STATE_DONE. + * + * + */ + +#include + +PJ_BEGIN_DECL + +/** + * This enumeration describes SDP negotiation state. + */ +enum pjmedia_sdp_neg_state +{ + /** + * This is the state of SDP negoator before it is initialized. + */ + PJMEDIA_SDP_NEG_STATE_NULL, + + /** + * This state occurs when SDP negotiator has sent our offer to remote and + * it is waiting for answer. + */ + PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER, + + /** + * This state occurs when SDP negotiator has received offer from remote + * and currently waiting for local answer. + */ + PJMEDIA_SDP_NEG_STATE_REMOTE_OFFER, + + /** + * This state occurs when an offer (either local or remote) has been + * provided with answer. The SDP negotiator is ready to negotiate both + * session descriptors. Application can call #pjmedia_sdp_neg_negotiate() + * immediately to begin negotiation process. + */ + PJMEDIA_SDP_NEG_STATE_WAIT_NEGO, + + /** + * This state occurs when SDP negotiation has completed, either + * successfully or not. + */ + PJMEDIA_SDP_NEG_STATE_DONE +}; + + +/** + * @see pjmedia_sdp_neg_state + */ +typedef enum pjmedia_sdp_neg_state pjmedia_sdp_neg_state; + + +/** + * Opaque declaration of SDP negotiator. + */ +typedef struct pjmedia_sdp_neg pjmedia_sdp_neg; + + +/** + * Flags to be given to pjmedia_sdp_neg_modify_local_offer2(). + */ +typedef enum pjmedia_mod_offer_flag +{ + /** + * Allow media type in the SDP to be changed. + * When generating a new offer, in the case that a media line doesn't match + * the active SDP, the new media line will be considered to replace the + * existing media at the same position. + */ + PJMEDIA_SDP_NEG_ALLOW_MEDIA_CHANGE = 1 + +} pjmedia_mod_offer_flag; + + +/** + * Get the state string description of the specified state. + * + * @param state Negotiator state. + * + * @return String description of the state. + */ +PJ_DECL(const char*) pjmedia_sdp_neg_state_str(pjmedia_sdp_neg_state state); + + +/** + * Create the SDP negotiator with local offer. The SDP negotiator then + * will move to PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER state, where it waits + * until it receives answer from remote. When SDP answer from remote is + * received, application must call #pjmedia_sdp_neg_set_remote_answer(). + * + * After calling this function, application should send the local SDP offer + * to remote party using signaling protocol such as SIP and wait for SDP + * answer. + * + * @param pool Pool to allocate memory. The pool's lifetime needs + * to be valid for the duration of the negotiator. + * @param local The initial local capability. + * @param p_neg Pointer to receive the negotiator instance. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_create_w_local_offer( pj_pool_t *pool, + const pjmedia_sdp_session *local, + pjmedia_sdp_neg **p_neg); + +/** + * Initialize the SDP negotiator with remote offer, and optionally + * specify the initial local capability, if known. Application normally + * calls this function when it receives initial offer from remote. + * + * If local media capability is specified, this capability will be set as + * initial local capability of the negotiator, and after this function is + * called, the SDP negotiator state will move to state + * PJMEDIA_SDP_NEG_STATE_WAIT_NEGO, and the negotiation function can be + * called. + * + * If local SDP is not specified, the negotiator will not have initial local + * capability, and after this function is called the negotiator state will + * move to PJMEDIA_SDP_NEG_STATE_REMOTE_OFFER state. Application MUST supply + * local answer later with #pjmedia_sdp_neg_set_local_answer(), before + * calling the negotiation function. + * + * @param pool Pool to allocate memory. The pool's lifetime needs + * to be valid for the duration of the negotiator. + * @param initial Optional initial local capability. + * @param remote The remote offer. + * @param p_neg Pointer to receive the negotiator instance. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_create_w_remote_offer(pj_pool_t *pool, + const pjmedia_sdp_session *initial, + const pjmedia_sdp_session *remote, + pjmedia_sdp_neg **p_neg); + +/** + * This specifies the behavior of the SDP negotiator when responding to an + * offer, whether it should rather use the codec preference as set by + * remote, or should it rather use the codec preference as specified by + * local endpoint. + * + * For example, suppose incoming call has codec order "8 0 3", while + * local codec order is "3 0 8". If remote codec order is preferable, + * the selected codec will be 8, while if local codec order is preferable, + * the selected codec will be 3. + * + * By default, the value in PJMEDIA_SDP_NEG_PREFER_REMOTE_CODEC_ORDER will + * be used. + * + * @param neg The SDP negotiator instance. + * @param prefer_remote If non-zero, the negotiator will use the codec + * order as specified in remote offer. If zero, it + * will prefer to use the local codec order. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_set_prefer_remote_codec_order(pjmedia_sdp_neg *neg, + pj_bool_t prefer_remote); + +/** + * This specifies the behavior of the SDP negotiator when responding to an + * offer, whether it should answer with multiple formats or not. + * + * By default, the value in PJMEDIA_SDP_NEG_ANSWER_MULTIPLE_CODECS will + * be used. + * + * @param neg The SDP negotiator instance. + * @param answer_multiple + * If non-zero, the negotiator will respond with + * multiple formats. If zero only a single format + * will be returned. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_set_answer_multiple_codecs(pjmedia_sdp_neg *neg, + pj_bool_t answer_multiple); + + +/** + * Get SDP negotiator state. + * + * @param neg The SDP negotiator instance. + * + * @return The negotiator state. + */ +PJ_DECL(pjmedia_sdp_neg_state) +pjmedia_sdp_neg_get_state( pjmedia_sdp_neg *neg ); + +/** + * Get the currently active local SDP. Application can only call this + * function after negotiation has been done, or otherwise there won't be + * active SDPs. Calling this function will not change the state of the + * negotiator. + * + * @param neg The SDP negotiator instance. + * @param local Pointer to receive the local active SDP. + * + * @return PJ_SUCCESS if local active SDP is present. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_get_active_local( pjmedia_sdp_neg *neg, + const pjmedia_sdp_session **local); + +/** + * Get the currently active remote SDP. Application can only call this + * function after negotiation has been done, or otherwise there won't be + * active SDPs. Calling this function will not change the state of the + * negotiator. + * + * @param neg The SDP negotiator instance. + * @param remote Pointer to receive the remote active SDP. + * + * @return PJ_SUCCESS if remote active SDP is present. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_get_active_remote( pjmedia_sdp_neg *neg, + const pjmedia_sdp_session **remote); + + +/** + * Determine whether remote sent answer (as opposed to offer) on the + * last negotiation. This function can only be called in state + * PJMEDIA_SDP_NEG_STATE_DONE. + * + * @param neg The SDP negotiator instance. + * + * @return Non-zero if it was remote who sent answer, + * otherwise zero if it was local who supplied + * answer. + */ +PJ_DECL(pj_bool_t) +pjmedia_sdp_neg_was_answer_remote(pjmedia_sdp_neg *neg); + + +/** + * Get the current remote SDP offer or answer. Application can only + * call this function in state PJMEDIA_SDP_NEG_STATE_REMOTE_OFFER or + * PJMEDIA_SDP_NEG_STATE_WAIT_NEGO, or otherwise there won't be remote + * SDP offer/answer. Calling this function will not change the state + * of the negotiator. + * + * @param neg The SDP negotiator instance. + * @param remote Pointer to receive the current remote offer or + * answer. + * + * @return PJ_SUCCESS if the negotiator currently has + * remote offer or answer. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_get_neg_remote( pjmedia_sdp_neg *neg, + const pjmedia_sdp_session **remote); + + +/** + * Get the current local SDP offer or answer. Application can only + * call this function in state PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER or + * PJMEDIA_SDP_NEG_STATE_WAIT_NEGO, or otherwise there won't be local + * SDP offer/answer. Calling this function will not change the state + * of the negotiator. + * + * @param neg The SDP negotiator instance. + * @param local Pointer to receive the current local offer or + * answer. + * + * @return PJ_SUCCESS if the negotiator currently has + * local offer or answer. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_get_neg_local( pjmedia_sdp_neg *neg, + const pjmedia_sdp_session **local); + +/** + * Modify local session with a new SDP and treat this as a new offer. + * This function can only be called in state PJMEDIA_SDP_NEG_STATE_DONE. + * After calling this function, application can send the SDP as offer + * to remote party, using signaling protocol such as SIP. + * The negotiator state will move to PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER, + * where it waits for SDP answer from remote. See also + * #pjmedia_sdp_neg_modify_local_offer2() + * + * @param pool Pool to allocate memory. The pool's lifetime needs + * to be valid for the duration of the negotiator. + * @param neg The SDP negotiator instance. + * @param local The new local SDP. + * + * @return PJ_SUCCESS on success, or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_modify_local_offer( pj_pool_t *pool, + pjmedia_sdp_neg *neg, + const pjmedia_sdp_session *local); + +/** + * Modify local session with a new SDP and treat this as a new offer. + * This function can only be called in state PJMEDIA_SDP_NEG_STATE_DONE. + * After calling this function, application can send the SDP as offer + * to remote party, using signaling protocol such as SIP. + * The negotiator state will move to PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER, + * where it waits for SDP answer from remote. + * + * @param pool Pool to allocate memory. The pool's lifetime needs + * to be valid for the duration of the negotiator. + * @param neg The SDP negotiator instance. + * @param flags Bitmask from pjmedia_mod_offer_flag. + * @param local The new local SDP. + * + * @return PJ_SUCCESS on success, or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_modify_local_offer2( pj_pool_t *pool, + pjmedia_sdp_neg *neg, + unsigned flags, + const pjmedia_sdp_session *local); + +/** + * This function can only be called in PJMEDIA_SDP_NEG_STATE_DONE state. + * Application calls this function to retrieve currently active + * local SDP, and then send the SDP to remote as an offer. The negotiator + * state will then move to PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER, where it waits + * for SDP answer from remote. + * + * When SDP answer has been received from remote, application must call + * #pjmedia_sdp_neg_set_remote_answer(). + * + * @param pool Pool to allocate memory. The pool's lifetime needs + * to be valid for the duration of the negotiator. + * @param neg The SDP negotiator instance. + * @param offer Pointer to receive active local SDP to be + * offered to remote. + * + * @return PJ_SUCCESS if local offer can be created. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_send_local_offer( pj_pool_t *pool, + pjmedia_sdp_neg *neg, + const pjmedia_sdp_session **offer); + +/** + * This function can only be called in PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER + * state, i.e. after application calls #pjmedia_sdp_neg_send_local_offer() + * function. Application calls this function when it receives SDP answer + * from remote. After this function is called, the negotiator state will + * move to PJMEDIA_SDP_NEG_STATE_WAIT_NEGO, and application can call the + * negotiation function #pjmedia_sdp_neg_negotiate(). + * + * @param pool Pool to allocate memory. The pool's lifetime needs + * to be valid for the duration of the negotiator. + * @param neg The SDP negotiator instance. + * @param remote The remote answer. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_set_remote_answer( pj_pool_t *pool, + pjmedia_sdp_neg *neg, + const pjmedia_sdp_session *remote); + + + +/** + * This function can only be called in PJMEDIA_SDP_NEG_STATE_DONE state. + * Application calls this function when it receives SDP offer from remote. + * After this function is called, the negotiator state will move to + * PJMEDIA_SDP_NEG_STATE_REMOTE_OFFER, and application MUST call the + * #pjmedia_sdp_neg_set_local_answer() to set local answer before it can + * call the negotiation function. + * + * @param pool Pool to allocate memory. The pool's lifetime needs + * to be valid for the duration of the negotiator. + * @param neg The SDP negotiator instance. + * @param remote The remote offer. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_set_remote_offer( pj_pool_t *pool, + pjmedia_sdp_neg *neg, + const pjmedia_sdp_session *remote); + + + +/** + * This function can only be called in PJMEDIA_SDP_NEG_STATE_REMOTE_OFFER + * state, i.e. after application calls #pjmedia_sdp_neg_set_remote_offer() + * function. After this function is called, the negotiator state will + * move to PJMEDIA_SDP_NEG_STATE_WAIT_NEGO, and application can call the + * negotiation function #pjmedia_sdp_neg_negotiate(). + * + * @param pool Pool to allocate memory. The pool's lifetime needs + * to be valid for the duration of the negotiator. + * @param neg The SDP negotiator instance. + * @param local Optional local answer. If negotiator has initial + * local capability, application can specify NULL on + * this argument; in this case, the negotiator will + * create answer by by negotiating remote offer with + * initial local capability. If negotiator doesn't have + * initial local capability, application MUST specify + * local answer here. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_sdp_neg_set_local_answer( pj_pool_t *pool, + pjmedia_sdp_neg *neg, + const pjmedia_sdp_session *local); + + +/** + * Call this function when the negotiator is in PJMEDIA_SDP_NEG_STATE_WAIT_NEGO + * state to see if it was local who is answering the offer (instead of + * remote). + * + * @param neg The negotiator. + * + * @return PJ_TRUE if it is local is answering an offer, PJ_FALSE + * if remote has answered local offer. + */ +PJ_DECL(pj_bool_t) pjmedia_sdp_neg_has_local_answer(pjmedia_sdp_neg *neg); + + +/** + * Cancel any pending offer, whether the offer is initiated by local or + * remote, and move negotiator state back to previous stable state + * (PJMEDIA_SDP_NEG_STATE_DONE). The negotiator must be in + * PJMEDIA_SDP_NEG_STATE_LOCAL_OFFER or PJMEDIA_SDP_NEG_STATE_REMOTE_OFFER + * state. + * + * @param neg The negotiator. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_neg_cancel_offer(pjmedia_sdp_neg *neg); + + +/** + * Negotiate local and remote answer. Before calling this function, the + * SDP negotiator must be in PJMEDIA_SDP_NEG_STATE_WAIT_NEGO state. + * After calling this function, the negotiator state will move to + * PJMEDIA_SDP_NEG_STATE_DONE regardless whether the negotiation has + * been successfull or not. + * + * If the negotiation succeeds (i.e. the return value is PJ_SUCCESS), + * the active local and remote SDP will be replaced with the new SDP + * from the negotiation process. + * + * If the negotiation fails, the active local and remote SDP will not + * change. + * + * @param pool Pool to allocate memory. The pool's lifetime needs + * to be valid for the duration of the negotiator. + * @param neg The SDP negotiator instance. + * @param allow_asym Should be zero. + * + * @return PJ_SUCCESS when there is at least one media + * is actuve common in both offer and answer, or + * failure code when negotiation has failed. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_neg_negotiate( pj_pool_t *pool, + pjmedia_sdp_neg *neg, + pj_bool_t allow_asym); + + +/** + * Enumeration of customized SDP format matching option flags. See + * #pjmedia_sdp_neg_register_fmt_match_cb() for more info. + */ +typedef enum pjmedia_sdp_neg_fmt_match_flag +{ + /** + * In generating answer, the SDP fmtp in the answer candidate may need + * to be modified by the customized SDP format matching callback to + * achieve flexible SDP negotiation, e.g: AMR fmtp 'octet-align' field + * can be adjusted with the offer when the codec implementation support + * both packetization modes octet-aligned and bandwidth-efficient. + */ + PJMEDIA_SDP_NEG_FMT_MATCH_ALLOW_MODIFY_ANSWER = 1, + +} pjmedia_sdp_neg_fmt_match_flag; + + +/** + * The declaration of customized SDP format matching callback. See + * #pjmedia_sdp_neg_register_fmt_match_cb() for more info. + * + * @param pool The memory pool. + * @param offer The SDP media offer. + * @param o_fmt_idx Index of the format in the SDP media offer. + * @param answer The SDP media answer. + * @param a_fmt_idx Index of the format in the SDP media answer. + * @param option The format matching option, see + * #pjmedia_sdp_neg_fmt_match_flag. + * + * @return PJ_SUCCESS when the formats in offer and answer match. + */ +typedef pj_status_t (*pjmedia_sdp_neg_fmt_match_cb)(pj_pool_t *pool, + pjmedia_sdp_media *offer, + unsigned o_fmt_idx, + pjmedia_sdp_media *answer, + unsigned a_fmt_idx, + unsigned option); + + +/** + * Register customized SDP format matching callback function for the specified + * format. The customized SDP format matching is needed when the format + * identification in a media stream session cannot be simply determined by + * encoding name and clock rate, but also involves one or more format specific + * parameters, which are specified in SDP fmtp attribute. For example, + * an H.264 video stream is also identified by profile, level, and + * packetization-mode parameters. As those parameters are format specifics, + * the negotiation must be done by the format or codec implementation. + * + * To unregister the callback of specific format, just call this function with + * parameter #cb set to NULL. + * + * @param fmt_name The format name, e.g: "H.264", "AMR", "G7221". Note + * that the string buffer must remain valid until the + * callback is unregistered. + * @param cb The customized SDP format negotiation callback or + * NULL to unregister the specified format callback. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_neg_register_fmt_match_cb( + const pj_str_t *fmt_name, + pjmedia_sdp_neg_fmt_match_cb cb); + + +/** + * Match format in the SDP media offer and answer. The matching mechanism + * will be done by comparing the encoding name, clock rate, and encoding + * parameters (if any), and if the custom format matching callback + * for the specified format is registered, see + * #pjmedia_sdp_neg_register_fmt_match_cb(), it will be called for + * more detail verification, e.g: format parameters specified in SDP fmtp. + * + * @param pool The memory pool. + * @param offer The SDP media offer. + * @param o_fmt_idx Index of the format in the SDP media offer. + * @param answer The SDP media answer. + * @param a_fmt_idx Index of the format in the SDP media answer. + * @param option The format matching option, see + * #pjmedia_sdp_neg_fmt_match_flag. + * + * @return PJ_SUCCESS when the formats in offer and answer match. + */ +PJ_DECL(pj_status_t) pjmedia_sdp_neg_fmt_match( pj_pool_t *pool, + pjmedia_sdp_media *offer, + unsigned o_fmt_idx, + pjmedia_sdp_media *answer, + unsigned a_fmt_idx, + unsigned option); + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_SDP_NEG_H__ */ + diff --git a/pjmedia/include/pjmedia/session.h b/pjmedia/include/pjmedia/session.h new file mode 100644 index 0000000..3115600 --- /dev/null +++ b/pjmedia/include/pjmedia/session.h @@ -0,0 +1,436 @@ +/* $Id: session.h 3841 2011-10-24 09:28:13Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_SESSION_H__ +#define __PJMEDIA_SESSION_H__ + + +/** + * @file session.h + * @brief Media Session. + */ + +#include +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJMEDIA_SESSION Media Sessions + * @brief Management of media sessions + * @{ + * + * A media session represents multimedia communication between two + * parties. A media session represents the multimedia session that + * is described by SDP session descriptor. A media session consists + * of one or more media streams (pjmedia_stream), where each stream + * represents one media line (m= line) in SDP. + * + * This module provides functions to create and manage multimedia + * sessions. + * + * Application creates the media session by calling #pjmedia_session_create(), + * normally after it has completed negotiating both SDP offer and answer. + * The session creation function creates the media session (including + * media streams) based on the content of local and remote SDP. + */ + + +/** + * Session info, retrieved from a session by calling + * #pjmedia_session_get_info(). + */ +struct pjmedia_session_info +{ + /** Number of streams. */ + unsigned stream_cnt; + + /** Individual stream info. */ + pjmedia_stream_info stream_info[PJMEDIA_MAX_SDP_MEDIA]; +}; + + +/** + * Opaque declaration of media session. + */ +typedef struct pjmedia_session pjmedia_session; + + +/** + * @see pjmedia_session_info. + */ +typedef struct pjmedia_session_info pjmedia_session_info; + + +/** + * This function will initialize the session info based on information + * in both SDP session descriptors. The remaining information will be + * taken from default codec parameters. If socket info array is specified, + * the socket will be copied to the session info as well. + * + * @param pool Pool to allocate memory. + * @param endpt Pjmedia endpoint. + * @param max_streams Maximum number of stream infos to be created. + * @param si Session info structure to be initialized. + * @param local Local SDP session descriptor. + * @param remote Remote SDP session descriptor. + * + * @return PJ_SUCCESS if stream info is successfully initialized. + */ +PJ_DECL(pj_status_t) +pjmedia_session_info_from_sdp( pj_pool_t *pool, + pjmedia_endpt *endpt, + unsigned max_streams, + pjmedia_session_info *si, + const pjmedia_sdp_session *local, + const pjmedia_sdp_session *remote); + + +/** + * This function will initialize the stream info based on information + * in both SDP session descriptors for the specified stream index. + * The remaining information will be taken from default codec parameters. + * If socket info array is specified, the socket will be copied to the + * session info as well. + * + * @param si Stream info structure to be initialized. + * @param pool Pool to allocate memory. + * @param endpt PJMEDIA endpoint instance. + * @param local Local SDP session descriptor. + * @param remote Remote SDP session descriptor. + * @param stream_idx Media stream index in the session descriptor. + * + * @return PJ_SUCCESS if stream info is successfully initialized. + */ +PJ_DECL(pj_status_t) +pjmedia_stream_info_from_sdp( pjmedia_stream_info *si, + pj_pool_t *pool, + pjmedia_endpt *endpt, + const pjmedia_sdp_session *local, + const pjmedia_sdp_session *remote, + unsigned stream_idx); + +/** + * Create media session based on the local and remote SDP. After the session + * has been created, application normally would want to get the media port + * interface of each streams, by calling #pjmedia_session_get_port(). The + * media port interface exports put_frame() and get_frame() function, used + * to transmit and receive media frames from the stream. + * + * Without application calling put_frame() and get_frame(), there will be + * no media frames transmitted or received by the session. + * + * @param endpt The PJMEDIA endpoint instance. + * @param si Session info containing stream count and array of + * stream info. The stream count indicates how many + * streams to be created in the session. + * @param transports Array of media stream transports, with + * sufficient number of elements (one for each stream). + * @param user_data Arbitrary user data to be kept in the session. + * @param p_session Pointer to receive the media session. + * + * @return PJ_SUCCESS if media session can be created + * successfully. + */ +PJ_DECL(pj_status_t) +pjmedia_session_create( pjmedia_endpt *endpt, + const pjmedia_session_info *si, + pjmedia_transport *transports[], + void *user_data, + pjmedia_session **p_session ); + + +/** + * Get media session info of the session. + * + * @param session The session which info is being queried. + * @param info Pointer to receive session info. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_session_get_info( pjmedia_session *session, + pjmedia_session_info *info ); + +/** + * Get user data of the session. + * + * @param session The session being queried. + * + * @return User data of the session. + */ +PJ_DECL(void*) pjmedia_session_get_user_data( pjmedia_session *session); + + +/** + * Activate all streams in media session for the specified direction. + * Application only needs to call this function if it previously paused + * the session. + * + * @param session The media session. + * @param dir The direction to activate. + * + * @return PJ_SUCCESS if success. + */ +PJ_DECL(pj_status_t) pjmedia_session_resume(pjmedia_session *session, + pjmedia_dir dir); + + +/** + * Suspend receipt and transmission of all streams in media session + * for the specified direction. + * + * @param session The media session. + * @param dir The media direction to suspend. + * + * @return PJ_SUCCESS if success. + */ +PJ_DECL(pj_status_t) pjmedia_session_pause(pjmedia_session *session, + pjmedia_dir dir); + +/** + * Suspend receipt and transmission of individual stream in media session + * for the specified direction. + * + * @param session The media session. + * @param index The stream index. + * @param dir The media direction to pause. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_session_pause_stream( pjmedia_session *session, + unsigned index, + pjmedia_dir dir); + +/** + * Activate individual stream in media session for the specified direction. + * + * @param session The media session. + * @param index The stream index. + * @param dir The media direction to activate. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_session_resume_stream(pjmedia_session *session, + unsigned index, + pjmedia_dir dir); + +/** + * Send RTCP SDES for the session. + * + * @param session The media session. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_session_send_rtcp_sdes( const pjmedia_session *session ); + +/** + * Send RTCP BYE for the session. + * + * @param session The media session. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_session_send_rtcp_bye( const pjmedia_session *session ); + +/** + * Enumerate media streams in the session. + * + * @param session The media session. + * @param count On input, specifies the number of elements in + * the array. On output, the number will be filled + * with number of streams in the session. + * @param strm_info Array of stream info. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_session_enum_streams( const pjmedia_session *session, + unsigned *count, + pjmedia_stream_info strm_info[]); + + +/** + * Get the media port interface of the specified stream. The media port + * interface declares put_frame() and get_frame() function, which is the + * only way for application to transmit and receive media frames from the + * stream. + * + * @param session The media session. + * @param index Stream index. + * @param p_port Pointer to receive the media port interface for + * the specified stream. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_session_get_port( pjmedia_session *session, + unsigned index, + pjmedia_port **p_port); + + +/** + * Get session statistics. The stream statistic shows various + * indicators such as packet count, packet lost, jitter, delay, etc. + * See also #pjmedia_session_get_stream_stat_jbuf() + * + * @param session The media session. + * @param index Stream index. + * @param stat Stream statistic. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_session_get_stream_stat(pjmedia_session *session, + unsigned index, + pjmedia_rtcp_stat *stat); + + +/** + * Reset session statistics. + * + * @param session The media session. + * @param index Stream index. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_session_reset_stream_stat(pjmedia_session *session, + unsigned index); + + +#if defined(PJMEDIA_HAS_RTCP_XR) && (PJMEDIA_HAS_RTCP_XR != 0) +/** + * Get extended session statistics. The extended statistic shows reports + * from RTCP XR, such as per interval statistics summary (packet count, + * packet lost, jitter, etc), VoIP metrics (delay, quality, etc) + * + * @param session The media session. + * @param index Stream index. + * @param stat_xr Stream extended statistics. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_session_get_stream_stat_xr( + pjmedia_session *session, + unsigned index, + pjmedia_rtcp_xr_stat *stat_xr); +#endif + + +/** + * Get current jitter buffer state for the specified stream. + * See also #pjmedia_session_get_stream_stat() + * + * @param session The media session. + * @param index Stream index. + * @param state Jitter buffer state. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_session_get_stream_stat_jbuf( + pjmedia_session *session, + unsigned index, + pjmedia_jb_state *state); + +/** + * Dial DTMF digit to the stream, using RFC 2833 mechanism. + * + * @param session The media session. + * @param index The stream index. + * @param ascii_digits String of ASCII digits (i.e. 0-9*##A-B). + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_session_dial_dtmf( pjmedia_session *session, + unsigned index, + const pj_str_t *ascii_digits ); + + +/** + * Check if the specified stream has received DTMF digits. + * + * @param session The media session. + * @param index The stream index. + * + * @return Non-zero (PJ_TRUE) if the stream has DTMF digits. + */ +PJ_DECL(pj_status_t) pjmedia_session_check_dtmf( pjmedia_session *session, + unsigned index); + + +/** + * Retrieve DTMF digits from the specified stream. + * + * @param session The media session. + * @param index The stream index. + * @param ascii_digits Buffer to receive the digits. The length of this + * buffer is indicated in the "size" argument. + * @param size On input, contains the maximum digits to be copied + * to the buffer. + * On output, it contains the actual digits that has + * been copied to the buffer. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_session_get_dtmf( pjmedia_session *session, + unsigned index, + char *ascii_digits, + unsigned *size ); + +/** + * Set callback to be called upon receiving DTMF digits. If callback is + * registered, the stream will not buffer incoming DTMF but rather call + * the callback as soon as DTMF digit is received completely. + * + * @param session The media session. + * @param index The stream index. + * @param cb Callback to be called upon receiving DTMF digits. + * The DTMF digits will be given to the callback as + * ASCII digits. + * @param user_data User data to be returned back when the callback + * is called. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_session_set_dtmf_callback(pjmedia_session *session, + unsigned index, + void (*cb)(pjmedia_stream*, + void *user_data, + int digit), + void *user_data); + +/** + * Destroy media session. + * + * @param session The media session. + * + * @return PJ_SUCCESS if success. + */ +PJ_DECL(pj_status_t) pjmedia_session_destroy(pjmedia_session *session); + + + +/** + * @} + */ + +PJ_END_DECL + +#endif /* __PJMEDIA_SESSION_H__ */ diff --git a/pjmedia/include/pjmedia/signatures.h b/pjmedia/include/pjmedia/signatures.h new file mode 100644 index 0000000..6fadbc3 --- /dev/null +++ b/pjmedia/include/pjmedia/signatures.h @@ -0,0 +1,217 @@ +/* $Id: signatures.h 3664 2011-07-19 03:42:28Z nanang $ */ +/* + * Copyright (C) 2011-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_SIGNATURES_H__ +#define __PJMEDIA_SIGNATURES_H__ + +/** + * @file pjmedia/signatures.h + * @brief Standard PJMEDIA object signatures + */ +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJMEDIA_SIG Object Signatures + * @ingroup PJMEDIA_BASE + * @brief Standard PJMEDIA object signatures + * @{ + * + * Object signature is a 32-bit integral value similar to FOURCC to help + * identify PJMEDIA objects such as media ports, transports, codecs, etc. + * There are several uses of this signature, for example a media port can + * use the port object signature to verify that the given port instance + * is the one that it created, and a receiver of \ref PJMEDIA_EVENT can + * use the signature of the publisher to know which object emitted the + * event. + * + * The 32-bit value of an object signature is generated by the following + * macro: + * + * \verbatim + #define PJMEDIA_SIGNATURE(a,b,c,d) (a<<24 | b<<16 | c<<8 | d) + * \endverbatim + * + * The following convention is used to maintain order to the signature + * values so that application can make use of it more effectively, and to + * avoid conflict between the values themselves. For each object type or + * class, a specific prefix will be assigned as signature, and a macro + * is created to build a signature for such object: + * + * \verbatim + Class Signature Signature creation and test macros + --------------------------------------------------------------- + Codec Cxxx PJMEDIA_SIG_CLASS_CODEC(b,c,d) + PJMEDIA_SIG_IS_CLASS_CODEC(sig) + + Audio codec CAxx PJMEDIA_SIG_CLASS_AUD_CODEC(c,d) + PJMEDIA_SIG_IS_CLASS_AUD_CODEC(sig) + + Video codec CVxx PJMEDIA_SIG_CLASS_VID_CODEC(c,d) + PJMEDIA_SIG_IS_CLASS_VID_CODEC(sig) + + Media port Pxxx PJMEDIA_SIG_CLASS_PORT(b,c,d) + PJMEDIA_SIG_IS_CLASS_PORT(sig) + + Audio media port PAxx PJMEDIA_SIG_CLASS_PORT_AUD(c,d) + PJMEDIA_SIG_IS_CLASS_PORT_AUD(sig) + + Video media port PVxx PJMEDIA_SIG_CLASS_PORT_VID(c,d) + PJMEDIA_SIG_IS_CLASS_PORT_VID(sig) + + Video device VDxx PJMEDIA_SIG_CLASS_VID_DEV(c,d) + PJMEDIA_SIG_IS_CLASS_VID_DEV(sig) + + Video other VOxx PJMEDIA_SIG_CLASS_VID_OTHER(c,d) + PJMEDIA_SIG_IS_CLASS_VID_OTHER(sig) + + Application object Axxx PJMEDIA_SIG_CLASS_APP(b,c,d) + PJMEDIA_SIG_IS_CLASS_APP(sig) + + * \endverbatim + * + * In addition, signatures created in application code should have lowercase + * letters to avoid conflict with built-in objects. + */ + +/** + * Type to store object signature. + */ +typedef pj_uint32_t pjmedia_obj_sig; + +/** + * A utility function to convert signature to four letters string. + * + * @param sig The signature value. + * @param buf Buffer to store the string, which MUST be at least + * five bytes long. + * + * @return The string. + */ +PJ_INLINE(const char*) pjmedia_sig_name(pjmedia_obj_sig sig, char buf[]) +{ + return pjmedia_fourcc_name(sig, buf); +} + +/** + * Macro to generate signature from four ASCII letters. + */ +#define PJMEDIA_SIGNATURE(a,b,c,d) PJMEDIA_FOURCC(a,b,c,d) + +/************************************************************************* + * Codec signature ('Cxxx'). Please keep the constant names sorted. + */ +#define PJMEDIA_SIG_CLASS_CODEC(b,c,d) PJMEDIA_SIGNATURE('C',b,c,d) +#define PJMEDIA_SIG_IS_CLASS_CODEC(sig) ((sig) >> 24 == 'C') + +/************************************************************************* + * Audio codec signatures ('CAxx'). Please keep the constant names sorted. + */ +#define PJMEDIA_SIG_CLASS_AUD_CODEC(c,d) PJMEDIA_SIG_CLASS_CODEC('A',c,d) +#define PJMEDIA_SIG_IS_CLASS_AUD_CODEC(s) ((s)>>24=='C' && (s)>>16=='A') + +/************************************************************************* + * Video codec signatures ('CVxx'). Please keep the constant names sorted. + */ +#define PJMEDIA_SIG_CLASS_VID_CODEC(c,d) PJMEDIA_SIG_CLASS_CODEC('V',c,d) +#define PJMEDIA_SIG_IS_CLASS_VID_CODEC(sig) ((s)>>24=='C' && (s)>>16=='V') + +#define PJMEDIA_SIG_VID_CODEC_FFMPEG PJMEDIA_SIG_CLASS_VID_CODEC('F','F') + +/************************************************************************* + * Port signatures ('Pxxx'). Please keep the constant names sorted. + */ +#define PJMEDIA_SIG_CLASS_PORT(b,c,d) PJMEDIA_SIGNATURE('P',b,c,d) +#define PJMEDIA_SIG_IS_CLASS_PORT(sig) ((sig) >> 24 == 'P') + +/************************************************************************* + * Audio ports signatures ('PAxx'). Please keep the constant names sorted. + */ +#define PJMEDIA_SIG_CLASS_PORT_AUD(c,d) PJMEDIA_SIG_CLASS_PORT('A',c,d) +#define PJMEDIA_SIG_IS_CLASS_PORT_AUD(s) ((s)>>24=='P' && (s)>>16=='A') + +#define PJMEDIA_SIG_PORT_BIDIR PJMEDIA_SIG_CLASS_PORT_AUD('B','D') +#define PJMEDIA_SIG_PORT_CONF PJMEDIA_SIG_CLASS_PORT_AUD('C','F') +#define PJMEDIA_SIG_PORT_CONF_PASV PJMEDIA_SIG_CLASS_PORT_AUD('C','P') +#define PJMEDIA_SIG_PORT_CONF_SWITCH PJMEDIA_SIG_CLASS_PORT_AUD('C','S') +#define PJMEDIA_SIG_PORT_ECHO PJMEDIA_SIG_CLASS_PORT_AUD('E','C') +#define PJMEDIA_SIG_PORT_MEM_CAPTURE PJMEDIA_SIG_CLASS_PORT_AUD('M','C') +#define PJMEDIA_SIG_PORT_MEM_PLAYER PJMEDIA_SIG_CLASS_PORT_AUD('M','P') +#define PJMEDIA_SIG_PORT_NULL PJMEDIA_SIG_CLASS_PORT_AUD('N','U') +#define PJMEDIA_SIG_PORT_RESAMPLE PJMEDIA_SIG_CLASS_PORT_AUD('R','E') +#define PJMEDIA_SIG_PORT_SPLIT_COMB PJMEDIA_SIG_CLASS_PORT_AUD('S','C') +#define PJMEDIA_SIG_PORT_SPLIT_COMB_P PJMEDIA_SIG_CLASS_PORT_AUD('S','P') +#define PJMEDIA_SIG_PORT_STEREO PJMEDIA_SIG_CLASS_PORT_AUD('S','R') +#define PJMEDIA_SIG_PORT_STREAM PJMEDIA_SIG_CLASS_PORT_AUD('S','T') +#define PJMEDIA_SIG_PORT_TONEGEN PJMEDIA_SIG_CLASS_PORT_AUD('T','O') +#define PJMEDIA_SIG_PORT_WAV_PLAYER PJMEDIA_SIG_CLASS_PORT_AUD('W','P') +#define PJMEDIA_SIG_PORT_WAV_PLAYLIST PJMEDIA_SIG_CLASS_PORT_AUD('W','Y') +#define PJMEDIA_SIG_PORT_WAV_WRITER PJMEDIA_SIG_CLASS_PORT_AUD('W','W') + + +/************************************************************************* + * Video ports signatures ('PVxx'). Please keep the constant names sorted. + */ +#define PJMEDIA_SIG_CLASS_PORT_VID(c,d) PJMEDIA_SIG_CLASS_PORT('V',c,d) +#define PJMEDIA_SIG_IS_CLASS_PORT_VID(s) ((s)>>24=='P' && (s)>>16=='V') + +/** AVI player signature. */ +#define PJMEDIA_SIG_PORT_VID_AVI_PLAYER PJMEDIA_SIG_CLASS_PORT_VID('A','V') +#define PJMEDIA_SIG_PORT_VID_STREAM PJMEDIA_SIG_CLASS_PORT_VID('S','T') +#define PJMEDIA_SIG_PORT_VID_TEE PJMEDIA_SIG_CLASS_PORT_VID('T','E') + + +/************************************************************************** + * Video device signatures ('VDxx'). Please keep the constant names sorted. + */ +#define PJMEDIA_SIG_CLASS_VID_DEV(c,d) PJMEDIA_SIGNATURE('V','D',c,d) +#define PJMEDIA_SIG_IS_CLASS_VID_DEV(s) ((s)>>24=='V' && (s)>>16=='D') + +#define PJMEDIA_SIG_VID_DEV_COLORBAR PJMEDIA_SIG_CLASS_VID_DEV('C','B') +#define PJMEDIA_SIG_VID_DEV_SDL PJMEDIA_SIG_CLASS_VID_DEV('S','D') +#define PJMEDIA_SIG_VID_DEV_V4L2 PJMEDIA_SIG_CLASS_VID_DEV('V','2') +#define PJMEDIA_SIG_VID_DEV_DSHOW PJMEDIA_SIG_CLASS_VID_DEV('D','S') +#define PJMEDIA_SIG_VID_DEV_QT PJMEDIA_SIG_CLASS_VID_DEV('Q','T') +#define PJMEDIA_SIG_VID_DEV_IOS PJMEDIA_SIG_CLASS_VID_DEV('I','P') + + +/********************************************************************* + * Other video objects ('VOxx'). Please keep the constant names sorted. + */ +#define PJMEDIA_SIG_CLASS_VID_OTHER(c,d) PJMEDIA_SIGNATURE('V','O',c,d) +#define PJMEDIA_SIG_IS_CLASS_VID_OTHER(s) ((s)>>24=='V' && (s)>>16=='O') + +#define PJMEDIA_SIG_VID_PORT PJMEDIA_SIG_CLASS_VID_OTHER('P','O') + + +/********************************************************************* + * Application class ('Axxx'). + */ +#define PJMEDIA_SIG_CLASS_APP(b,c,d) PJMEDIA_SIGNATURE('A',b,c,d) +#define PJMEDIA_SIG_IS_CLASS_APP(s) ((s)>>24=='A') + + +/** + * @} PJSIP_MSG + */ + + +PJ_END_DECL + +#endif /* __PJMEDIA_SIGNATURES_H__ */ diff --git a/pjmedia/include/pjmedia/silencedet.h b/pjmedia/include/pjmedia/silencedet.h new file mode 100644 index 0000000..82741de --- /dev/null +++ b/pjmedia/include/pjmedia/silencedet.h @@ -0,0 +1,200 @@ +/* $Id: silencedet.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_SILENCE_DET_H__ +#define __PJMEDIA_SILENCE_DET_H__ + + +/** + * @file silencedet.h + * @brief Adaptive silence detector. + */ +#include + + +/** + * @defgroup PJMEDIA_SILENCEDET Adaptive Silence Detection + * @ingroup PJMEDIA_FRAME_OP + * @brief Adaptive Silence Detector + * @{ + */ + + +PJ_BEGIN_DECL + + +/** + * Opaque declaration for silence detector. + */ +typedef struct pjmedia_silence_det pjmedia_silence_det; + + + +/** + * Create voice activity detector with default settings. The default settings + * are set to adaptive silence detection with the default threshold. + * + * @param pool Pool for allocating the structure. + * @param clock_rate Clock rate. + * @param samples_per_frame Number of samples per frame. The clock_rate and + * samples_per_frame is only used to calculate the + * frame time, from which some timing parameters + * are calculated from. + * @param p_sd Pointer to receive the silence detector instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_silence_det_create( pj_pool_t *pool, + unsigned clock_rate, + unsigned samples_per_frame, + pjmedia_silence_det **p_sd ); + + +/** + * Set silence detector name to identify the particular silence detector + * instance in the log. + * + * @param sd The silence detector. + * @param name Name. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_silence_det_set_name(pjmedia_silence_det *sd, + const char *name); + + +/** + * Set the sd to operate in fixed threshold mode. With fixed threshold mode, + * the threshold will not be changed adaptively. + * + * @param sd The silence detector + * @param threshold The silence threshold, or -1 to use default + * threshold. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_silence_det_set_fixed( pjmedia_silence_det *sd, + int threshold ); + +/** + * Set the sd to operate in adaptive mode. This is the default mode + * when the silence detector is created. + * + * @param sd The silence detector + * @param threshold Initial threshold to be set, or -1 to use default + * threshold. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_silence_det_set_adaptive(pjmedia_silence_det *sd, + int threshold); + +/** + * Set other silence detector parameters. + * + * @param sd The silence detector + * @param before_silence Minimum duration of silence (in msec) before + * silence is reported. If -1 is specified, then + * the default value will be used. The default is + * 400 msec. + * @param recalc_time1 The interval (in msec) to recalculate threshold + * in non-silence condition when adaptive silence + * detection is set. If -1 is specified, then the + * default value will be used. The default is 4000 + * (msec). + * @param recalc_time2 The interval (in msec) to recalculate threshold + * in silence condition when adaptive silence detection + * is set. If -1 is specified, then the default value + * will be used. The default value is 2000 (msec). + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_silence_det_set_params( pjmedia_silence_det *sd, + int before_silence, + int recalc_time1, + int recalc_time2); + + +/** + * Disable the silence detector. + * + * @param sd The silence detector + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_silence_det_disable( pjmedia_silence_det *sd ); + + +/** + * Perform voice activity detection on the given input samples. This + * function uses #pjmedia_calc_avg_signal() and #pjmedia_silence_det_apply() + * for its calculation. + * + * @param sd The silence detector instance. + * @param samples Pointer to 16-bit PCM input samples. + * @param count Number of samples in the input. + * @param p_level Optional pointer to receive average signal level + * of the input samples. + * + * @return Non zero if signal is silence. + */ +PJ_DECL(pj_bool_t) pjmedia_silence_det_detect( pjmedia_silence_det *sd, + const pj_int16_t samples[], + pj_size_t count, + pj_int32_t *p_level); + + +/** + * Calculate average signal level for the given samples. + * + * @param samples Pointer to 16-bit PCM samples. + * @param count Number of samples in the input. + * + * @return The average signal level, which simply is total level + * divided by number of samples. + */ +PJ_DECL(pj_int32_t) pjmedia_calc_avg_signal( const pj_int16_t samples[], + pj_size_t count ); + + + +/** + * Perform voice activity detection, given the specified average signal + * level. + * + * @param sd The silence detector instance. + * @param level Signal level. + * + * @return Non zero if signal is silence. + */ +PJ_DECL(pj_bool_t) pjmedia_silence_det_apply( pjmedia_silence_det *sd, + pj_uint32_t level); + + + +PJ_END_DECL + + +/** + * @} + */ + + +#endif /* __PJMEDIA_SILENCE_DET_H__ */ + diff --git a/pjmedia/include/pjmedia/sound.h b/pjmedia/include/pjmedia/sound.h new file mode 100644 index 0000000..03c8f1b --- /dev/null +++ b/pjmedia/include/pjmedia/sound.h @@ -0,0 +1,336 @@ +/* $Id: sound.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_SOUND_H__ +#define __PJMEDIA_SOUND_H__ + + +/** + * @file sound.h + * @brief Legacy sound device API + */ +#include +#include + + +PJ_BEGIN_DECL + +/** + * @defgroup PJMED_SND Portable Sound Hardware Abstraction + * @ingroup PJMED_SND_PORT + * @brief PJMEDIA abstraction for sound device hardware + * @{ + * + * Warning: this sound device API has been deprecated + * and replaced by PJMEDIA Audio Device API. Please see + * http://trac.pjsip.org/repos/wiki/Audio_Dev_API for more + * information. + * + * This section describes lower level abstraction for sound device + * hardware. Application normally uses the higher layer @ref + * PJMED_SND_PORT abstraction since it works seamlessly with + * @ref PJMEDIA_PORT. + * + * The sound hardware abstraction basically runs asychronously, + * and application must register callbacks to be called to receive/ + * supply audio frames from/to the sound hardware. + * + * A full duplex sound stream (created with #pjmedia_snd_open()) + * requires application to supply two callbacks: + * - rec_cb callback to be called when it has finished + * capturing one media frame, and + * - play_cb callback to be called when it needs media + * frame to be played to the sound playback hardware. + * + * Half duplex sound stream (created with #pjmedia_snd_open_rec() or + * #pjmedia_snd_open_player()) will only need one of the callback to + * be specified. + * + * After sound stream is created, application need to call + * #pjmedia_snd_stream_start() to start capturing/playing back media + * frames from/to the sound device. + */ + +/** Opaque declaration for pjmedia_snd_stream. */ +typedef struct pjmedia_snd_stream pjmedia_snd_stream; + +/** + * Device information structure returned by #pjmedia_snd_get_dev_info. + */ +typedef struct pjmedia_snd_dev_info +{ + char name[64]; /**< Device name. */ + unsigned input_count; /**< Max number of input channels. */ + unsigned output_count; /**< Max number of output channels. */ + unsigned default_samples_per_sec;/**< Default sampling rate. */ +} pjmedia_snd_dev_info; + +/** + * Stream information, can be retrieved from a live stream by calling + * #pjmedia_snd_stream_get_info(). + */ +typedef struct pjmedia_snd_stream_info +{ + pjmedia_dir dir; /**< Stream direction. */ + int play_id; /**< Playback dev id, or -1 for rec only*/ + int rec_id; /**< Capture dev id, or -1 for play only*/ + unsigned clock_rate; /**< Actual clock rate. */ + unsigned channel_count; /**< Number of channels. */ + unsigned samples_per_frame; /**< Samples per frame. */ + unsigned bits_per_sample; /**< Bits per sample. */ + unsigned rec_latency; /**< Record latency, in samples. */ + unsigned play_latency; /**< Playback latency, in samples. */ +} pjmedia_snd_stream_info; + +/** + * This callback is called by player stream when it needs additional data + * to be played by the device. Application must fill in the whole of output + * buffer with sound samples. + * + * @param user_data User data associated with the stream. + * @param timestamp Timestamp, in samples. + * @param output Buffer to be filled out by application. + * @param size The size requested in bytes, which will be equal to + * the size of one whole packet. + * + * @return Non-zero to stop the stream. + */ +typedef pj_status_t (*pjmedia_snd_play_cb)(/* in */ void *user_data, + /* in */ pj_uint32_t timestamp, + /* out */ void *output, + /* out */ unsigned size); + +/** + * This callback is called by recorder stream when it has captured the whole + * packet worth of audio samples. + * + * @param user_data User data associated with the stream. + * @param timestamp Timestamp, in samples. + * @param output Buffer containing the captured audio samples. + * @param size The size of the data in the buffer, in bytes. + * + * @return Non-zero to stop the stream. + */ +typedef pj_status_t (*pjmedia_snd_rec_cb)(/* in */ void *user_data, + /* in */ pj_uint32_t timestamp, + /* in */ void *input, + /* in*/ unsigned size); + +/** + * Init the sound library. + * + * @param factory The sound factory. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pjmedia_snd_init(pj_pool_factory *factory); + + +/** + * Get the number of devices detected by the library. + * + * @return Number of devices. + */ +PJ_DECL(int) pjmedia_snd_get_dev_count(void); + + +/** + * Get device info. + * + * @param index The index of the device, which should be in the range + * from zero to #pjmedia_snd_get_dev_count - 1. + */ +PJ_DECL(const pjmedia_snd_dev_info*) pjmedia_snd_get_dev_info(unsigned index); + + +/** + * Set sound device latency, this function must be called before sound device + * opened, or otherwise default latency setting will be used, @see + * PJMEDIA_SND_DEFAULT_REC_LATENCY & PJMEDIA_SND_DEFAULT_PLAY_LATENCY. + * + * Choosing latency value is not straightforward, it should accomodate both + * minimum latency and stability. Lower latency tends to cause sound device + * less reliable (producing audio dropouts) on CPU load disturbance. Moreover, + * the best latency setting may vary based on many aspects, e.g: sound card, + * CPU, OS, kernel, etc. + * + * @param input_latency The latency of input device, in ms, set to 0 + * for default PJMEDIA_SND_DEFAULT_REC_LATENCY. + * @param output_latency The latency of output device, in ms, set to 0 + * for default PJMEDIA_SND_DEFAULT_PLAY_LATENCY. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_snd_set_latency(unsigned input_latency, + unsigned output_latency); + + +/** + * Create sound stream for both capturing audio and audio playback, from the + * same device. This is the recommended way to create simultaneous recorder + * and player streams (instead of creating separate capture and playback + * streams), because it works on backends that does not allow + * a device to be opened more than once. + * + * @param rec_id Device index for recorder/capture stream, or + * -1 to use the first capable device. + * @param play_id Device index for playback stream, or -1 to use + * the first capable device. + * @param clock_rate Sound device's clock rate to set. + * @param channel_count Set number of channels, 1 for mono, or 2 for + * stereo. The channel count determines the format + * of the frame. + * @param samples_per_frame Number of samples per frame. + * @param bits_per_sample Set the number of bits per sample. The normal + * value for this parameter is 16 bits per sample. + * @param rec_cb Callback to handle captured audio samples. + * @param play_cb Callback to be called when the sound player needs + * more audio samples to play. + * @param user_data User data to be associated with the stream. + * @param p_snd_strm Pointer to receive the stream instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_snd_open(int rec_id, + int play_id, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + pjmedia_snd_rec_cb rec_cb, + pjmedia_snd_play_cb play_cb, + void *user_data, + pjmedia_snd_stream **p_snd_strm); + + +/** + * Create a unidirectional audio stream for capturing audio samples from + * the sound device. + * + * @param index Device index, or -1 to let the library choose the + * first available device. + * @param clock_rate Sound device's clock rate to set. + * @param channel_count Set number of channels, 1 for mono, or 2 for + * stereo. The channel count determines the format + * of the frame. + * @param samples_per_frame Number of samples per frame. + * @param bits_per_sample Set the number of bits per sample. The normal + * value for this parameter is 16 bits per sample. + * @param rec_cb Callback to handle captured audio samples. + * @param user_data User data to be associated with the stream. + * @param p_snd_strm Pointer to receive the stream instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_snd_open_rec( int index, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + pjmedia_snd_rec_cb rec_cb, + void *user_data, + pjmedia_snd_stream **p_snd_strm); + +/** + * Create a unidirectional audio stream for playing audio samples to the + * sound device. + * + * @param index Device index, or -1 to let the library choose the + * first available device. + * @param clock_rate Sound device's clock rate to set. + * @param channel_count Set number of channels, 1 for mono, or 2 for + * stereo. The channel count determines the format + * of the frame. + * @param samples_per_frame Number of samples per frame. + * @param bits_per_sample Set the number of bits per sample. The normal + * value for this parameter is 16 bits per sample. + * @param play_cb Callback to be called when the sound player needs + * more audio samples to play. + * @param user_data User data to be associated with the stream. + * @param p_snd_strm Pointer to receive the stream instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_snd_open_player( int index, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + pjmedia_snd_play_cb play_cb, + void *user_data, + pjmedia_snd_stream **p_snd_strm ); + + +/** + * Get information about live stream. + * + * @param strm The stream to be queried. + * @param pi Pointer to stream information to be filled up with + * information about the stream. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_snd_stream_get_info(pjmedia_snd_stream *strm, + pjmedia_snd_stream_info *pi); + + +/** + * Start the stream. + * + * @param stream The recorder or player stream. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pjmedia_snd_stream_start(pjmedia_snd_stream *stream); + +/** + * Stop the stream. + * + * @param stream The recorder or player stream. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pjmedia_snd_stream_stop(pjmedia_snd_stream *stream); + +/** + * Destroy the stream. + * + * @param stream The recorder of player stream. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pjmedia_snd_stream_close(pjmedia_snd_stream *stream); + +/** + * Deinitialize sound library. + * + * @return Zero on success. + */ +PJ_DECL(pj_status_t) pjmedia_snd_deinit(void); + + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJMEDIA_SOUND_H__ */ diff --git a/pjmedia/include/pjmedia/sound_port.h b/pjmedia/include/pjmedia/sound_port.h new file mode 100644 index 0000000..48842fa --- /dev/null +++ b/pjmedia/include/pjmedia/sound_port.h @@ -0,0 +1,384 @@ +/* $Id: sound_port.h 4982 2015-02-11 05:15:29Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_SOUND_PORT_H__ +#define __PJMEDIA_SOUND_PORT_H__ + +/** + * @file sound_port.h + * @brief Media port connection abstraction to sound device. + */ +#include +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJMED_SND_PORT Sound Device Port + * @ingroup PJMEDIA_PORT_CLOCK + * @brief Media Port Connection Abstraction to the Sound Device + @{ + + As explained in @ref PJMED_SND, the sound hardware abstraction provides + some callbacks for its user: + - it calls rec_cb callback when it has finished capturing + one media frame, and + - it calls play_cb when it needs media frame to be + played to the sound playback hardware. + + The @ref PJMED_SND_PORT (the object being explained here) add a + thin wrapper to the hardware abstraction: + - it will call downstream port's put_frame() + when rec_cb() is called (i.e. when the sound hardware + has finished capturing frame), and + - it will call downstream port's get_frame() when + play_cb() is called (i.e. every time the + sound hardware needs more frames to be played to the playback hardware). + + This simple abstraction enables media to flow automatically (and + in timely manner) from the downstream media port to the sound device. + In other words, the sound device port supplies media clock to + the ports. The media clock concept is explained in @ref PJMEDIA_PORT_CLOCK + section. + + Application registers downstream port to the sound device port by + calling #pjmedia_snd_port_connect(); + + */ + +/** + * Sound port options. + */ +enum pjmedia_snd_port_option +{ + /** + * Don't start the audio device when creating a sound port. + */ + PJMEDIA_SND_PORT_NO_AUTO_START = 1 +}; + +/** + * This structure specifies the parameters to create the sound port. + * Use pjmedia_snd_port_param_default() to initialize this structure with + * default values (mostly zeroes) + */ +typedef struct pjmedia_snd_port_param +{ + /** + * Base structure. + */ + pjmedia_aud_param base; + + /** + * Sound port creation options. + */ + unsigned options; + + /** + * Echo cancellation options/flags. + */ + unsigned ec_options; + + /** + * Arbitrary user data for playback and record preview callbacks below. + */ + void *user_data; + + /** + * Optional callback for audio frame preview right before queued to + * the speaker. + * Notes: + * - application MUST NOT block or perform long operation in the callback + * as the callback may be executed in sound device thread + * - when using software echo cancellation, application MUST NOT modify + * the audio data from within the callback, otherwise the echo canceller + * will not work properly. + * - the return value of the callback will be ignored + */ + pjmedia_aud_play_cb on_play_frame; + + /** + * Optional callback for audio frame preview recorded from the microphone + * before being processed by any media component such as software echo + * canceller. + * Notes: + * - application MUST NOT block or perform long operation in the callback + * as the callback may be executed in sound device thread + * - when using software echo cancellation, application MUST NOT modify + * the audio data from within the callback, otherwise the echo canceller + * will not work properly. + * - the return value of the callback will be ignored + */ + pjmedia_aud_rec_cb on_rec_frame; + +} pjmedia_snd_port_param; + +/** + * Initialize pjmedia_snd_port_param with default values. + * + * @param prm The parameter. + */ +PJ_DECL(void) pjmedia_snd_port_param_default(pjmedia_snd_port_param *prm); + +/** + * This opaque type describes sound device port connection. + * Sound device port is not a media port, but it is used to connect media + * port to the sound device. + */ +typedef struct pjmedia_snd_port pjmedia_snd_port; + + +/** + * Create bidirectional sound port for both capturing and playback of + * audio samples. + * + * @param pool Pool to allocate sound port structure. + * @param rec_id Device index for recorder/capture stream, or + * -1 to use the first capable device. + * @param play_id Device index for playback stream, or -1 to use + * the first capable device. + * @param clock_rate Sound device's clock rate to set. + * @param channel_count Set number of channels, 1 for mono, or 2 for + * stereo. The channel count determines the format + * of the frame. + * @param samples_per_frame Number of samples per frame. + * @param bits_per_sample Set the number of bits per sample. The normal + * value for this parameter is 16 bits per sample. + * @param options Options flag. + * @param p_port Pointer to receive the sound device port instance. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) pjmedia_snd_port_create( pj_pool_t *pool, + int rec_id, + int play_id, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + unsigned options, + pjmedia_snd_port **p_port); + +/** + * Create unidirectional sound device port for capturing audio streams from + * the sound device with the specified parameters. + * + * @param pool Pool to allocate sound port structure. + * @param index Device index, or -1 to let the library choose the + * first available device. + * @param clock_rate Sound device's clock rate to set. + * @param channel_count Set number of channels, 1 for mono, or 2 for + * stereo. The channel count determines the format + * of the frame. + * @param samples_per_frame Number of samples per frame. + * @param bits_per_sample Set the number of bits per sample. The normal + * value for this parameter is 16 bits per sample. + * @param options Options flag. + * @param p_port Pointer to receive the sound device port instance. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) pjmedia_snd_port_create_rec(pj_pool_t *pool, + int index, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + unsigned options, + pjmedia_snd_port **p_port); + +/** + * Create unidirectional sound device port for playing audio streams with the + * specified parameters. + * + * @param pool Pool to allocate sound port structure. + * @param index Device index, or -1 to let the library choose the + * first available device. + * @param clock_rate Sound device's clock rate to set. + * @param channel_count Set number of channels, 1 for mono, or 2 for + * stereo. The channel count determines the format + * of the frame. + * @param samples_per_frame Number of samples per frame. + * @param bits_per_sample Set the number of bits per sample. The normal + * value for this parameter is 16 bits per sample. + * @param options Options flag. + * @param p_port Pointer to receive the sound device port instance. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) pjmedia_snd_port_create_player(pj_pool_t *pool, + int index, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + unsigned options, + pjmedia_snd_port **p_port); + + +/** + * Create sound device port according to the specified parameters. + * + * @param pool Pool to allocate sound port structure. + * @param prm Sound port parameter. + * @param p_port Pointer to receive the sound device port instance. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) pjmedia_snd_port_create2(pj_pool_t *pool, + const pjmedia_snd_port_param *prm, + pjmedia_snd_port **p_port); + + +/** + * Destroy sound device port. + * + * @param snd_port The sound device port. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) pjmedia_snd_port_destroy(pjmedia_snd_port *snd_port); + + +/** + * Retrieve the sound stream associated by this sound device port. + * + * @param snd_port The sound device port. + * + * @return The sound stream instance. + */ +PJ_DECL(pjmedia_aud_stream*) pjmedia_snd_port_get_snd_stream( + pjmedia_snd_port *snd_port); + + +/** + * Change the echo cancellation settings. The echo cancellation settings + * should have been specified when this sound port was created, by setting + * the appropriate fields in the pjmedia_aud_param, because not all sound + * device implementation supports changing the EC setting once the device + * has been opened. + * + * The behavior of this function depends on whether device or software AEC + * is being used. If the device supports AEC, this function will forward + * the change request to the device and it will be up to the device whether + * to support the request. If software AEC is being used (the software EC + * will be used if the device does not support AEC), this function will + * change the software EC settings. + * + * @param snd_port The sound device port. + * @param pool Pool to re-create the echo canceller if necessary. + * @param tail_ms Maximum echo tail length to be supported, in + * miliseconds. If zero is specified, the EC would + * be disabled. + * @param options The options to be passed to #pjmedia_echo_create(). + * This is only used if software EC is being used. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_snd_port_set_ec( pjmedia_snd_port *snd_port, + pj_pool_t *pool, + unsigned tail_ms, + unsigned options); + + +/** + * Get current echo canceller tail length, in miliseconds. The tail length + * will be zero if EC is not enabled. + * + * @param snd_port The sound device port. + * @param p_length Pointer to receive the tail length. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_snd_port_get_ec_tail(pjmedia_snd_port *snd_port, + unsigned *p_length); + + +/** + * Get a clock source from the sound port. + * + * @param snd_port The sound port. + * @param dir Sound port's direction. + * + * @return The clock source. + */ +PJ_DECL(pjmedia_clock_src *) +pjmedia_snd_port_get_clock_src( pjmedia_snd_port *snd_port, + pjmedia_dir dir ); + + +/** + * Connect a port to the sound device port. If the sound device port has a + * sound recorder device, then this will start periodic function call to + * the port's put_frame() function. If the sound device has a sound player + * device, then this will start periodic function call to the port's + * get_frame() function. + * + * For this version of PJMEDIA, the media port MUST have the same audio + * settings as the sound device port, or otherwise the connection will + * fail. This means the port MUST have the same clock_rate, channel count, + * samples per frame, and bits per sample as the sound device port. + * + * @param snd_port The sound device port. + * @param port The media port to be connected. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) pjmedia_snd_port_connect(pjmedia_snd_port *snd_port, + pjmedia_port *port); + + +/** + * Retrieve the port instance currently attached to the sound port, if any. + * + * @param snd_port The sound device port. + * + * @return The port instance currently attached to the + * sound device port, or NULL if there is no port + * currently attached to the sound device port. + */ +PJ_DECL(pjmedia_port*) pjmedia_snd_port_get_port(pjmedia_snd_port *snd_port); + + +/** + * Disconnect currently attached port from the sound device port. + * + * @param snd_port The sound device port. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_snd_port_disconnect(pjmedia_snd_port *snd_port); + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJMEDIA_SOUND_PORT_H__ */ + diff --git a/pjmedia/include/pjmedia/splitcomb.h b/pjmedia/include/pjmedia/splitcomb.h new file mode 100644 index 0000000..24110f4 --- /dev/null +++ b/pjmedia/include/pjmedia/splitcomb.h @@ -0,0 +1,140 @@ +/* $Id: splitcomb.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_SPLITCOMB_H__ +#define __PJMEDIA_SPLITCOMB_H__ + + +/** + * @file splitcomb.h + * @brief Media channel splitter/combiner port. + */ +#include + + +/** + * @addtogroup PJMEDIA_SPLITCOMB Media channel splitter/combiner + * @ingroup PJMEDIA_PORT + * @brief Split and combine multiple mono-channel media ports into + * a single multiple-channels media port + * @{ + * + * This section describes media port to split and combine media + * channels in the stream. + * + * A splitter/combiner splits a single stereo/multichannels audio frame into + * multiple audio frames to each channel when put_frame() is called, + * and combines mono frames from each channel into a stereo/multichannel + * frame when get_frame() is called. A common application for the splitter/ + * combiner is to split frames from stereo to mono and vise versa. + */ + +PJ_BEGIN_DECL + + +/** + * Create a media splitter/combiner with the specified parameters. + * When the splitter/combiner is created, it creates an instance of + * pjmedia_port. This media port represents the stereo/multichannel side + * of the splitter/combiner. Application needs to supply the splitter/ + * combiner with a media port for each audio channels. + * + * @param pool Pool to allocate memory to create the splitter/ + * combiner. + * @param clock_rate Audio clock rate/sampling rate. + * @param channel_count Number of channels. + * @param samples_per_frame Number of samples per frame. + * @param bits_per_sample Bits per sample. + * @param options Optional flags. + * @param p_splitcomb Pointer to receive the splitter/combiner. + * + * @return PJ_SUCCESS on success, or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_splitcomb_create(pj_pool_t *pool, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + unsigned options, + pjmedia_port **p_splitcomb); + +/** + * Supply the splitter/combiner with media port for the specified channel + * number. The media port will be called at the + * same phase as the splitter/combiner; which means that when application + * calls get_frame() of the splitter/combiner, it will call get_frame() + * for all ports that have the same phase. And similarly for put_frame(). + * + * @param splitcomb The splitter/combiner. + * @param ch_num Audio channel starting number (zero based). + * @param options Must be zero at the moment. + * @param port The media port. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) pjmedia_splitcomb_set_channel(pjmedia_port *splitcomb, + unsigned ch_num, + unsigned options, + pjmedia_port *port); + +/** + * Create a reverse phase media port for the specified channel number. + * For channels with reversed phase, when application calls put_frame() to + * the splitter/combiner, the splitter/combiner will only put the frame to + * a buffer. Later on, when application calls get_frame() on the channel's + * media port, it will return the frame that are available in the buffer. + * The same process happens when application calls put_frame() to the + * channel's media port, it will only put the frame to another buffer, which + * will be returned when application calls get_frame() to the splitter's + * media port. So this effectively reverse the phase of the media port. + * + * @param pool The pool to allocate memory for the port and + * buffers. + * @param splitcomb The splitter/combiner. + * @param ch_num Audio channel starting number (zero based). + * @param options Normally is zero, but the lower 8-bit of the + * options can be used to specify the number of + * buffers in the circular buffer. If zero, then + * default number will be used (default: 8). + * @param p_chport The media port created with reverse phase for + * the specified audio channel. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) +pjmedia_splitcomb_create_rev_channel( pj_pool_t *pool, + pjmedia_port *splitcomb, + unsigned ch_num, + unsigned options, + pjmedia_port **p_chport); + + + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJMEDIA_SPLITCOMB_H__ */ + + diff --git a/pjmedia/include/pjmedia/stereo.h b/pjmedia/include/pjmedia/stereo.h new file mode 100644 index 0000000..7786922 --- /dev/null +++ b/pjmedia/include/pjmedia/stereo.h @@ -0,0 +1,206 @@ +/* $Id: stereo.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_STEREO_H__ +#define __PJMEDIA_STEREO_H__ + +/** + * @file stereo.h + * @brief Monochannel and multichannel converter. + */ + +#include +#include +#include +#include + + +/** + * @defgroup PJMEDIA_STEREO Monochannel and multichannel audio frame converter + * @ingroup PJMEDIA_FRAME_OP + * @brief Mono - multi-channels audio conversion + * @{ + * + */ + +PJ_BEGIN_DECL + + +/** + * Multichannel to monochannel conversion mixes samples from all channels + * into the monochannel. + */ +#define PJMEDIA_STEREO_MIX PJ_TRUE + + + +/** + * Multichannel to monochannel conversion, it has two operation mode specified + * by param options, @see pjmedia_stereo_options. This function can work safely + * using the same buffer (in place conversion). + * + * @param mono Output buffer to store the mono frame extracted + * from the multichannels frame. + * @param multi Input frame containing multichannels audio. + * @param channel_count Number of channels in the input frame. + * @param samples_per_frame Number of samples in the input frame. + * @param mix If the value is PJ_TRUE then the input channels + * will be mixed to produce output frame, otherwise + * only frame from channel_src will be copied to the + * output frame. + * @param channel_src When mixing is disabled, the mono output frame + * will be copied from this channel number. + * + * @return PJ_SUCCESS on success; + */ +PJ_INLINE(pj_status_t) pjmedia_convert_channel_nto1(pj_int16_t mono[], + const pj_int16_t multi[], + unsigned channel_count, + unsigned samples_per_frame, + pj_bool_t mix, + unsigned channel_src) +{ + unsigned i; + + PJ_ASSERT_RETURN(mono && multi && channel_count && samples_per_frame && + channel_src < channel_count, PJ_EINVAL); + + if (mix==PJ_FALSE) { + for (i = channel_src; i < samples_per_frame; i += channel_count) { + *mono = multi[i]; + ++mono; + } + } else { + unsigned j; + for (i = 0; i < samples_per_frame; i += channel_count) { + int tmp = 0; + for(j = 0; j < channel_count; ++j) + tmp += multi[i+j]; + + if (tmp > 32767) tmp = 32767; + else if (tmp < -32768) tmp = -32768; + *mono = (pj_int16_t) tmp; + ++mono; + } + } + + return PJ_SUCCESS; +} + + +/** + * Monochannel to multichannel conversion, it will just duplicate the samples + * from monochannel frame to all channels in the multichannel frame. + * This function can work safely using the same buffer (in place conversion) + * as long as the buffer is big enough for the multichannel samples. + * + * @param multi Output buffer to store the multichannels frame + * mixed from the mono frame. + * @param mono The input monochannel audio frame. + * @param channel_count Desired number of channels in the output frame. + * @param samples_per_frame Number of samples in the input frame. + * @param options Options for conversion, currently must be zero. + * + * @return PJ_SUCCESS on success; + */ +PJ_INLINE(pj_status_t) pjmedia_convert_channel_1ton(pj_int16_t multi[], + const pj_int16_t mono[], + unsigned channel_count, + unsigned samples_per_frame, + unsigned options) +{ + const pj_int16_t *src; + + PJ_ASSERT_RETURN(mono && multi && channel_count && samples_per_frame, + PJ_EINVAL); + PJ_ASSERT_RETURN(options == 0, PJ_EINVAL); + + PJ_UNUSED_ARG(options); + + src = mono + samples_per_frame - 1; + samples_per_frame *= channel_count; + while (samples_per_frame) { + unsigned i; + for (i=1; i<=channel_count; ++i) + multi[samples_per_frame-i] = *src; + samples_per_frame -= channel_count; + --src; + } + + return PJ_SUCCESS; +} + + +/** + * Options for channel converter port. The #pjmedia_stereo_options is also + * valid for this port options. + */ +typedef enum pjmedia_stereo_port_options +{ + /** + * Specifies whether this port should not destroy downstream port when + * this port is destroyed. + */ + PJMEDIA_STEREO_DONT_DESTROY_DN = 4 +} pjmedia_stereo_port_options; + + +/** + * Create a mono-multi channel converter port. This creates a converter session, + * which will adjust the samples of audio frame to a different channel count + * when the port's get_frame() and put_frame() is called. + * + * When the port's get_frame() is called, this port will get a frame from + * the downstream port and convert the frame to the target channel count before + * returning it to the caller. + * + * When the port's put_frame() is called, this port will convert the frame + * to the downstream port's channel count before giving the frame to the + * downstream port. + * + * @param pool Pool to allocate the structure and buffers. + * @param dn_port The downstream port, which channel count is to + * be converted to the target channel count. + * @param channel_count This port channel count. + * @param options Bitmask flags from #pjmedia_stereo_port_options + * and also application may add PJMEDIA_STEREO_MIX + * to mix channels. + * When this flag is zero, the default behavior + * is to use simple N-to-1 channel converter and + * to destroy downstream port when this port is + * destroyed. + * @param p_port Pointer to receive the stereo port instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_stereo_port_create( pj_pool_t *pool, + pjmedia_port *dn_port, + unsigned channel_count, + unsigned options, + pjmedia_port **p_port ); + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_STEREO_H__ */ + diff --git a/pjmedia/include/pjmedia/stream.h b/pjmedia/include/pjmedia/stream.h new file mode 100644 index 0000000..3522abc --- /dev/null +++ b/pjmedia/include/pjmedia/stream.h @@ -0,0 +1,439 @@ +/* $Id: stream.h 4739 2014-02-11 04:46:49Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_STREAM_H__ +#define __PJMEDIA_STREAM_H__ + + +/** + * @file stream.h + * @brief Media Stream. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +PJ_BEGIN_DECL + + +/** + * @defgroup PJMED_STRM Streams + * @ingroup PJMEDIA_PORT + * @brief Communicating with remote peer via the network + * @{ + * + * A media stream is a bidirectional multimedia communication between two + * endpoints. It corresponds to a media description (m= line) in SDP + * session descriptor. + * + * A media stream consists of two unidirectional channels: + * - encoding channel, which transmits unidirectional media to remote, and + * - decoding channel, which receives unidirectional media from remote. + * + * A media stream exports media port interface (see @ref PJMEDIA_PORT) + * and application normally uses this interface to interconnect the stream + * to other PJMEDIA components. + * + * A media stream internally manages the following objects: + * - an instance of media codec (see @ref PJMEDIA_CODEC), + * - an @ref PJMED_JBUF, + * - two instances of RTP sessions (#pjmedia_rtp_session, one for each + * direction), + * - one instance of RTCP session (#pjmedia_rtcp_session), + * - and a reference to media transport to send and receive packets + * to/from the network (see @ref PJMEDIA_TRANSPORT). + * + * Streams are created by calling #pjmedia_stream_create(), specifying + * #pjmedia_stream_info structure in the parameter. Application can construct + * the #pjmedia_stream_info structure manually, or use + * #pjmedia_stream_info_from_sdp() or #pjmedia_session_info_from_sdp() + * functions to construct the #pjmedia_stream_info from local and remote + * SDP session descriptors. + * + * Application can also use @ref PJMEDIA_SESSION to indirectly create the + * streams. + */ + +/** + * Opaque declaration for media channel. + * Media channel is unidirectional flow of media from sender to + * receiver. + */ +typedef struct pjmedia_channel pjmedia_channel; + +/** + * This structure describes media stream information. Each media stream + * corresponds to one "m=" line in SDP session descriptor, and it has + * its own RTP/RTCP socket pair. + */ +typedef struct pjmedia_stream_info +{ + pjmedia_type type; /**< Media type (audio, video) */ + pjmedia_tp_proto proto; /**< Transport protocol (RTP/AVP, etc.) */ + pjmedia_dir dir; /**< Media direction. */ + pj_sockaddr rem_addr; /**< Remote RTP address */ + pj_sockaddr rem_rtcp; /**< Optional remote RTCP address. If + sin_family is zero, the RTP address + will be calculated from RTP. */ +#if defined(PJMEDIA_HAS_RTCP_XR) && (PJMEDIA_HAS_RTCP_XR != 0) + pj_bool_t rtcp_xr_enabled; + /**< Specify whether RTCP XR is enabled.*/ + pj_uint32_t rtcp_xr_interval; /**< RTCP XR interval. */ + pj_sockaddr rtcp_xr_dest;/** +#include + + +PJ_BEGIN_DECL + +/** + * This is internal function for parsing SDP format parameter of specific + * format or payload type, used by stream in generating stream info from SDP. + * + * @param pool Pool to allocate memory, if pool is NULL, the fmtp + * string pointers will point to the original string in + * the SDP media descriptor. + * @param m The SDP media containing the format parameter to + * be parsed. + * @param pt The format or payload type. + * @param fmtp The format parameter to store the parsing result. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_stream_info_parse_fmtp(pj_pool_t *pool, + const pjmedia_sdp_media *m, + unsigned pt, + pjmedia_codec_fmtp *fmtp); + + +PJ_END_DECL + + +#endif /* __PJMEDIA_STREAM_COMMON_H__ */ diff --git a/pjmedia/include/pjmedia/symbian_sound_aps.h b/pjmedia/include/pjmedia/symbian_sound_aps.h new file mode 100644 index 0000000..096e1fa --- /dev/null +++ b/pjmedia/include/pjmedia/symbian_sound_aps.h @@ -0,0 +1,48 @@ +/* $Id: symbian_sound_aps.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_SYMBIAN_SOUND_APS_H__ +#define __PJMEDIA_SYMBIAN_SOUND_APS_H__ + + +/** + * @file symbian_sound_aps.h + * @brief Sound device wrapper using Audio Proxy Server on + * Symbian S60 3rd edition. + */ +#include + +PJ_BEGIN_DECL + +/** + * Set audio routing for APS sound device. + * + * @param stream The sound device stream, the stream should be started + * before calling this function. + * @param route Audio routing to be set. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_snd_aps_set_route( pjmedia_snd_stream *stream, + pjmedia_snd_route route); + +PJ_END_DECL + + +#endif /* __PJMEDIA_SYMBIAN_SOUND_APS_H__ */ diff --git a/pjmedia/include/pjmedia/tonegen.h b/pjmedia/include/pjmedia/tonegen.h new file mode 100644 index 0000000..38dc602 --- /dev/null +++ b/pjmedia/include/pjmedia/tonegen.h @@ -0,0 +1,293 @@ +/* $Id: tonegen.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_TONEGEN_PORT_H__ +#define __PJMEDIA_TONEGEN_PORT_H__ + +/** + * @file tonegen.h + * @brief Tone (sine, MF, DTMF) generator media port. + */ +#include + + +/** + * @defgroup PJMEDIA_MF_DTMF_TONE_GENERATOR Multi-frequency tone generator + * @ingroup PJMEDIA_PORT + * @brief Multi-frequency tone generator + * @{ + * + * This page describes tone generator media port. A tone generator can be + * used to generate a single frequency sine wave or dual frequency tones + * such as DTMF. + * + * The tone generator media port provides two functions to generate tones. + * The function #pjmedia_tonegen_play() can be used to generate arbitrary + * single or dual frequency tone, and #pjmedia_tonegen_play_digits() is + * used to play digits such as DTMF. Each tone specified in the playback + * function has individual on and off signal duration that must be + * specified by application. + * + * In order to play digits such as DTMF, the tone generator is equipped + * with digit map, which contain information about the frequencies of + * the digits. The default digit map is DTMF (0-9,a-d,*,#), but application + * may specifiy different digit map to the tone generator by calling + * #pjmedia_tonegen_set_digit_map() function. + */ + +PJ_BEGIN_DECL + + +/** + * This structure describes individual MF digits to be played + * with #pjmedia_tonegen_play(). + */ +typedef struct pjmedia_tone_desc +{ + short freq1; /**< First frequency. */ + short freq2; /**< Optional second frequency. */ + short on_msec; /**< Playback ON duration, in miliseconds. */ + short off_msec; /**< Playback OFF duration, ini miliseconds. */ + short volume; /**< Volume (1-32767), or 0 for default, which + PJMEDIA_TONEGEN_VOLUME will be used. */ + short flags; /**< Currently internal flags, must be 0 */ +} pjmedia_tone_desc; + + + +/** + * This structure describes individual MF digits to be played + * with #pjmedia_tonegen_play_digits(). + */ +typedef struct pjmedia_tone_digit +{ + char digit; /**< The ASCI identification for the digit. */ + short on_msec; /**< Playback ON duration, in miliseconds. */ + short off_msec; /**< Playback OFF duration, ini miliseconds. */ + short volume; /**< Volume (1-32767), or 0 for default, which + PJMEDIA_TONEGEN_VOLUME will be used. */ +} pjmedia_tone_digit; + + +/** + * This structure describes the digit map which is used by the tone generator + * to produce tones from an ASCII digits. + * Digit map used by a particular tone generator can be retrieved/set with + * #pjmedia_tonegen_get_digit_map() and #pjmedia_tonegen_set_digit_map(). + */ +typedef struct pjmedia_tone_digit_map +{ + unsigned count; /**< Number of digits in the map. */ + + struct { + char digit; /**< The ASCI identification for the digit. */ + short freq1; /**< First frequency. */ + short freq2; /**< Optional second frequency. */ + } digits[16]; /**< Array of digits in the digit map. */ +} pjmedia_tone_digit_map; + + +/** + * Tone generator options. + */ +enum +{ + /** + * Play the tones in loop, restarting playing the first tone after + * the last tone has been played. + */ + PJMEDIA_TONEGEN_LOOP = 1, + + /** + * Disable mutex protection to the tone generator. + */ + PJMEDIA_TONEGEN_NO_LOCK = 2 +}; + + +/** + * Create an instance of tone generator with the specified parameters. + * When the tone generator is first created, it will be loaded with the + * default digit map. + * + * @param pool Pool to allocate memory for the port structure. + * @param clock_rate Sampling rate. + * @param channel_count Number of channels. Currently only mono and stereo + * are supported. + * @param samples_per_frame Number of samples per frame. + * @param bits_per_sample Number of bits per sample. This version of PJMEDIA + * only supports 16bit per sample. + * @param options Option flags. Application may specify + * PJMEDIA_TONEGEN_LOOP to play the tone in a loop. + * @param p_port Pointer to receive the port instance. + * + * @return PJ_SUCCESS on success, or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_tonegen_create(pj_pool_t *pool, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + unsigned options, + pjmedia_port **p_port); + + +/** + * Create an instance of tone generator with the specified parameters. + * When the tone generator is first created, it will be loaded with the + * default digit map. + * + * @param pool Pool to allocate memory for the port structure. + * @param name Optional name for the tone generator. + * @param clock_rate Sampling rate. + * @param channel_count Number of channels. Currently only mono and stereo + * are supported. + * @param samples_per_frame Number of samples per frame. + * @param bits_per_sample Number of bits per sample. This version of PJMEDIA + * only supports 16bit per sample. + * @param options Option flags. Application may specify + * PJMEDIA_TONEGEN_LOOP to play the tone in a loop. + * @param p_port Pointer to receive the port instance. + * + * @return PJ_SUCCESS on success, or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_tonegen_create2(pj_pool_t *pool, + const pj_str_t *name, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + unsigned options, + pjmedia_port **p_port); + + +/** + * Check if the tone generator is still busy producing some tones. + * + * @param tonegen The tone generator instance. + * + * @return Non-zero if busy. + */ +PJ_DECL(pj_bool_t) pjmedia_tonegen_is_busy(pjmedia_port *tonegen); + + +/** + * Instruct the tone generator to stop current processing. + * + * @param tonegen The tone generator instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_tonegen_stop(pjmedia_port *tonegen); + + +/** + * Rewind the playback. This will start the playback to the first + * tone in the playback list. + * + * @param tonegen The tone generator instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_tonegen_rewind(pjmedia_port *tonegen); + + +/** + * Instruct the tone generator to play single or dual frequency tones + * with the specified duration. The new tones will be appended to currently + * playing tones, unless #pjmedia_tonegen_stop() is called before calling + * this function. The playback will begin as soon as the first get_frame() + * is called to the generator. + * + * @param tonegen The tone generator instance. + * @param count The number of tones in the array. + * @param tones Array of tones to be played. + * @param options Option flags. Application may specify + * PJMEDIA_TONEGEN_LOOP to play the tone in a loop. + * + * @return PJ_SUCCESS on success, or PJ_ETOOMANY if + * there are too many digits in the queue. + */ +PJ_DECL(pj_status_t) pjmedia_tonegen_play(pjmedia_port *tonegen, + unsigned count, + const pjmedia_tone_desc tones[], + unsigned options); + +/** + * Instruct the tone generator to play multiple MF digits with each of + * the digits having individual ON/OFF duration. Each of the digit in the + * digit array must have the corresponding descriptor in the digit map. + * The new tones will be appended to currently playing tones, unless + * #pjmedia_tonegen_stop() is called before calling this function. + * The playback will begin as soon as the first get_frame() is called + * to the generator. + * + * @param tonegen The tone generator instance. + * @param count Number of digits in the array. + * @param digits Array of MF digits. + * @param options Option flags. Application may specify + * PJMEDIA_TONEGEN_LOOP to play the tone in a loop. + * + * @return PJ_SUCCESS on success, or PJ_ETOOMANY if + * there are too many digits in the queue, or + * PJMEDIA_RTP_EINDTMF if invalid digit is + * specified. + */ +PJ_DECL(pj_status_t) pjmedia_tonegen_play_digits(pjmedia_port *tonegen, + unsigned count, + const pjmedia_tone_digit digits[], + unsigned options); + + +/** + * Get the digit-map currently used by this tone generator. + * + * @param tonegen The tone generator instance. + * @param m On output, it will be filled with the pointer to + * the digitmap currently used by the tone generator. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_tonegen_get_digit_map(pjmedia_port *tonegen, + const pjmedia_tone_digit_map **m); + + +/** + * Set digit map to be used by the tone generator. + * + * @param tonegen The tone generator instance. + * @param m Digitmap to be used by the tone generator. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_tonegen_set_digit_map(pjmedia_port *tonegen, + pjmedia_tone_digit_map *m); + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_TONEGEN_PORT_H__ */ + diff --git a/pjmedia/include/pjmedia/transport.h b/pjmedia/include/pjmedia/transport.h new file mode 100644 index 0000000..5ae9560 --- /dev/null +++ b/pjmedia/include/pjmedia/transport.h @@ -0,0 +1,875 @@ +/* $Id: transport.h 4811 2014-04-08 07:25:20Z riza $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_TRANSPORT_H__ +#define __PJMEDIA_TRANSPORT_H__ + + +/** + * @file transport.h Media Transport Interface + * @brief Transport interface. + */ + +#include +#include +#include + +/** + * @defgroup PJMEDIA_TRANSPORT Media Transport + * @brief Transports. + * @{ + * The media transport (#pjmedia_transport) is the object to send and + * receive media packets over the network. The media transport interface + * allows the library to be extended to support different types of + * transports to send and receive packets. + * + * The media transport is declared as #pjmedia_transport "class", which + * declares "interfaces" to use the class in #pjmedia_transport_op + * structure. For the user of the media transport (normally the user of + * media transport is media stream, see \ref PJMED_STRM), these transport + * "methods" are wrapped with API such as #pjmedia_transport_attach(), + * so it should not need to call the function pointer inside + * #pjmedia_transport_op directly. + * + * The connection between \ref PJMED_STRM and media transport is shown in + * the diagram below: + + \image html media-transport.PNG + + + * \section PJMEDIA_TRANSPORT_H_USING Basic Media Transport Usage + * + * The media transport's life-cycle normally follows the following stages. + * + * \subsection PJMEDIA_TRANSPORT_H_CREATE Creating the Media Transport + * + * Application creates the media transport when it needs to establish + * media session to remote peer. The media transport is created using + * specific function to create that particular transport; for example, + * for UDP media transport, it is created with #pjmedia_transport_udp_create() + * or #pjmedia_transport_udp_create2() functions. Different media + * transports will provide different API to create those transports. + * + * Alternatively, application may create pool of media transports when + * it is first started up. Using this approach probably is better, since + * application has to specify the RTP port when sending the initial + * session establishment request (e.g. SIP INVITE request), thus if + * application only creates the media transport later when media is to be + * established (normally when 200/OK is received, or when 18x is received + * for early media), there is a possibility that the particular RTP + * port might have been occupied by other programs. Also it is more + * efficient since sockets don't need to be closed and re-opened between + * calls. + * + * + * \subsection PJMEDIA_TRANSPORT_H_ATTACH Attaching and Using the Media Transport. + * + * Application specifies the media transport instance when creating + * the media session (#pjmedia_session_create()). Alternatively, it + * may create the media stream directly with #pjmedia_stream_create() + * and specify the transport instance in the argument. (Note: media + * session is a high-level abstraction for media communications between + * two endpoints, and it may contain more than one media streams, for + * example, an audio stream and a video stream). + * + * When stream is created, it will "attach" itself to the media + * transport by calling #pjmedia_transport_attach(), which is a thin + * wrapper which calls "attach()" method of the media transport's + * "virtual function pointer" (#pjmedia_transport_op). Among other things, + * the stream specifies two callback functions to the transport: one + * callback function will be called by transport when it receives RTP + * packet, and another callback for incoming RTCP packet. The + * #pjmedia_transport_attach() function also establish the destination + * of the outgoing RTP and RTCP packets. + * + * When the stream needs to send outgoing RTP/RTCP packets, it will + * call #pjmedia_transport_send_rtp() and #pjmedia_transport_send_rtcp() + * of the media transport API, which is a thin wrapper to call send_rtp() + * and send_rtcp() methods in the media transport's "virtual function + * pointer" (#pjmedia_transport_op). + * + * When the stream is destroyed, it will "detach" itself from + * the media transport by calling #pjmedia_transport_detach(), which is + * a thin wrapper which calls "detach()" method of the media transport's + * "virtual function pointer" (#pjmedia_transport_op). After the transport + * is detached from its user (the stream), it will no longer report + * incoming RTP/RTCP packets to the stream, and it will refuse to send + * outgoing packets since the destination has been cleared. + * + * + * \subsection PJMEDIA_TRANSPORT_H_REUSE Reusing the Media Transport. + * + * After transport has been detached, application may re-attach the + * transport to another stream if it wants to. Detaching and re-attaching + * media transport may be preferable than closing and re-opening the + * transport, since it is more efficient (sockets don't need to be + * closed and re-opened). However it is up to the application to choose + * which method is most suitable for its uses. + * + * + * \subsection PJMEDIA_TRANSPORT_H_DESTROY Destroying the Media Transport. + * + * Finally if application no longer needs the media transport, it will + * call #pjmedia_transport_close() function, which is thin wrapper which + * calls "destroy()" method of the media transport's "virtual function + * pointer" (#pjmedia_transport_op). This function releases + * all resources used by the transport, such as sockets and memory. + * + * + * \section offer_answer Interaction with SDP Offer/Answer + + For basic UDP transport, the \ref PJMEDIA_TRANSPORT_H_USING above is + sufficient to use the media transport. However, more complex media + transports such as \ref PJMEDIA_TRANSPORT_SRTP and \ref + PJMEDIA_TRANSPORT_ICE requires closer interactions with SDP offer and + answer negotiation. + + The media transports can interact with the SDP offer/answer via + these APIs: + - #pjmedia_transport_media_create(), to initialize the media transport + for new media session, + - #pjmedia_transport_encode_sdp(), to encode SDP offer or answer, + - #pjmedia_transport_media_start(), to activate the settings that + have been negotiated by SDP offer answer, and + - #pjmedia_transport_media_stop(), to deinitialize the media transport + and reset the transport to its idle state. + + The usage of these API in the context of SDP offer answer will be + described below. + + \subsection media_create Initializing Transport for New Session + + Application must call #pjmedia_transport_media_create() before using + the transport for a new session. + + \subsection creat_oa Creating SDP Offer and Answer + + The #pjmedia_transport_encode_sdp() is used to put additional information + from the transport to the local SDP, before the SDP is sent and negotiated + with remote SDP. + + When creating an offer, call #pjmedia_transport_encode_sdp() with + local SDP (and NULL as \a rem_sdp). The media transport will add the + relevant attributes in the local SDP. Application then gives the local + SDP to the invite session to be sent to remote agent. + + When creating an answer, also call #pjmedia_transport_encode_sdp(), + but this time specify both local and remote SDP to the function. The + media transport will once again modify the local SDP and add relevant + attributes to the local SDP, if the appropriate attributes related to + the transport functionality are present in remote offer. The remote + SDP does not contain the relevant attributes, then the specific transport + functionality will not be activated for the session. + + The #pjmedia_transport_encode_sdp() should also be called when application + sends subsequent SDP offer or answer. The media transport will encode + the appropriate attributes based on the state of the session. + + \subsection media_start Offer/Answer Completion + + Once both local and remote SDP have been negotiated by the + \ref PJMEDIA_SDP_NEG (normally this is part of PJSIP invite session), + application should give both local and remote SDP to + #pjmedia_transport_media_start() so that the settings are activated + for the session. This function should be called for both initial and + subsequent SDP negotiation. + + \subsection media_stop Stopping Transport + + Once session is stop application must call #pjmedia_transport_media_stop() + to deactivate the transport feature. Application may reuse the transport + for subsequent media session by repeating the #pjmedia_transport_media_create(), + #pjmedia_transport_encode_sdp(), #pjmedia_transport_media_start(), and + #pjmedia_transport_media_stop() above. + + * \section PJMEDIA_TRANSPORT_H_IMPL Implementing Media Transport + * + * To implement a new type of media transport, one needs to "subclass" the + * media transport "class" (#pjmedia_transport) by providing the "methods" + * in the media transport "interface" (#pjmedia_transport_op), and provides + * a function to create this new type of transport (similar to + * #pjmedia_transport_udp_create() function). + * + * The media transport is expected to run indepently, that is there should + * be no polling like function to poll the transport for incoming RTP/RTCP + * packets. This normally can be done by registering the media sockets to + * the media endpoint's IOQueue, which allows the transport to be notified + * when incoming packet has arrived. + * + * Alternatively, media transport may utilize thread(s) internally to wait + * for incoming packets. The thread then will call the appropriate RTP or + * RTCP callback provided by its user (stream) whenever packet is received. + * If the transport's user is a stream, then the callbacks provided by the + * stream will be thread-safe, so the transport may call these callbacks + * without having to serialize the access with some mutex protection. But + * the media transport may still have to protect its internal data with + * mutex protection, since it may be called by application's thread (for + * example, to send RTP/RTCP packets). + * + */ + + +#include + +PJ_BEGIN_DECL + + +/** + * Forward declaration for media transport. + */ +typedef struct pjmedia_transport pjmedia_transport; + +/** + * Forward declaration for media transport info. + */ +typedef struct pjmedia_transport_info pjmedia_transport_info; + +/** + * This enumeration specifies the general behaviour of media processing + */ +typedef enum pjmedia_tranport_media_option +{ + /** + * When this flag is specified, the transport will not perform media + * transport validation, this is useful when transport is stacked with + * other transport, for example when transport UDP is stacked under + * transport SRTP, media transport validation only need to be done by + * transport SRTP. + */ + PJMEDIA_TPMED_NO_TRANSPORT_CHECKING = 1 + +} pjmedia_tranport_media_option; + + +/** + * Media socket info is used to describe the underlying sockets + * to be used as media transport. + */ +typedef struct pjmedia_sock_info +{ + /** The RTP socket handle */ + pj_sock_t rtp_sock; + + /** Address to be advertised as the local address for the RTP + * socket, which does not need to be equal as the bound + * address (for example, this address can be the address resolved + * with STUN). + */ + pj_sockaddr rtp_addr_name; + + /** The RTCP socket handle. */ + pj_sock_t rtcp_sock; + + /** Address to be advertised as the local address for the RTCP + * socket, which does not need to be equal as the bound + * address (for example, this address can be the address resolved + * with STUN). + */ + pj_sockaddr rtcp_addr_name; + +} pjmedia_sock_info; + + +/** + * This structure describes the operations for the stream transport. + */ +struct pjmedia_transport_op +{ + /** + * Get media socket info from the specified transport. + * + * Application should call #pjmedia_transport_get_info() instead + */ + pj_status_t (*get_info)(pjmedia_transport *tp, + pjmedia_transport_info *info); + + /** + * This function is called by the stream when the transport is about + * to be used by the stream for the first time, and it tells the transport + * about remote RTP address to send the packet and some callbacks to be + * called for incoming packets. + * + * Application should call #pjmedia_transport_attach() instead of + * calling this function directly. + */ + pj_status_t (*attach)(pjmedia_transport *tp, + void *user_data, + const pj_sockaddr_t *rem_addr, + const pj_sockaddr_t *rem_rtcp, + unsigned addr_len, + void (*rtp_cb)(void *user_data, + void *pkt, + pj_ssize_t size), + void (*rtcp_cb)(void *user_data, + void *pkt, + pj_ssize_t size)); + + /** + * This function is called by the stream when the stream no longer + * needs the transport (normally when the stream is about to be closed). + * After the transport is detached, it will ignore incoming + * RTP/RTCP packets, and will refuse to send outgoing RTP/RTCP packets. + * Application may re-attach the media transport to another transport + * user (e.g. stream) after the transport has been detached. + * + * Application should call #pjmedia_transport_detach() instead of + * calling this function directly. + */ + void (*detach)(pjmedia_transport *tp, + void *user_data); + + /** + * This function is called by the stream to send RTP packet using the + * transport. + * + * Application should call #pjmedia_transport_send_rtp() instead of + * calling this function directly. + */ + pj_status_t (*send_rtp)(pjmedia_transport *tp, + const void *pkt, + pj_size_t size); + + /** + * This function is called by the stream to send RTCP packet using the + * transport. + * + * Application should call #pjmedia_transport_send_rtcp() instead of + * calling this function directly. + */ + pj_status_t (*send_rtcp)(pjmedia_transport *tp, + const void *pkt, + pj_size_t size); + + /** + * This function is called by the stream to send RTCP packet using the + * transport with destination address other than default specified in + * #pjmedia_transport_attach(). + * + * Application should call #pjmedia_transport_send_rtcp2() instead of + * calling this function directly. + */ + pj_status_t (*send_rtcp2)(pjmedia_transport *tp, + const pj_sockaddr_t *addr, + unsigned addr_len, + const void *pkt, + pj_size_t size); + + /** + * Prepare the transport for a new media session. + * + * Application should call #pjmedia_transport_media_create() instead of + * calling this function directly. + */ + pj_status_t (*media_create)(pjmedia_transport *tp, + pj_pool_t *sdp_pool, + unsigned options, + const pjmedia_sdp_session *remote_sdp, + unsigned media_index); + + /** + * This function is called by application to generate the SDP parts + * related to transport type, e.g: ICE, SRTP. + * + * Application should call #pjmedia_transport_encode_sdp() instead of + * calling this function directly. + */ + pj_status_t (*encode_sdp)(pjmedia_transport *tp, + pj_pool_t *sdp_pool, + pjmedia_sdp_session *sdp_local, + const pjmedia_sdp_session *rem_sdp, + unsigned media_index); + + /** + * This function is called by application to start the transport + * based on local and remote SDP. + * + * Application should call #pjmedia_transport_media_start() instead of + * calling this function directly. + */ + pj_status_t (*media_start) (pjmedia_transport *tp, + pj_pool_t *tmp_pool, + const pjmedia_sdp_session *sdp_local, + const pjmedia_sdp_session *sdp_remote, + unsigned media_index); + + /** + * This function is called by application to stop the transport. + * + * Application should call #pjmedia_transport_media_stop() instead of + * calling this function directly. + */ + pj_status_t (*media_stop) (pjmedia_transport *tp); + + /** + * This function can be called to simulate packet lost. + * + * Application should call #pjmedia_transport_simulate_lost() instead of + * calling this function directly. + */ + pj_status_t (*simulate_lost)(pjmedia_transport *tp, + pjmedia_dir dir, + unsigned pct_lost); + + /** + * This function can be called to destroy this transport. + * + * Application should call #pjmedia_transport_close() instead of + * calling this function directly. + */ + pj_status_t (*destroy)(pjmedia_transport *tp); +}; + + +/** + * @see pjmedia_transport_op. + */ +typedef struct pjmedia_transport_op pjmedia_transport_op; + + +/** + * Media transport type. + */ +typedef enum pjmedia_transport_type +{ + /** Media transport using standard UDP */ + PJMEDIA_TRANSPORT_TYPE_UDP, + + /** Media transport using ICE */ + PJMEDIA_TRANSPORT_TYPE_ICE, + + /** + * Media transport SRTP, this transport is actually security adapter to be + * stacked with other transport to enable encryption on the underlying + * transport. + */ + PJMEDIA_TRANSPORT_TYPE_SRTP, + + /** + * Start of user defined transport. + */ + PJMEDIA_TRANSPORT_TYPE_USER + +} pjmedia_transport_type; + + +/** + * This structure declares media transport. A media transport is called + * by the stream to transmit a packet, and will notify stream when + * incoming packet is arrived. + */ +struct pjmedia_transport +{ + /** Transport name (for logging purpose). */ + char name[PJ_MAX_OBJ_NAME]; + + /** Transport type. */ + pjmedia_transport_type type; + + /** Transport's "virtual" function table. */ + pjmedia_transport_op *op; + + /** Application/user data */ + void *user_data; +}; + +/** + * This structure describes storage buffer of transport specific info. + * The actual transport specific info contents will be defined by transport + * implementation. Note that some transport implementations do not need to + * provide specific info, since the general socket info is enough. + */ +typedef struct pjmedia_transport_specific_info +{ + /** + * Specify media transport type. + */ + pjmedia_transport_type type; + + /** + * Specify storage buffer size of transport specific info. + */ + int cbsize; + + /** + * Storage buffer of transport specific info. + */ + char buffer[PJMEDIA_TRANSPORT_SPECIFIC_INFO_MAXSIZE]; + +} pjmedia_transport_specific_info; + + +/** + * This structure describes transport informations, including general + * socket information and specific information of single transport or + * stacked transports (e.g: SRTP stacked on top of UDP) + */ +struct pjmedia_transport_info +{ + /** + * General socket info. + */ + pjmedia_sock_info sock_info; + + /** + * Remote address where RTP/RTCP originated from. In case this transport + * hasn't ever received packet, the + */ + pj_sockaddr src_rtp_name; + pj_sockaddr src_rtcp_name; + + /** + * Specifies number of transport specific info included. + */ + unsigned specific_info_cnt; + + /** + * Buffer storage of transport specific info. + */ + pjmedia_transport_specific_info spc_info[PJMEDIA_TRANSPORT_SPECIFIC_INFO_MAXCNT]; + +}; + + +/** + * Initialize transport info. + * + * @param info Transport info to be initialized. + */ +PJ_INLINE(void) pjmedia_transport_info_init(pjmedia_transport_info *info) +{ + pj_bzero(info, sizeof(pjmedia_transport_info)); + info->sock_info.rtp_sock = info->sock_info.rtcp_sock = PJ_INVALID_SOCKET; +} + + +/** + * Get media transport info from the specified transport and all underlying + * transports if any. The transport also contains information about socket info + * which describes the local address of the transport, and would be needed + * for example to fill in the "c=" and "m=" line of local SDP. + * + * @param tp The transport. + * @param info Media transport info to be initialized. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE(pj_status_t) pjmedia_transport_get_info(pjmedia_transport *tp, + pjmedia_transport_info *info) +{ + if (tp && tp->op && tp->op->get_info) + return (*tp->op->get_info)(tp, info); + + return PJ_ENOTSUP; +} + + +/** + * Utility API to get transport type specific info from the specified media + * transport info. + * + * @param info Media transport info. + * @param type Media transport type. + * + * @return Pointer to media transport specific info, or NULL if + * specific info for the transport type is not found. + */ +PJ_INLINE(void*) pjmedia_transport_info_get_spc_info( + pjmedia_transport_info *info, + pjmedia_transport_type type) +{ + unsigned i; + for (i = 0; i < info->specific_info_cnt; ++i) { + if (info->spc_info[i].type == type) + return (void*)info->spc_info[i].buffer; + } + return NULL; +} + + +/** + * Attach callbacks to be called on receipt of incoming RTP/RTCP packets. + * This is just a simple wrapper which calls attach() member of + * the transport. + * + * @param tp The media transport. + * @param user_data Arbitrary user data to be set when the callbacks are + * called. + * @param rem_addr Remote RTP address to send RTP packet to. + * @param rem_rtcp Optional remote RTCP address. If the argument is NULL + * or if the address is zero, the RTCP address will be + * calculated from the RTP address (which is RTP port + * plus one). + * @param addr_len Length of the remote address. + * @param rtp_cb Callback to be called when RTP packet is received on + * the transport. + * @param rtcp_cb Callback to be called when RTCP packet is received on + * the transport. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_INLINE(pj_status_t) pjmedia_transport_attach(pjmedia_transport *tp, + void *user_data, + const pj_sockaddr_t *rem_addr, + const pj_sockaddr_t *rem_rtcp, + unsigned addr_len, + void (*rtp_cb)(void *user_data, + void *pkt, + pj_ssize_t), + void (*rtcp_cb)(void *usr_data, + void*pkt, + pj_ssize_t)) +{ + return tp->op->attach(tp, user_data, rem_addr, rem_rtcp, addr_len, + rtp_cb, rtcp_cb); +} + + +/** + * Detach callbacks from the transport. + * This is just a simple wrapper which calls detach() member of + * the transport. After the transport is detached, it will ignore incoming + * RTP/RTCP packets, and will refuse to send outgoing RTP/RTCP packets. + * Application may re-attach the media transport to another transport user + * (e.g. stream) after the transport has been detached. + * + * @param tp The media transport. + * @param user_data User data which must match the previously set value + * on attachment. + */ +PJ_INLINE(void) pjmedia_transport_detach(pjmedia_transport *tp, + void *user_data) +{ + tp->op->detach(tp, user_data); +} + + +/** + * Send RTP packet with the specified media transport. This is just a simple + * wrapper which calls send_rtp() member of the transport. The + * RTP packet will be delivered to the destination address specified in + * #pjmedia_transport_attach() function. + * + * @param tp The media transport. + * @param pkt The packet to send. + * @param size Size of the packet. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_INLINE(pj_status_t) pjmedia_transport_send_rtp(pjmedia_transport *tp, + const void *pkt, + pj_size_t size) +{ + return (*tp->op->send_rtp)(tp, pkt, size); +} + + +/** + * Send RTCP packet with the specified media transport. This is just a simple + * wrapper which calls send_rtcp() member of the transport. The + * RTCP packet will be delivered to the destination address specified in + * #pjmedia_transport_attach() function. + * + * @param tp The media transport. + * @param pkt The packet to send. + * @param size Size of the packet. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_INLINE(pj_status_t) pjmedia_transport_send_rtcp(pjmedia_transport *tp, + const void *pkt, + pj_size_t size) +{ + return (*tp->op->send_rtcp)(tp, pkt, size); +} + + +/** + * Send RTCP packet with the specified media transport. This is just a simple + * wrapper which calls send_rtcp2() member of the transport. The + * RTCP packet will be delivered to the destination address specified in + * param addr, if addr is NULL, RTCP packet will be delivered to destination + * address specified in #pjmedia_transport_attach() function. + * + * @param tp The media transport. + * @param addr The destination address. + * @param addr_len Length of destination address. + * @param pkt The packet to send. + * @param size Size of the packet. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_INLINE(pj_status_t) pjmedia_transport_send_rtcp2(pjmedia_transport *tp, + const pj_sockaddr_t *addr, + unsigned addr_len, + const void *pkt, + pj_size_t size) +{ + return (*tp->op->send_rtcp2)(tp, addr, addr_len, pkt, size); +} + + +/** + * Prepare the media transport for a new media session, Application must + * call this function before starting a new media session using this + * transport. + * + * This is just a simple wrapper which calls media_create() member + * of the transport. + * + * @param tp The media transport. + * @param sdp_pool Pool object to allocate memory related to SDP + * messaging components. + * @param options Option flags, from #pjmedia_tranport_media_option + * @param rem_sdp Remote SDP if local SDP is an answer, otherwise + * specify NULL if SDP is an offer. + * @param media_index Media index in SDP. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_INLINE(pj_status_t) pjmedia_transport_media_create(pjmedia_transport *tp, + pj_pool_t *sdp_pool, + unsigned options, + const pjmedia_sdp_session *rem_sdp, + unsigned media_index) +{ + return (*tp->op->media_create)(tp, sdp_pool, options, rem_sdp, + media_index); +} + + +/** + * Put transport specific information into the SDP. This function can be + * called to put transport specific information in the initial or + * subsequent SDP offer or answer. + * + * This is just a simple wrapper which calls encode_sdp() member + * of the transport. + * + * @param tp The media transport. + * @param sdp_pool Pool object to allocate memory related to SDP + * messaging components. + * @param sdp The local SDP to be filled in information from the + * media transport. + * @param rem_sdp Remote SDP if local SDP is an answer, otherwise + * specify NULL if SDP is an offer. + * @param media_index Media index in SDP. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_INLINE(pj_status_t) pjmedia_transport_encode_sdp(pjmedia_transport *tp, + pj_pool_t *sdp_pool, + pjmedia_sdp_session *sdp, + const pjmedia_sdp_session *rem_sdp, + unsigned media_index) +{ + return (*tp->op->encode_sdp)(tp, sdp_pool, sdp, rem_sdp, media_index); +} + + +/** + * Start the transport session with the settings in both local and remote + * SDP. The actual work that is done by this function depends on the + * underlying transport type. For SRTP, this will activate the encryption + * and decryption based on the keys found the SDPs. For ICE, this will + * start ICE negotiation according to the information found in the SDPs. + * + * This is just a simple wrapper which calls media_start() member + * of the transport. + * + * @param tp The media transport. + * @param tmp_pool The memory pool for allocating temporary objects. + * @param sdp_local Local SDP. + * @param sdp_remote Remote SDP. + * @param media_index Media index in the SDP. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_INLINE(pj_status_t) pjmedia_transport_media_start(pjmedia_transport *tp, + pj_pool_t *tmp_pool, + const pjmedia_sdp_session *sdp_local, + const pjmedia_sdp_session *sdp_remote, + unsigned media_index) +{ + return (*tp->op->media_start)(tp, tmp_pool, sdp_local, sdp_remote, + media_index); +} + + +/** + * This API should be called when the session is stopped, to allow the media + * transport to release its resources used for the session. + * + * This is just a simple wrapper which calls media_stop() member + * of the transport. + * + * @param tp The media transport. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_INLINE(pj_status_t) pjmedia_transport_media_stop(pjmedia_transport *tp) +{ + return (*tp->op->media_stop)(tp); +} + +/** + * Close media transport. This is just a simple wrapper which calls + * destroy() member of the transport. This function will free + * all resources created by this transport (such as sockets, memory, etc.). + * + * @param tp The media transport. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_INLINE(pj_status_t) pjmedia_transport_close(pjmedia_transport *tp) +{ + if (tp->op->destroy) + return (*tp->op->destroy)(tp); + else + return PJ_SUCCESS; +} + +/** + * Simulate packet lost in the specified direction (for testing purposes). + * When enabled, the transport will randomly drop packets to the specified + * direction. + * + * @param tp The media transport. + * @param dir Media direction to which packets will be randomly dropped. + * @param pct_lost Percent lost (0-100). Set to zero to disable packet + * lost simulation. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE(pj_status_t) pjmedia_transport_simulate_lost(pjmedia_transport *tp, + pjmedia_dir dir, + unsigned pct_lost) +{ + return (*tp->op->simulate_lost)(tp, dir, pct_lost); +} + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_TRANSPORT_H__ */ + diff --git a/pjmedia/include/pjmedia/transport_adapter_sample.h b/pjmedia/include/pjmedia/transport_adapter_sample.h new file mode 100644 index 0000000..be991a3 --- /dev/null +++ b/pjmedia/include/pjmedia/transport_adapter_sample.h @@ -0,0 +1,76 @@ +/* $Id: transport_adapter_sample.h 3841 2011-10-24 09:28:13Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_TRANSPORT_ADAPTER_SAMPLE_H__ +#define __PJMEDIA_TRANSPORT_ADAPTER_SAMPLE_H__ + + +/** + * @file transport_adapter_sample.h + * @brief Sample Media Transport Adapter + */ + +#include + + +/** + * @defgroup PJMEDIA_TRANSPORT_ADAPTER_SAMPLE Sample Transport Adapter + * @ingroup PJMEDIA_TRANSPORT + * @brief Example on how to create transport adapter. + * @{ + * + * This describes a sample implementation of transport adapter, similar to + * the way the SRTP transport adapter works. + */ + +PJ_BEGIN_DECL + + +/** + * Create the transport adapter, specifying the underlying transport to be + * used to send and receive RTP/RTCP packets. + * + * @param endpt The media endpoint. + * @param name Optional name to identify this media transport + * for logging purposes. + * @param base_tp The base/underlying media transport to send and + * receive RTP/RTCP packets. + * @param del_base Specify whether the base transport should also be + * destroyed when destroy() is called upon us. + * @param p_tp Pointer to receive the media transport instance. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_tp_adapter_create( pjmedia_endpt *endpt, + const char *name, + pjmedia_transport *base_tp, + pj_bool_t del_base, + pjmedia_transport **p_tp); + +PJ_END_DECL + + +/** + * @} + */ + + +#endif /* __PJMEDIA_TRANSPORT_ADAPTER_SAMPLE_H__ */ + + diff --git a/pjmedia/include/pjmedia/transport_ice.h b/pjmedia/include/pjmedia/transport_ice.h new file mode 100644 index 0000000..c7555cb --- /dev/null +++ b/pjmedia/include/pjmedia/transport_ice.h @@ -0,0 +1,243 @@ +/* $Id: transport_ice.h 4606 2013-10-01 05:00:57Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_TRANSPORT_ICE_H__ +#define __PJMEDIA_TRANSPORT_ICE_H__ + + +/** + * @file transport_ice.h + * @brief ICE capable media transport. + */ + +#include +#include + + +/** + * @defgroup PJMEDIA_TRANSPORT_ICE ICE Media Transport + * @ingroup PJMEDIA_TRANSPORT + * @brief Interactive Connectivity Establishment (ICE) transport + * @{ + * + * This describes the implementation of media transport using + * Interactive Connectivity Establishment (ICE) protocol. + */ + +PJ_BEGIN_DECL + + +/** + * Structure containing callbacks to receive ICE notifications. + */ +typedef struct pjmedia_ice_cb +{ + /** + * This callback will be called when ICE negotiation completes. + * + * @param tp PJMEDIA ICE transport. + * @param op The operation + * @param status Operation status. + */ + void (*on_ice_complete)(pjmedia_transport *tp, + pj_ice_strans_op op, + pj_status_t status); + +} pjmedia_ice_cb; + + +/** + * This structure specifies ICE transport specific info. This structure + * will be filled in media transport specific info. + */ +typedef struct pjmedia_ice_transport_info +{ + /** + * Specifies whether ICE is used, i.e. SDP offer and answer indicates + * that both parties support ICE and ICE should be used for the session. + */ + pj_bool_t active; + + /** + * ICE sesion state. + */ + pj_ice_strans_state sess_state; + + /** + * Session role. + */ + pj_ice_sess_role role; + + /** + * Number of components in the component array. Before ICE negotiation + * is complete, the number represents the number of components of the + * local agent. After ICE negotiation has been completed successfully, + * the number represents the number of common components between local + * and remote agents. + */ + unsigned comp_cnt; + + /** + * Array of ICE components. Typically the first element denotes RTP and + * second element denotes RTCP. + */ + struct + { + /** + * Local candidate type. + */ + pj_ice_cand_type lcand_type; + + /** + * The local address. + */ + pj_sockaddr lcand_addr; + + /** + * Remote candidate type. + */ + pj_ice_cand_type rcand_type; + + /** + * Remote address. + */ + pj_sockaddr rcand_addr; + + } comp[2]; + +} pjmedia_ice_transport_info; + + +/** + * Options that can be specified when creating ICE transport. + */ +enum pjmedia_transport_ice_options +{ + /** + * Normally when remote doesn't use ICE, the ICE transport will + * continuously check the source address of incoming packets to see + * if it is different than the configured remote address, and switch + * the remote address to the source address of the packet if they + * are different after several packets are received. + * Specifying this option will disable this feature. + */ + PJMEDIA_ICE_NO_SRC_ADDR_CHECKING = 1 +}; + + +/** + * Create the Interactive Connectivity Establishment (ICE) media transport + * using the specified configuration. When STUN or TURN (or both) is used, + * the creation operation will complete asynchronously, when STUN resolution + * and TURN allocation completes. When the initialization completes, the + * \a on_ice_complete() complete will be called with \a op parameter equal + * to PJ_ICE_STRANS_OP_INIT. + * + * In addition, this transport will also notify the application about the + * result of ICE negotiation, also in \a on_ice_complete() callback. In this + * case the callback will be called with \a op parameter equal to + * PJ_ICE_STRANS_OP_NEGOTIATION. + * + * Other than this, application should use the \ref PJMEDIA_TRANSPORT API + * to manipulate this media transport. + * + * @param endpt The media endpoint. + * @param name Optional name to identify this ICE media transport + * for logging purposes. + * @param comp_cnt Number of components to be created. + * @param cfg Pointer to configuration settings. + * @param cb Optional structure containing ICE specific callbacks. + * @param p_tp Pointer to receive the media transport instance. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_ice_create(pjmedia_endpt *endpt, + const char *name, + unsigned comp_cnt, + const pj_ice_strans_cfg *cfg, + const pjmedia_ice_cb *cb, + pjmedia_transport **p_tp); + + +/** + * The same as #pjmedia_ice_create() with additional \a options param. + * + * @param endpt The media endpoint. + * @param name Optional name to identify this ICE media transport + * for logging purposes. + * @param comp_cnt Number of components to be created. + * @param cfg Pointer to configuration settings. + * @param cb Optional structure containing ICE specific callbacks. + * @param options Options, see #pjmedia_transport_ice_options. + * @param p_tp Pointer to receive the media transport instance. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_ice_create2(pjmedia_endpt *endpt, + const char *name, + unsigned comp_cnt, + const pj_ice_strans_cfg *cfg, + const pjmedia_ice_cb *cb, + unsigned options, + pjmedia_transport **p_tp); + +/** + * The same as #pjmedia_ice_create2() with additional \a user_data param. + * + * @param endpt The media endpoint. + * @param name Optional name to identify this ICE media transport + * for logging purposes. + * @param comp_cnt Number of components to be created. + * @param cfg Pointer to configuration settings. + * @param cb Optional structure containing ICE specific callbacks. + * @param options Options, see #pjmedia_transport_ice_options. + * @param user_data User data to be attached to the transport. + * @param p_tp Pointer to receive the media transport instance. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_ice_create3(pjmedia_endpt *endpt, + const char *name, + unsigned comp_cnt, + const pj_ice_strans_cfg *cfg, + const pjmedia_ice_cb *cb, + unsigned options, + void *user_data, + pjmedia_transport **p_tp); + +/** + * Get the group lock for the ICE media transport. + * + * @param tp The ICE media transport. + * + * @return The group lock. + */ +PJ_DECL(pj_grp_lock_t *) pjmedia_ice_get_grp_lock(pjmedia_transport *tp); + +PJ_END_DECL + + +/** + * @} + */ + + +#endif /* __PJMEDIA_TRANSPORT_ICE_H__ */ + + diff --git a/pjmedia/include/pjmedia/transport_loop.h b/pjmedia/include/pjmedia/transport_loop.h new file mode 100644 index 0000000..4f1a5ba --- /dev/null +++ b/pjmedia/include/pjmedia/transport_loop.h @@ -0,0 +1,82 @@ +/* $Id: transport_loop.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_TRANSPORT_LOOP_H__ +#define __PJMEDIA_TRANSPORT_LOOP_H__ + + +/** + * @file transport_loop.h + * @brief Loopback transport + */ + +#include + + +/** + * @defgroup PJMEDIA_TRANSPORT_LOOP Loopback Media Transport + * @ingroup PJMEDIA_TRANSPORT + * @brief Loopback transport for testing. + * @{ + * + * This is the loopback media transport, where packets sent to this transport + * will be sent back to the streams attached to this transport. Unlike the + * other PJMEDIA transports, the loop transport may be attached to multiple + * streams (in other words, application should specify the same loop transport + * instance when calling #pjmedia_stream_create()). Any RTP or RTCP packets + * sent by one stream to this transport by default will be sent back to all + * streams that are attached to this transport, including to the stream that + * sends the packet. Application may individually select which stream to + * receive packets by calling #pjmedia_transport_loop_disable_rx(). + */ + +PJ_BEGIN_DECL + + +/** + * Create the loopback transport. + * + * @param endpt The media endpoint instance. + * @param p_tp Pointer to receive the transport instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_transport_loop_create(pjmedia_endpt *endpt, + pjmedia_transport **p_tp); + + +/** + * Set this stream as the receiver of incoming packets. + */ +PJ_DECL(pj_status_t) pjmedia_transport_loop_disable_rx(pjmedia_transport *tp, + void *user, + pj_bool_t disabled); + + +PJ_END_DECL + + +/** + * @} + */ + + +#endif /* __PJMEDIA_TRANSPORT_LOOP_H__ */ + + diff --git a/pjmedia/include/pjmedia/transport_srtp.h b/pjmedia/include/pjmedia/transport_srtp.h new file mode 100644 index 0000000..1f2bda4 --- /dev/null +++ b/pjmedia/include/pjmedia/transport_srtp.h @@ -0,0 +1,317 @@ +/* $Id: transport_srtp.h 3999 2012-03-30 07:10:13Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_TRANSPORT_SRTP_H__ +#define __PJMEDIA_TRANSPORT_SRTP_H__ + +/** + * @file transport_srtp.h + * @brief Secure RTP (SRTP) transport. + */ + +#include + + +/** + * @defgroup PJMEDIA_TRANSPORT_SRTP Secure RTP (SRTP) Media Transport + * @ingroup PJMEDIA_TRANSPORT + * @brief Media transport adapter to add SRTP feature to existing transports + * @{ + * + * This module implements SRTP as described by RFC 3711, using RFC 4568 as + * key exchange method. It implements \ref PJMEDIA_TRANSPORT to integrate + * with the rest of PJMEDIA framework. + * + * As we know, media transport is separated from the stream object (which + * does the encoding/decoding of PCM frames, (de)packetization of RTP/RTCP + * packets, and de-jitter buffering). The connection between stream and media + * transport is established when the stream is created (we need to specify + * media transport during stream creation), and the interconnection can be + * depicted from the diagram below: + * + \image html media-transport.PNG + + * I think the diagram above is self-explanatory. + * + * SRTP functionality is implemented as some kind of "adapter", which is + * plugged between the stream and the actual media transport that does + * sending/receiving RTP/RTCP packets. When SRTP is used, the interconnection + * between stream and transport is like the diagram below: + * + \image html media-srtp-transport.PNG + + * So to stream, the SRTP transport behaves as if it is a media transport + * (because it is a media transport), and to the media transport it behaves + * as if it is a stream. The SRTP object then forwards RTP packets back and + * forth between stream and the actual transport, encrypting/decrypting + * the RTP/RTCP packets as necessary. + * + * The neat thing about this design is the SRTP "adapter" then can be used + * to encrypt any kind of media transports. We currently have UDP and ICE + * media transports that can benefit SRTP, and we could add SRTP to any + * media transports that will be added in the future. + */ + +PJ_BEGIN_DECL + + +/** + * Crypto option. + */ +typedef enum pjmedia_srtp_crypto_option +{ + /** When this flag is specified, encryption will be disabled. */ + PJMEDIA_SRTP_NO_ENCRYPTION = 1, + + /** When this flag is specified, authentication will be disabled. */ + PJMEDIA_SRTP_NO_AUTHENTICATION = 2 + +} pjmedia_srtp_crypto_option; + + +/** + * This structure describes an individual crypto setting. + */ +typedef struct pjmedia_srtp_crypto +{ + /** Optional key. If empty, a random key will be autogenerated. */ + pj_str_t key; + + /** Crypto name. */ + pj_str_t name; + + /** Flags, bitmask from #pjmedia_srtp_crypto_option */ + unsigned flags; + +} pjmedia_srtp_crypto; + + +/** + * This enumeration specifies the behavior of the SRTP transport regarding + * media security offer and answer. + */ +typedef enum pjmedia_srtp_use +{ + /** + * When this flag is specified, SRTP will be disabled, and the transport + * will reject RTP/SAVP offer. + */ + PJMEDIA_SRTP_DISABLED, + + /** + * When this flag is specified, SRTP will be advertised as optional and + * incoming SRTP offer will be accepted. + */ + PJMEDIA_SRTP_OPTIONAL, + + /** + * When this flag is specified, the transport will require that RTP/SAVP + * media shall be used. + */ + PJMEDIA_SRTP_MANDATORY + +} pjmedia_srtp_use; + + +/** + * Settings to be given when creating SRTP transport. Application should call + * #pjmedia_srtp_setting_default() to initialize this structure with its + * default values. + */ +typedef struct pjmedia_srtp_setting +{ + /** + * Specify the usage policy. Default is PJMEDIA_SRTP_OPTIONAL. + */ + pjmedia_srtp_use use; + + /** + * Specify whether the SRTP transport should close the member transport + * when it is destroyed. Default: PJ_TRUE. + */ + pj_bool_t close_member_tp; + + /** + * Specify the number of crypto suite settings. + */ + unsigned crypto_count; + + /** + * Specify individual crypto suite setting. + */ + pjmedia_srtp_crypto crypto[8]; + +} pjmedia_srtp_setting; + + +/** + * This structure specifies SRTP transport specific info. This will fit + * into \a buffer field of pjmedia_transport_specific_info. + */ +typedef struct pjmedia_srtp_info +{ + /** + * Specify whether the SRTP transport is active for SRTP session. + */ + pj_bool_t active; + + /** + * Specify the policy used by the SRTP session for receive direction. + */ + pjmedia_srtp_crypto rx_policy; + + /** + * Specify the policy used by the SRTP session for transmit direction. + */ + pjmedia_srtp_crypto tx_policy; + + /** + * Specify the usage policy. + */ + pjmedia_srtp_use use; + + /** + * Specify the peer's usage policy. + */ + pjmedia_srtp_use peer_use; + +} pjmedia_srtp_info; + + +/** + * Initialize SRTP library. This function should be called before + * any SRTP functions, however calling #pjmedia_transport_srtp_create() + * will also invoke this function. This function will also register SRTP + * library deinitialization to #pj_atexit(), so the deinitialization + * of SRTP library will be performed automatically by PJLIB destructor. + * + * @param endpt The media endpoint instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_srtp_init_lib(pjmedia_endpt *endpt); + + +/** + * Initialize SRTP setting with its default values. + * + * @param opt SRTP setting to be initialized. + */ +PJ_DECL(void) pjmedia_srtp_setting_default(pjmedia_srtp_setting *opt); + + +/** + * Create an SRTP media transport. + * + * @param endpt The media endpoint instance. + * @param tp The actual media transport to send and receive + * RTP/RTCP packets. This media transport will be + * kept as member transport of this SRTP instance. + * @param opt Optional settings. If NULL is given, default + * settings will be used. + * @param p_tp Pointer to receive the transport SRTP instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_transport_srtp_create( + pjmedia_endpt *endpt, + pjmedia_transport *tp, + const pjmedia_srtp_setting *opt, + pjmedia_transport **p_tp); + + +/** + * Manually start SRTP session with the given parameters. Application only + * needs to call this function when the SRTP transport is used without SDP + * offer/answer. When SDP offer/answer framework is used, the SRTP transport + * will be started/stopped by #pjmedia_transport_media_start() and + * #pjmedia_transport_media_stop() respectively. + * + * Please note that even if an RTP stream is only one direction, application + * will still need to provide both crypto suites, because it is needed by + * RTCP. + + * If application specifies the crypto keys, the keys for transmit and receive + * direction MUST be different. + * + * @param srtp The SRTP transport. + * @param tx Crypto suite setting for transmit direction. + * @param rx Crypto suite setting for receive direction. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_transport_srtp_start( + pjmedia_transport *srtp, + const pjmedia_srtp_crypto *tx, + const pjmedia_srtp_crypto *rx); + +/** + * Stop SRTP session. + * + * @param srtp The SRTP media transport. + * + * @return PJ_SUCCESS on success. + * + * @see #pjmedia_transport_srtp_start() + */ +PJ_DECL(pj_status_t) pjmedia_transport_srtp_stop(pjmedia_transport *srtp); + + +/** + * This is a utility function to decrypt SRTP packet using SRTP transport. + * This function is not part of SRTP transport's API, but it can be used + * to decrypt SRTP packets from non-network (for example, from a saved file) + * without having to use the transport framework. See pcaputil.c in the + * samples collection on how to use this function. + * + * @param tp The SRTP transport. + * @param is_rtp Set to non-zero if the packet is SRTP, otherwise set + * to zero if the packet is SRTCP. + * @param pkt On input, it contains SRTP or SRTCP packet. On + * output, it contains the decrypted RTP/RTCP packet. + * @param pkt_len On input, specify the length of the buffer. On + * output, it will be filled with the actual length + * of decrypted packet. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_transport_srtp_decrypt_pkt(pjmedia_transport *tp, + pj_bool_t is_rtp, + void *pkt, + int *pkt_len); + + +/** + * Query member transport of SRTP. + * + * @param srtp The SRTP media transport. + * + * @return member media transport. + */ +PJ_DECL(pjmedia_transport*) pjmedia_transport_srtp_get_member( + pjmedia_transport *srtp); + + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJMEDIA_TRANSPORT_SRTP_H__ */ diff --git a/pjmedia/include/pjmedia/transport_udp.h b/pjmedia/include/pjmedia/transport_udp.h new file mode 100644 index 0000000..d7e8982 --- /dev/null +++ b/pjmedia/include/pjmedia/transport_udp.h @@ -0,0 +1,162 @@ +/* $Id: transport_udp.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_TRANSPORT_UDP_H__ +#define __PJMEDIA_TRANSPORT_UDP_H__ + + +/** + * @file transport_udp.h + * @brief Stream transport with UDP. + */ + +#include + + +/** + * @defgroup PJMEDIA_TRANSPORT_UDP UDP Media Transport + * @ingroup PJMEDIA_TRANSPORT + * @brief Implementation of media transport with UDP sockets. + * @{ + * + * The UDP media transport is the standard based media transport + * as described by RFC 3550/3551. It can be used to facilitate RTP/RTCP + * unicast or multicast communication. + */ + +PJ_BEGIN_DECL + + +/** + * Options that can be specified when creating UDP transport. + */ +enum pjmedia_transport_udp_options +{ + /** + * Normally the UDP transport will continuously check the source address + * of incoming packets to see if it is different than the configured + * remote address, and switch the remote address to the source address + * of the packet if they are different after several packets are + * received. + * Specifying this option will disable this feature. + */ + PJMEDIA_UDP_NO_SRC_ADDR_CHECKING = 1 +}; + + +/** + * Create an RTP and RTCP sockets and bind the sockets to the specified + * port to create media transport. + * + * @param endpt The media endpoint instance. + * @param name Optional name to be assigned to the transport. + * @param port UDP port number for the RTP socket. The RTCP port number + * will be set to one above RTP port. + * @param options Options, bitmask of #pjmedia_transport_udp_options. + * @param p_tp Pointer to receive the transport instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_transport_udp_create(pjmedia_endpt *endpt, + const char *name, + int port, + unsigned options, + pjmedia_transport **p_tp); + + +/** + * Create an RTP and RTCP sockets and bind the sockets to the specified + * address and port to create media transport. + * + * @param endpt The media endpoint instance. + * @param name Optional name to be assigned to the transport. + * @param addr Optional local address to bind the sockets to. If this + * argument is NULL or empty, the sockets will be bound + * to all interface. + * @param port UDP port number for the RTP socket. The RTCP port number + * will be set to one above RTP port. + * @param options Options, bitmask of #pjmedia_transport_udp_options. + * @param p_tp Pointer to receive the transport instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_transport_udp_create2(pjmedia_endpt *endpt, + const char *name, + const pj_str_t *addr, + int port, + unsigned options, + pjmedia_transport **p_tp); + +/** + * Another variant of #pjmedia_transport_udp_create() which allows + * the creation of IPv6 transport. + * + * @param endpt The media endpoint instance. + * @param af Address family, which can be pj_AF_INET() for IPv4 or + * pj_AF_INET6() for IPv6. + * @param name Optional name to be assigned to the transport. + * @param addr Optional local address to bind the sockets to. If this + * argument is NULL or empty, the sockets will be bound + * to all interface. + * @param port UDP port number for the RTP socket. The RTCP port number + * will be set to one above RTP port. + * @param options Options, bitmask of #pjmedia_transport_udp_options. + * @param p_tp Pointer to receive the transport instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_transport_udp_create3(pjmedia_endpt *endpt, + int af, + const char *name, + const pj_str_t *addr, + int port, + unsigned options, + pjmedia_transport **p_tp); + + +/** + * Create UDP stream transport from existing sockets. Use this function when + * the sockets have previously been created. + * + * @param endpt The media endpoint instance. + * @param name Optional name to be assigned to the transport. + * @param si Media socket info containing the RTP and RTCP sockets. + * @param options Options, bitmask of #pjmedia_transport_udp_options. + * @param p_tp Pointer to receive the transport instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_transport_udp_attach(pjmedia_endpt *endpt, + const char *name, + const pjmedia_sock_info *si, + unsigned options, + pjmedia_transport **p_tp); + + +PJ_END_DECL + + +/** + * @} + */ + + +#endif /* __PJMEDIA_TRANSPORT_UDP_H__ */ + + diff --git a/pjmedia/include/pjmedia/types.h b/pjmedia/include/pjmedia/types.h new file mode 100644 index 0000000..93e411c --- /dev/null +++ b/pjmedia/include/pjmedia/types.h @@ -0,0 +1,272 @@ +/* $Id: types.h 3774 2011-09-27 05:24:06Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_TYPES_H__ +#define __PJMEDIA_TYPES_H__ + +/** + * @file pjmedia/types.h Basic Types + * @brief Basic PJMEDIA types. + */ + +#include +#include +#include + + +/** + * @defgroup PJMEDIA_PORT Media Ports Framework + * @brief Extensible framework for media terminations + */ + + +/** + * @defgroup PJMEDIA_FRAME_OP Audio Manipulation Algorithms + * @brief Algorithms to manipulate audio frames + */ + +/** + * @defgroup PJMEDIA_TYPES Basic Types + * @ingroup PJMEDIA_BASE + * @brief Basic PJMEDIA types and operations. + * @{ + */ + +/** + * Top most media type. See also #pjmedia_type_name(). + */ +typedef enum pjmedia_type +{ + /** Type is not specified. */ + PJMEDIA_TYPE_NONE, + + /** The media is audio */ + PJMEDIA_TYPE_AUDIO, + + /** The media is video. */ + PJMEDIA_TYPE_VIDEO, + + /** The media is application. */ + PJMEDIA_TYPE_APPLICATION, + + /** The media type is unknown or unsupported. */ + PJMEDIA_TYPE_UNKNOWN + +} pjmedia_type; + + +/** + * Media transport protocol. + */ +typedef enum pjmedia_tp_proto +{ + /** No transport type */ + PJMEDIA_TP_PROTO_NONE = 0, + + /** RTP using A/V profile */ + PJMEDIA_TP_PROTO_RTP_AVP, + + /** Secure RTP */ + PJMEDIA_TP_PROTO_RTP_SAVP, + + /** Unknown */ + PJMEDIA_TP_PROTO_UNKNOWN + +} pjmedia_tp_proto; + + +/** + * Media direction. + */ +typedef enum pjmedia_dir +{ + /** None */ + PJMEDIA_DIR_NONE = 0, + + /** Encoding (outgoing to network) stream, also known as capture */ + PJMEDIA_DIR_ENCODING = 1, + + /** Same as encoding direction. */ + PJMEDIA_DIR_CAPTURE = PJMEDIA_DIR_ENCODING, + + /** Decoding (incoming from network) stream, also known as playback. */ + PJMEDIA_DIR_DECODING = 2, + + /** Same as decoding. */ + PJMEDIA_DIR_PLAYBACK = PJMEDIA_DIR_DECODING, + + /** Same as decoding. */ + PJMEDIA_DIR_RENDER = PJMEDIA_DIR_DECODING, + + /** Incoming and outgoing stream, same as PJMEDIA_DIR_CAPTURE_PLAYBACK */ + PJMEDIA_DIR_ENCODING_DECODING = 3, + + /** Same as ENCODING_DECODING */ + PJMEDIA_DIR_CAPTURE_PLAYBACK = PJMEDIA_DIR_ENCODING_DECODING, + + /** Same as ENCODING_DECODING */ + PJMEDIA_DIR_CAPTURE_RENDER = PJMEDIA_DIR_ENCODING_DECODING + +} pjmedia_dir; + + +/** + * Opaque declaration of media endpoint. + */ +typedef struct pjmedia_endpt pjmedia_endpt; + +/* + * Forward declaration for stream (needed by transport). + */ +typedef struct pjmedia_stream pjmedia_stream; + +/** + * Enumeration for picture coordinate base. + */ +typedef enum pjmedia_coord_base +{ + /** + * This specifies that the pixel [0, 0] location is at the left-top + * position. + */ + PJMEDIA_COORD_BASE_LEFT_TOP, + + /** + * This specifies that the pixel [0, 0] location is at the left-bottom + * position. + */ + PJMEDIA_COORD_BASE_LEFT_BOTTOM + +} pjmedia_coord_base; + +/** + * This structure is used to represent rational numbers. + */ +typedef struct pjmedia_ratio +{ + int num; /** < Numerator. */ + int denum; /** < Denumerator. */ +} pjmedia_ratio; + +/** + * This structure represent a coordinate. + */ +typedef struct pjmedia_coord +{ + int x; /**< X position of the coordinate */ + int y; /**< Y position of the coordinate */ +} pjmedia_coord; + +/** + * This structure represents rectangle size. + */ +typedef struct pjmedia_rect_size +{ + unsigned w; /**< The width. */ + unsigned h; /**< The height. */ +} pjmedia_rect_size; + +/** + * This structure describes a rectangle. + */ +typedef struct pjmedia_rect +{ + pjmedia_coord coord; /**< The position. */ + pjmedia_rect_size size; /**< The size. */ +} pjmedia_rect; + +/** + * Enumeration for video/picture orientation. + */ +typedef enum pjmedia_orient +{ + /** + * Unknown orientation. + */ + PJMEDIA_ORIENT_UNKNOWN, + + /** + * Natural orientation, e.g: sky upside on landscape view, head upside + * on human portrait. + */ + PJMEDIA_ORIENT_NATURAL, + + /** + * Specifies that the video/picture needs to be rotated 90 degrees + * clockwise to be displayed in natural orientation. + */ + PJMEDIA_ORIENT_ROTATE_90DEG, + + /** + * Specifies that the video/picture needs to be rotated 180 degrees + * clockwise to be displayed in natural orientation. + */ + PJMEDIA_ORIENT_ROTATE_180DEG, + + /** + * Specifies that the video/picture needs to be rotated 270 degrees + * clockwise to be displayed in natural orientation. + */ + PJMEDIA_ORIENT_ROTATE_270DEG + +} pjmedia_orient; + + +/** + * Macro for packing format from a four character code, similar to FOURCC. + */ +#define PJMEDIA_FOURCC(C1, C2, C3, C4) ( C4<<24 | C3<<16 | C2<<8 | C1 ) + + +/** + * Utility function to return the string name for a pjmedia_type. + * + * @param t The media type. + * + * @return String. + */ +PJ_DECL(const char*) pjmedia_type_name(pjmedia_type t); + +/** + * A utility function to convert fourcc type of value to four letters string. + * + * @param sig The fourcc value. + * @param buf Buffer to store the string, which MUST be at least + * five bytes long. + * + * @return The string. + */ +PJ_INLINE(const char*) pjmedia_fourcc_name(pj_uint32_t sig, char buf[]) +{ + buf[3] = (char)((sig >> 24) & 0xFF); + buf[2] = (char)((sig >> 16) & 0xFF); + buf[1] = (char)((sig >> 8) & 0xFF); + buf[0] = (char)((sig >> 0) & 0xFF); + buf[4] = '\0'; + return buf; +} + + +/** + * @} + */ + + +#endif /* __PJMEDIA_TYPES_H__ */ + diff --git a/pjmedia/include/pjmedia/vid_codec.h b/pjmedia/include/pjmedia/vid_codec.h new file mode 100644 index 0000000..67c6083 --- /dev/null +++ b/pjmedia/include/pjmedia/vid_codec.h @@ -0,0 +1,871 @@ +/* $Id: vid_codec.h 3956 2012-02-21 08:31:26Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_VID_CODEC_H__ +#define __PJMEDIA_VID_CODEC_H__ + + +/** + * @file vid_codec.h + * @brief Video codec framework. + */ + +#include +#include +#include +#include +#include +#include + +PJ_BEGIN_DECL + +/** + * @defgroup PJMEDIA_VID_CODEC Video Codecs + * @ingroup PJMEDIA_CODEC + * @{ + */ + +#define PJMEDIA_VID_CODEC_MAX_DEC_FMT_CNT 8 +#define PJMEDIA_VID_CODEC_MAX_FPS_CNT 16 + +/** + * This enumeration specifies the packetization property of video encoding + * process. The value is bitmask, and smaller value will have higher priority + * to be used. + */ +typedef enum pjmedia_vid_packing +{ + /** + * This specifies that the packetization is unknown, or if nothing + * is supported. + */ + PJMEDIA_VID_PACKING_UNKNOWN, + + /** + * This specifies that the result of video encoding process will be + * segmented into packets, which is suitable for RTP transmission. + * The maximum size of the packets is set in \a enc_mtu field of + * pjmedia_vid_codec_param. + */ + PJMEDIA_VID_PACKING_PACKETS = 1, + + /** + * This specifies that video encoding function will produce a whole + * or full frame from the source frame. This is normally used for + * encoding video for offline storage such as to an AVI file. The + * maximum size of the packets is set in \a enc_mtu field of + * pjmedia_vid_codec_param. + */ + PJMEDIA_VID_PACKING_WHOLE = 2 + +} pjmedia_vid_packing; + + +/** + * Enumeration of video frame info flag for the bit_info field in the + * pjmedia_frame. + */ +typedef enum pjmedia_vid_frm_bit_info +{ + /** + * The video frame is keyframe. + */ + PJMEDIA_VID_FRM_KEYFRAME = 1 + +} pjmedia_vid_frm_bit_info; + + +/** + * Encoding option. + */ +typedef struct pjmedia_vid_encode_opt +{ + /** + * Flag to force the encoder to generate keyframe for the specified input + * frame. When this flag is set, application can verify the result by + * examining PJMEDIA_VID_FRM_KEYFRAME flag in the bit_info field of the + * output frame. + */ + pj_bool_t force_keyframe; + +} pjmedia_vid_encode_opt; + + +/** + * Identification used to search for codec factory that supports specific + * codec specification. + */ +typedef struct pjmedia_vid_codec_info +{ + pjmedia_format_id fmt_id; /**< Encoded format ID */ + unsigned pt; /**< Payload type */ + pj_str_t encoding_name; /**< Encoding name */ + pj_str_t encoding_desc; /**< Encoding desc */ + unsigned clock_rate; /**< Clock rate */ + pjmedia_dir dir; /**< Direction */ + unsigned dec_fmt_id_cnt; /**< # of supported encoding source + format IDs */ + pjmedia_format_id dec_fmt_id[PJMEDIA_VID_CODEC_MAX_DEC_FMT_CNT]; + /**< Supported encoding source + format IDs */ + unsigned packings; /**< Supported or requested packings, + strategies, bitmask from + pjmedia_vid_packing */ + unsigned fps_cnt; /**< # of supported frame-rates, can be + zero (support any frame-rate) */ + pjmedia_ratio fps[PJMEDIA_VID_CODEC_MAX_FPS_CNT]; + /**< Supported frame-rates */ + +} pjmedia_vid_codec_info; + + +/** + * Detailed codec attributes used in configuring a codec and in querying + * the capability of codec factories. Default attributes of any codecs could + * be queried using #pjmedia_vid_codec_mgr_get_default_param() and modified + * using #pjmedia_vid_codec_mgr_set_default_param(). + * + * Please note that codec parameter also contains SDP specific setting, + * #dec_fmtp and #enc_fmtp, which may need to be set appropriately based on + * the effective setting. See each codec documentation for more detail. + */ +typedef struct pjmedia_vid_codec_param +{ + pjmedia_dir dir; /**< Direction */ + pjmedia_vid_packing packing; /**< Packetization strategy. */ + + pjmedia_format enc_fmt; /**< Encoded format */ + pjmedia_codec_fmtp enc_fmtp; /**< Encoder fmtp params */ + unsigned enc_mtu; /**< MTU or max payload size setting*/ + + pjmedia_format dec_fmt; /**< Decoded format */ + pjmedia_codec_fmtp dec_fmtp; /**< Decoder fmtp params */ + + pj_bool_t ignore_fmtp; /**< Ignore fmtp params. If set to + PJ_TRUE, the codec will apply + format settings specified in + enc_fmt and dec_fmt only. */ + +} pjmedia_vid_codec_param; + + +/** + * Duplicate video codec parameter. + * + * @param pool The pool. + * @param src The video codec parameter to be duplicated. + * + * @return Duplicated codec parameter. + */ +PJ_DECL(pjmedia_vid_codec_param*) pjmedia_vid_codec_param_clone( + pj_pool_t *pool, + const pjmedia_vid_codec_param *src); + +/** + * Forward declaration for video codec. + */ +typedef struct pjmedia_vid_codec pjmedia_vid_codec; + + +/** + * This structure describes codec operations. Each codec MUST implement + * all of these functions. + */ +typedef struct pjmedia_vid_codec_op +{ + /** + * See #pjmedia_vid_codec_init(). + */ + pj_status_t (*init)(pjmedia_vid_codec *codec, + pj_pool_t *pool ); + + /** + * See #pjmedia_vid_codec_open(). + */ + pj_status_t (*open)(pjmedia_vid_codec *codec, + pjmedia_vid_codec_param *param ); + + /** + * See #pjmedia_vid_codec_close(). + */ + pj_status_t (*close)(pjmedia_vid_codec *codec); + + /** + * See #pjmedia_vid_codec_modify(). + */ + pj_status_t (*modify)(pjmedia_vid_codec *codec, + const pjmedia_vid_codec_param *param); + + /** + * See #pjmedia_vid_codec_get_param(). + */ + pj_status_t (*get_param)(pjmedia_vid_codec *codec, + pjmedia_vid_codec_param *param); + + /** + * See #pjmedia_vid_codec_encode_begin(). + */ + pj_status_t (*encode_begin)(pjmedia_vid_codec *codec, + const pjmedia_vid_encode_opt *opt, + const pjmedia_frame *input, + unsigned out_size, + pjmedia_frame *output, + pj_bool_t *has_more); + + /** + * See #pjmedia_vid_codec_encode_more() + */ + pj_status_t (*encode_more)(pjmedia_vid_codec *codec, + unsigned out_size, + pjmedia_frame *output, + pj_bool_t *has_more); + + + /* + * See #pjmedia_vid_codec_decode(). + */ + pj_status_t (*decode)(pjmedia_vid_codec *codec, + pj_size_t count, + pjmedia_frame packets[], + unsigned out_size, + pjmedia_frame *output); + + /** + * See #pjmedia_vid_codec_recover() + */ + pj_status_t (*recover)(pjmedia_vid_codec *codec, + unsigned out_size, + pjmedia_frame *output); + +} pjmedia_vid_codec_op; + + + +/* + * Forward declaration for pjmedia_vid_codec_factory. + */ +typedef struct pjmedia_vid_codec_factory pjmedia_vid_codec_factory; + + +/** + * This structure describes a video codec instance. Codec implementers + * should use #pjmedia_vid_codec_init() to initialize this structure with + * default values. + */ +struct pjmedia_vid_codec +{ + /** Entries to put this codec instance in codec factory's list. */ + PJ_DECL_LIST_MEMBER(struct pjmedia_vid_codec); + + /** Codec's private data. */ + void *codec_data; + + /** Codec factory where this codec was allocated. */ + pjmedia_vid_codec_factory *factory; + + /** Operations to codec. */ + pjmedia_vid_codec_op *op; +}; + + + +/** + * This structure describes operations that must be supported by codec + * factories. + */ +typedef struct pjmedia_vid_codec_factory_op +{ + /** + * Check whether the factory can create codec with the specified + * codec info. + * + * @param factory The codec factory. + * @param info The codec info. + * + * @return PJ_SUCCESS if this factory is able to create an + * instance of codec with the specified info. + */ + pj_status_t (*test_alloc)(pjmedia_vid_codec_factory *factory, + const pjmedia_vid_codec_info *info ); + + /** + * Create default attributes for the specified codec ID. This function + * can be called by application to get the capability of the codec. + * + * @param factory The codec factory. + * @param info The codec info. + * @param attr The attribute to be initialized. + * + * @return PJ_SUCCESS if success. + */ + pj_status_t (*default_attr)(pjmedia_vid_codec_factory *factory, + const pjmedia_vid_codec_info *info, + pjmedia_vid_codec_param *attr ); + + /** + * Enumerate supported codecs that can be created using this factory. + * + * @param factory The codec factory. + * @param count On input, specifies the number of elements in + * the array. On output, the value will be set to + * the number of elements that have been initialized + * by this function. + * @param info The codec info array, which contents will be + * initialized upon return. + * + * @return PJ_SUCCESS on success. + */ + pj_status_t (*enum_info)(pjmedia_vid_codec_factory *factory, + unsigned *count, + pjmedia_vid_codec_info codecs[]); + + /** + * Create one instance of the codec with the specified codec info. + * + * @param factory The codec factory. + * @param info The codec info. + * @param p_codec Pointer to receive the codec instance. + * + * @return PJ_SUCCESS on success. + */ + pj_status_t (*alloc_codec)(pjmedia_vid_codec_factory *factory, + const pjmedia_vid_codec_info *info, + pjmedia_vid_codec **p_codec); + + /** + * This function is called by codec manager to return a particular + * instance of codec back to the codec factory. + * + * @param factory The codec factory. + * @param codec The codec instance to be returned. + * + * @return PJ_SUCCESS on success. + */ + pj_status_t (*dealloc_codec)(pjmedia_vid_codec_factory *factory, + pjmedia_vid_codec *codec ); + +} pjmedia_vid_codec_factory_op; + + + +/** + * Codec factory describes a module that is able to create codec with specific + * capabilities. These capabilities can be queried by codec manager to create + * instances of codec. + */ +struct pjmedia_vid_codec_factory +{ + /** Entries to put this structure in the codec manager list. */ + PJ_DECL_LIST_MEMBER(struct pjmedia_vid_codec_factory); + + /** The factory's private data. */ + void *factory_data; + + /** Operations to the factory. */ + pjmedia_vid_codec_factory_op *op; + +}; + + +/** + * Opaque declaration for codec manager. + */ +typedef struct pjmedia_vid_codec_mgr pjmedia_vid_codec_mgr; + +/** + * Declare maximum codecs + */ +#define PJMEDIA_VID_CODEC_MGR_MAX_CODECS 32 + + +/** + * Initialize codec manager. If there is no the default video codec manager, + * this function will automatically set the default video codec manager to + * the new codec manager instance. Normally this function is called by pjmedia + * endpoint's initialization code. + * + * @param pool The pool instance. + * @param mgr The pointer to the new codec manager instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_codec_mgr_create(pj_pool_t *pool, + pjmedia_vid_codec_mgr **mgr); + + +/** + * Destroy codec manager. Normally this function is called by pjmedia + * endpoint's deinitialization code. + * + * @param mgr Codec manager instance. If NULL, it is the default codec + * manager instance will be destroyed. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_codec_mgr_destroy(pjmedia_vid_codec_mgr *mgr); + + +/** + * Get the default codec manager instance. + * + * @return The default codec manager instance or NULL if none. + */ +PJ_DECL(pjmedia_vid_codec_mgr*) pjmedia_vid_codec_mgr_instance(void); + + +/** + * Set the default codec manager instance. + * + * @param mgr The codec manager instance. + */ +PJ_DECL(void) pjmedia_vid_codec_mgr_set_instance(pjmedia_vid_codec_mgr* mgr); + + +/** + * Register codec factory to codec manager. This will also register + * all supported codecs in the factory to the codec manager. + * + * @param mgr The codec manager instance. If NULL, the default codec + * manager instance will be used. + * @param factory The codec factory to be registered. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_codec_mgr_register_factory( pjmedia_vid_codec_mgr *mgr, + pjmedia_vid_codec_factory *factory); + +/** + * Unregister codec factory from the codec manager. This will also + * remove all the codecs registered by the codec factory from the + * codec manager's list of supported codecs. + * + * @param mgr The codec manager instance. If NULL, the default codec + * manager instance will be used. + * @param factory The codec factory to be unregistered. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_codec_mgr_unregister_factory( pjmedia_vid_codec_mgr *mgr, + pjmedia_vid_codec_factory *factory); + +/** + * Enumerate all supported codecs that have been registered to the + * codec manager by codec factories. + * + * @param mgr The codec manager instance. If NULL, the default codec + * manager instance will be used. + * @param count On input, specifies the number of elements in + * the array. On output, the value will be set to + * the number of elements that have been initialized + * by this function. + * @param info The codec info array, which contents will be + * initialized upon return. + * @param prio Optional pointer to receive array of codec priorities. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_codec_mgr_enum_codecs(pjmedia_vid_codec_mgr *mgr, + unsigned *count, + pjmedia_vid_codec_info info[], + unsigned *prio); + + +/** + * Get codec info for the specified payload type. The payload type must be + * static or locally defined in #pjmedia_video_pt. + * + * @param mgr The codec manager instance. If NULL, the default codec + * manager instance will be used. + * @param pt The payload type/number. + * @param info Pointer to receive codec info. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_codec_mgr_get_codec_info( pjmedia_vid_codec_mgr *mgr, + unsigned pt, + const pjmedia_vid_codec_info **info); + + +/** + * Get codec info for the specified format ID. + * + * @param mgr The codec manager instance. If NULL, the default codec + * manager instance will be used. + * @param fmt_id Format ID. See #pjmedia_format_id + * @param info Pointer to receive codec info. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_codec_mgr_get_codec_info2(pjmedia_vid_codec_mgr *mgr, + pjmedia_format_id fmt_id, + const pjmedia_vid_codec_info **info); + + +/** + * Convert codec info struct into a unique codec identifier. + * A codec identifier looks something like "H263/90000". + * + * @param info The codec info + * @param id Buffer to put the codec info string. + * @param max_len The length of the buffer. + * + * @return The null terminated codec info string, or NULL if + * the buffer is not long enough. + */ +PJ_DECL(char*) pjmedia_vid_codec_info_to_id(const pjmedia_vid_codec_info *info, + char *id, unsigned max_len ); + + +/** + * Find codecs by the unique codec identifier. This function will find + * all codecs that match the codec identifier prefix. For example, if + * "H26" is specified, then it will find "H263/90000", "H264/90000", + * and so on, up to the maximum count specified in the argument. + * + * @param mgr The codec manager instance. If NULL, the default codec + * manager instance will be used. + * @param codec_id The full codec ID or codec ID prefix. If an empty + * string is given, it will match all codecs. + * @param count Maximum number of codecs to find. On return, it + * contains the actual number of codecs found. + * @param p_info Array of pointer to codec info to be filled. This + * argument may be NULL, which in this case, only + * codec count will be returned. + * @param prio Optional array of codec priorities. + * + * @return PJ_SUCCESS if at least one codec info is found. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_codec_mgr_find_codecs_by_id(pjmedia_vid_codec_mgr *mgr, + const pj_str_t *codec_id, + unsigned *count, + const pjmedia_vid_codec_info *p_info[], + unsigned prio[]); + + +/** + * Set codec priority. The codec priority determines the order of + * the codec in the SDP created by the endpoint. If more than one codecs + * are found with the same codec_id prefix, then the function sets the + * priorities of all those codecs. + * + * @param mgr The codec manager instance. If NULL, the default codec + * manager instance will be used. + * @param codec_id The full codec ID or codec ID prefix. If an empty + * string is given, it will match all codecs. + * @param prio Priority to be set. The priority can have any value + * between 1 to 255. When the priority is set to zero, + * the codec will be disabled. + * + * @return PJ_SUCCESS if at least one codec info is found. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_codec_mgr_set_codec_priority(pjmedia_vid_codec_mgr *mgr, + const pj_str_t *codec_id, + pj_uint8_t prio); + + +/** + * Get default codec param for the specified codec info. + * + * @param mgr The codec manager instance. If NULL, the default codec + * manager instance will be used. + * @param info The codec info, which default parameter's is being + * queried. + * @param param On return, will be filled with the default codec + * parameter. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_codec_mgr_get_default_param(pjmedia_vid_codec_mgr *mgr, + const pjmedia_vid_codec_info *info, + pjmedia_vid_codec_param *param); + + +/** + * Set default codec param for the specified codec info. + * + * @param mgr The codec manager instance. If NULL, the default codec + * manager instance will be used. + * @param pool The pool instance. + * @param info The codec info, which default parameter's is being + * updated. + * @param param The new default codec parameter. Set to NULL to reset + * codec parameter to library default settings. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_codec_mgr_set_default_param(pjmedia_vid_codec_mgr *mgr, + const pjmedia_vid_codec_info *info, + const pjmedia_vid_codec_param *param); + + +/** + * Request the codec manager to allocate one instance of codec with the + * specified codec info. The codec will enumerate all codec factories + * until it finds factory that is able to create the specified codec. + * + * @param mgr The codec manager instance. If NULL, the default codec + * manager instance will be used. + * @param info The information about the codec to be created. + * @param p_codec Pointer to receive the codec instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_codec_mgr_alloc_codec( pjmedia_vid_codec_mgr *mgr, + const pjmedia_vid_codec_info *info, + pjmedia_vid_codec **p_codec); + +/** + * Deallocate the specified codec instance. The codec manager will return + * the instance of the codec back to its factory. + * + * @param mgr The codec manager instance. If NULL, the default codec + * manager instance will be used. + * @param codec The codec instance. + * + * @return PJ_SUCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_codec_mgr_dealloc_codec( + pjmedia_vid_codec_mgr *mgr, + pjmedia_vid_codec *codec); + + + +/** + * Initialize codec using the specified attribute. + * + * @param codec The codec instance. + * @param pool Pool to use when the codec needs to allocate + * some memory. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE(pj_status_t) pjmedia_vid_codec_init( pjmedia_vid_codec *codec, + pj_pool_t *pool ) +{ + return (*codec->op->init)(codec, pool); +} + + +/** + * Open the codec and initialize with the specified parameter. + * Upon successful initialization, the codec may modify the parameter + * and fills in the unspecified values (such as size or frame rate of + * the encoder format, as it may need to be negotiated with remote + * preferences via SDP fmtp). + * + * @param codec The codec instance. + * @param param Codec initialization parameter. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE(pj_status_t) pjmedia_vid_codec_open(pjmedia_vid_codec *codec, + pjmedia_vid_codec_param *param) +{ + return (*codec->op->open)(codec, param); +} + + +/** + * Close and shutdown codec, releasing all resources allocated by + * this codec, if any. + * + * @param codec The codec instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE(pj_status_t) pjmedia_vid_codec_close( pjmedia_vid_codec *codec ) +{ + return (*codec->op->close)(codec); +} + + +/** + * Modify the codec parameter after the codec is open. + * Note that not all codec parameters can be modified during run-time. + * When the parameter cannot be changed, this function will return + * non-PJ_SUCCESS, and the original parameters will not be changed. + * + * @param codec The codec instance. + * @param param The new codec parameter. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE(pj_status_t) +pjmedia_vid_codec_modify(pjmedia_vid_codec *codec, + const pjmedia_vid_codec_param *param) +{ + return (*codec->op->modify)(codec, param); +} + + +/** + * Get the codec parameter after the codec is opened. + * + * @param codec The codec instance. + * @param param The codec parameter. + * + * @return PJ_SUCCESS on success. + */ +PJ_INLINE(pj_status_t) +pjmedia_vid_codec_get_param(pjmedia_vid_codec *codec, + pjmedia_vid_codec_param *param) +{ + return (*codec->op->get_param)(codec, param); +} + +/** + * Encode the specified input frame. The input MUST contain only one picture + * with the appropriate format as specified when opening the codec. Depending + * on the packing or packetization set in the \a packing param, the process + * may produce multiple encoded packets or payloads to represent the picture. + * This is true for example for PJMEDIA_VID_PACKING_PACKETS packing. In this + * case, the \a has_more field will be set to PJ_TRUE, and application should + * call pjmedia_vid_codec_encode_more() to get the remaining results from the + * codec. + * + * @param codec The codec instance. + * @param opt Optional encoding options. + * @param input The input frame. + * @param out_size The length of buffer in the output frame. This + * should be at least the same as the configured + * encoding MTU of the codec. + * @param output The output frame. + * @param has_more PJ_TRUE if more payloads are available; application + * should then call pjmedia_vid_codec_encode_more() + * to retrieve the remaining results. + * + * @return PJ_SUCCESS on success; + */ +PJ_INLINE(pj_status_t) +pjmedia_vid_codec_encode_begin( pjmedia_vid_codec *codec, + const pjmedia_vid_encode_opt *opt, + const pjmedia_frame *input, + unsigned out_size, + pjmedia_frame *output, + pj_bool_t *has_more) +{ + return (*codec->op->encode_begin)(codec, opt, input, out_size, output, + has_more); +} + +/** + * Retrieve more encoded packets/payloads from the codec. Application + * should call this function repeatedly until \a has_more flag is set + * to PJ_FALSE. + * + * @param codec The codec instance. + * @param out_size The length of buffer in the output frame. This + * should be at least the same as as the configured + * encoding MTU of the codec. + * @param output The output frame. + * @param has_more PJ_TRUE if more payloads are available, which in + * this case application should call \a encode_more() + * to retrieve them. + * + * @return PJ_SUCCESS on success; + */ +PJ_INLINE(pj_status_t) +pjmedia_vid_codec_encode_more( pjmedia_vid_codec *codec, + unsigned out_size, + pjmedia_frame *output, + pj_bool_t *has_more) +{ + return (*codec->op->encode_more)(codec, out_size, output, has_more); +} + +/** + * Decode the input packets into one picture. If the packing is set to + * PJMEDIA_VID_PACKING_PACKETS when opening the codec, the codec is set + * to decode multiple encoded packets into one picture. These encoded + * packets are typically retrieved from the jitter buffer. If the packing + * is set to PJMEDIA_VID_PACKING_WHOLE, then this decode function can only + * accept one frame as the input. + * + * Note that the decoded picture format may different to the configured + * setting (i.e. the format specified in the #pjmedia_vid_codec_param when + * opening the codec), in this case the PJMEDIA_EVENT_FMT_CHANGED event will + * be emitted by the codec to notify the event. The codec parameter will + * also be updated, and application can query the format by using + * pjmedia_vid_codec_get_param(). + * + * @param codec The codec instance. + * @param pkt_count Number of packets in the input. + * @param packets Array of input packets, each containing an encoded + * frame. + * @param out_size The length of buffer in the output frame. + * @param output The output frame. + * + * @return PJ_SUCCESS on success; + */ +PJ_INLINE(pj_status_t) pjmedia_vid_codec_decode(pjmedia_vid_codec *codec, + pj_size_t pkt_count, + pjmedia_frame packets[], + unsigned out_size, + pjmedia_frame *output) +{ + return (*codec->op->decode)(codec, pkt_count, packets, out_size, output); +} + +/** + * Recover a missing frame. + * + * @param codec The codec instance. + * @param out_size The length of buffer in the output frame. + * @param output The output frame where generated signal + * will be placed. + * + * @return PJ_SUCCESS on success; + */ +PJ_INLINE(pj_status_t) pjmedia_vid_codec_recover(pjmedia_vid_codec *codec, + unsigned out_size, + pjmedia_frame *output) +{ + if (codec->op && codec->op->recover) + return (*codec->op->recover)(codec, out_size, output); + else + return PJ_ENOTSUP; +} + + +/** + * @} + */ + +/** + * @defgroup PJMEDIA_CODEC_VID_CODECS Supported video codecs + * @ingroup PJMEDIA_VID_CODEC + */ + + + + +PJ_END_DECL + + +#endif /* __PJMEDIA_VID_CODEC_H__ */ diff --git a/pjmedia/include/pjmedia/vid_codec_util.h b/pjmedia/include/pjmedia/vid_codec_util.h new file mode 100644 index 0000000..4b32e57 --- /dev/null +++ b/pjmedia/include/pjmedia/vid_codec_util.h @@ -0,0 +1,158 @@ +/* $Id: vid_codec_util.h 3715 2011-08-19 09:35:25Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_VID_CODEC_UTIL_H__ +#define __PJMEDIA_VID_CODEC_UTIL_H__ + + +/** + * @file vid_codec_util.h + * @brief Video codec utilities. + */ + +#include +#include + +PJ_BEGIN_DECL + + +/** + * Definition of H.263 parameters. + */ +typedef struct pjmedia_vid_codec_h263_fmtp +{ + unsigned mpi_cnt; /**< # of parsed MPI param */ + struct mpi { + pjmedia_rect_size size; /**< Picture size/resolution */ + unsigned val; /**< MPI value */ + } mpi[32]; /**< Minimum Picture Interval parameter */ + +} pjmedia_vid_codec_h263_fmtp; + + +/** + * Parse SDP fmtp of H.263. + * + * @param fmtp The H.263 SDP fmtp to be parsed. + * @param h263_fmtp The parsing result. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_codec_h263_parse_fmtp( + const pjmedia_codec_fmtp *fmtp, + pjmedia_vid_codec_h263_fmtp *h263_fmtp); + + +/** + * Parse, negotiate, and apply the encoding and decoding SDP fmtp of H.263 + * in the specified codec parameter. + * + * @param param The codec parameter. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_codec_h263_apply_fmtp( + pjmedia_vid_codec_param *param); + + +/** + * Definition of H.264 parameters. + */ +typedef struct pjmedia_vid_codec_h264_fmtp +{ + /* profile-level-id */ + pj_uint8_t profile_idc; /**< Profile ID */ + pj_uint8_t profile_iop; /**< Profile constraints bits */ + pj_uint8_t level; /**< Level */ + + /* packetization-mode */ + pj_uint8_t packetization_mode; /**< Packetization mode */ + + /* max-mbps, max-fs, max-cpb, max-dpb, and max-br */ + unsigned max_mbps; /**< Max macroblock processing rate */ + unsigned max_fs; /**< Max frame size (in macroblocks) */ + unsigned max_cpb; /**< Max coded picture buffer size */ + unsigned max_dpb; /**< Max decoded picture buffer size */ + unsigned max_br; /**< Max video bit rate */ + + /* sprop-parameter-sets, in NAL units */ + pj_size_t sprop_param_sets_len; /**< Parameter set length */ + pj_uint8_t sprop_param_sets[256]; /**< Parameter set (SPS & PPS), + in NAL unit bitstream */ + +} pjmedia_vid_codec_h264_fmtp; + + +/** + * Parse SDP fmtp of H.264. + * + * @param fmtp The H.264 SDP fmtp to be parsed. + * @param h264_fmtp The parsing result. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_codec_h264_parse_fmtp( + const pjmedia_codec_fmtp *fmtp, + pjmedia_vid_codec_h264_fmtp *h264_fmtp); + + +/** + * Match H.264 format in the SDP media offer and answer. This will compare + * H.264 identifier parameters in SDP fmtp, i.e: "profile-level-id" and + * "packetization-mode" fields. For better interoperability, when the option + * #PJMEDIA_SDP_NEG_FMT_MATCH_ALLOW_MODIFY_ANSWER is set, this function + * may update the answer so the parameters in the answer match to ones + * in the offer. + * + * @param pool The memory pool. + * @param offer The SDP media offer. + * @param o_fmt_idx Index of the H.264 format in the SDP media offer. + * @param answer The SDP media answer. + * @param a_fmt_idx Index of the H.264 format in the SDP media answer. + * @param option The format matching option, see + * #pjmedia_sdp_neg_fmt_match_flag. + * + * @return PJ_SUCCESS when the formats in offer and answer match. + */ +PJ_DECL(pj_status_t) pjmedia_vid_codec_h264_match_sdp( + pj_pool_t *pool, + pjmedia_sdp_media *offer, + unsigned o_fmt_idx, + pjmedia_sdp_media *answer, + unsigned a_fmt_idx, + unsigned option); + + +/** + * Parse and apply the encoding and decoding SDP fmtp of H.264 in the + * specified codec parameter. This will validate size and fps to conform + * to H.264 level specified in SDP fmtp "profile-level-id". + * + * @param param The codec parameter. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_codec_h264_apply_fmtp( + pjmedia_vid_codec_param *param); + + +PJ_END_DECL + + +#endif /* __PJMEDIA_VID_CODEC_UTIL_H__ */ diff --git a/pjmedia/include/pjmedia/vid_port.h b/pjmedia/include/pjmedia/vid_port.h new file mode 100644 index 0000000..a5a66d1 --- /dev/null +++ b/pjmedia/include/pjmedia/vid_port.h @@ -0,0 +1,243 @@ +/* $Id: vid_port.h 4168 2012-06-18 05:59:08Z ming $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_VIDPORT_H__ +#define __PJMEDIA_VIDPORT_H__ + +/** + * @file pjmedia/videoport.h Video media port + * @brief Video media port + */ + +#include +#include + +/** + * @defgroup PJMEDIA_VIDEO_PORT Video media port + * @ingroup PJMEDIA_PORT_CLOCK + * @brief Video media port + * @{ + */ + +PJ_BEGIN_DECL + +/** + * This structure describes the parameters to create a video port + */ +typedef struct pjmedia_vid_port_param +{ + /** + * Video stream parameter. + */ + pjmedia_vid_dev_param vidparam; + + /** + * Specify whether the video port should use active or passive interface. + * If active interface is selected, the video port will perform as + * a media clock, automatically calls pjmedia_port_get_frame() and + * pjmedia_port_put_frame() of its slave port (depending on the direction + * that is specified when opening the video stream). If passive interface + * is selected, application can retrieve the media port of this video + * port by calling pjmedia_vid_port_get_passive_port(), and subsequently + * calls pjmedia_port_put_frame() or pjmedia_port_get_frame() to that + * media port. + * + * Default: PJ_TRUE + */ + pj_bool_t active; + +} pjmedia_vid_port_param; + +/** + * Opaque data type for video port. + */ +typedef struct pjmedia_vid_port pjmedia_vid_port; + +/** + * Initialize the parameter with the default values. Note that this typically + * would only fill the structure to zeroes unless they have different default + * values. + * + * @param prm The parameter. + */ +PJ_DECL(void) pjmedia_vid_port_param_default(pjmedia_vid_port_param *prm); + +/** + * Create a video port with the specified parameter. When video port opens + * the video stream with different parameter than the requested values in + * the \a prm.vidparam argument, it will automatically do the necessary + * conversion. + * + * @param pool Pool to allocate memory from. + * @param prm The video port parameter. + * @param p_vp Pointer to receive the result. + * + * @return PJ_SUCCESS if video port has been created + * successfully, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_port_create(pj_pool_t *pool, + const pjmedia_vid_port_param *prm, + pjmedia_vid_port **p_vp); + +/** + * Set the callbacks of the video port's underlying video stream. + * + * @param vid_port The video port. + * @param cb Pointer to structure containing video stream + * callbacks. + * @param user_data Arbitrary user data, which will be given back in the + * callbacks. + */ +PJ_DECL(void) pjmedia_vid_port_set_cb(pjmedia_vid_port *vid_port, + const pjmedia_vid_dev_cb *cb, + void *user_data); + +/** + * Return the underlying video stream of the video port. + * + * @param vid_port The video port. + * + * @return The video stream. + */ +PJ_DECL(pjmedia_vid_dev_stream*) +pjmedia_vid_port_get_stream(pjmedia_vid_port *vid_port); + +/** + * Return the (passive) media port of the video port. This operation + * is only valid for video ports created with passive interface selected. + * Retrieving the media port for active video ports may raise an + * assertion. + * + * @param vid_port The video port. + * + * @return The media port instance, or NULL. + */ +PJ_DECL(pjmedia_port*) +pjmedia_vid_port_get_passive_port(pjmedia_vid_port *vid_port); + +/** + * Get a clock source from the video port. + * + * @param vid_port The video port. + * + * @return The clock source. + */ +PJ_DECL(pjmedia_clock_src *) +pjmedia_vid_port_get_clock_src( pjmedia_vid_port *vid_port ); + +/** + * Set a clock source for the video port. + * + * @param vid_port The video port. + * @param clocksrc The clock source. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_port_set_clock_src( pjmedia_vid_port *vid_port, + pjmedia_clock_src *clocksrc ); + +/** + * Connect the video port to a downstream (slave) media port. This operation + * is only valid for video ports created with active interface selected. + * Connecting a passive video port may raise an assertion. + * + * @param vid_port The video port. + * @param port A downstream media port to be connected to + * this video port. + * @param destroy Specify if the downstream media port should also be + * destroyed by this video port when the video port + * is destroyed. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_port_connect(pjmedia_vid_port *vid_port, + pjmedia_port *port, + pj_bool_t destroy); + +/** + * Disconnect the video port from its downstream (slave) media port, if any. + * This operation is only valid for video ports created with active interface + * selected, and assertion may be triggered if this is invoked on a passive + * video port. + * + * @param vid_port The video port. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_port_disconnect(pjmedia_vid_port *vid_port); + +/** + * Retrieve the media port currently connected as downstream media port of the + * specified video port. This operation is only valid for video ports created + * with active interface selected, and assertion may be triggered if this is + * invoked on a passive video port. + * + * @param vid_port The video port. + * + * @return Media port currently connected to the video port, + * if any. + */ +PJ_DECL(pjmedia_port*) +pjmedia_vid_port_get_connected_port(pjmedia_vid_port *vid_port); + +/** + * Start the video port. + * + * @param vid_port The video port. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_port_start(pjmedia_vid_port *vid_port); + +/** + * Query whether the video port has been started. + * + * @param vid_port The video port. + * + * @return PJ_TRUE if the video port has been started. + */ +PJ_DECL(pj_bool_t) pjmedia_vid_port_is_running(pjmedia_vid_port *vid_port); + +/** + * Stop the video port. + * + * @param vid_port The video port. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_port_stop(pjmedia_vid_port *vid_port); + +/** + * Destroy the video port, along with its video stream. If the video port is + * an active one, this may also destroy the downstream media port, if the + * destroy flag is set when the media port is connected. + * + * @param vid_port The video port. + */ +PJ_DECL(void) pjmedia_vid_port_destroy(pjmedia_vid_port *vid_port); + + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJMEDIA_VIDPORT_H__ */ + diff --git a/pjmedia/include/pjmedia/vid_stream.h b/pjmedia/include/pjmedia/vid_stream.h new file mode 100644 index 0000000..1a2cbd8 --- /dev/null +++ b/pjmedia/include/pjmedia/vid_stream.h @@ -0,0 +1,423 @@ +/* $Id: vid_stream.h 4043 2012-04-12 13:41:50Z nanang $ */ +/* + * Copyright (C) 2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_VID_STREAM_H__ +#define __PJMEDIA_VID_STREAM_H__ + + +/** + * @file vid_stream.h + * @brief Video Stream. + */ + +#include +#include +#include +#include +#include +#include +#include + +PJ_BEGIN_DECL + + +/** + * @defgroup PJMED_VID_STRM Video streams + * @ingroup PJMEDIA_PORT + * @brief Video communication via the network + * @{ + * + * A video stream is a bidirectional video communication between two + * endpoints. It corresponds to a video media description ("m=video" line) + * in SDP session descriptor. + * + * A video stream consists of two unidirectional channels: + * - encoding channel, which transmits unidirectional video to remote, and + * - decoding channel, which receives unidirectional media from remote. + * + * A video stream exports two media port interface (see @ref PJMEDIA_PORT), + * one for each direction, and application normally uses this interface to + * interconnect the stream to other PJMEDIA components, e.g: the video + * capture port supplies frames to the encoding port and video renderer + * consumes frames from the decoding port. + * + * A video stream internally manages the following objects: + * - an instance of video codec (see @ref PJMEDIA_VID_CODEC), + * - an @ref PJMED_JBUF, + * - two instances of RTP sessions (#pjmedia_rtp_session, one for each + * direction), + * - one instance of RTCP session (#pjmedia_rtcp_session), + * - and a reference to video transport to send and receive packets + * to/from the network (see @ref PJMEDIA_TRANSPORT). + * + * Video streams are created by calling #pjmedia_vid_stream_create(), + * specifying #pjmedia_stream_info structure in the parameter. Application + * can construct the #pjmedia_vid_stream_info structure manually, or use + * #pjmedia_vid_stream_info_from_sdp() function to construct the + * #pjmedia_vid stream_info from local and remote SDP session descriptors. + */ + + +/** + * Enumeration of video stream sending rate control. + */ +typedef enum pjmedia_vid_stream_rc_method +{ + /** + * No sending rate control. All outgoing RTP packets will be transmitted + * immediately right after encoding process is done. + */ + PJMEDIA_VID_STREAM_RC_NONE = 0, + + /** + * Simple blocking. Each outgoing RTP packet transmission may be delayed + * to avoid peak bandwidth that is much higher than specified. The thread + * invoking the video stream put_frame(), e.g: video capture device thread, + * will be blocked whenever transmission delay takes place. + */ + PJMEDIA_VID_STREAM_RC_SIMPLE_BLOCKING = 1 + +} pjmedia_vid_stream_rc_method; + + +/** + * Structure of configuration settings for video stream sending rate control. + */ +typedef struct pjmedia_vid_stream_rc_config +{ + /** + * Rate control method. + * + * Default: PJMEDIA_VID_STREAM_RC_SIMPLE_BLOCKING. + */ + pjmedia_vid_stream_rc_method method; + + /** + * Upstream/outgoing bandwidth. If this is set to zero, the video stream + * will use codec maximum bitrate setting. + * + * Default: 0 (follow codec maximum bitrate). + */ + unsigned bandwidth; + +} pjmedia_vid_stream_rc_config; + + +/** + * This structure describes video stream information. Each video stream + * corresponds to one "m=" line in SDP session descriptor, and it has + * its own RTP/RTCP socket pair. + */ +typedef struct pjmedia_vid_stream_info +{ + pjmedia_type type; /**< Media type (audio, video) */ + pjmedia_tp_proto proto; /**< Transport protocol (RTP/AVP, etc.) */ + pjmedia_dir dir; /**< Media direction. */ + pj_sockaddr rem_addr; /**< Remote RTP address */ + pj_sockaddr rem_rtcp; /**< Optional remote RTCP address. If + sin_family is zero, the RTP address + will be calculated from RTP. */ + unsigned tx_pt; /**< Outgoing codec paylaod type. */ + unsigned rx_pt; /**< Incoming codec paylaod type. */ + pj_uint32_t ssrc; /**< RTP SSRC. */ + pj_uint32_t rtp_ts; /**< Initial RTP timestamp. */ + pj_uint16_t rtp_seq; /**< Initial RTP sequence number. */ + pj_uint8_t rtp_seq_ts_set; + /**< Bitmask flags if initial RTP sequence + and/or timestamp for sender are set. + bit 0/LSB : sequence flag + bit 1 : timestamp flag */ + int jb_init; /**< Jitter buffer init delay in msec. + (-1 for default). */ + int jb_min_pre; /**< Jitter buffer minimum prefetch + delay in msec (-1 for default). */ + int jb_max_pre; /**< Jitter buffer maximum prefetch + delay in msec (-1 for default). */ + int jb_max; /**< Jitter buffer max delay in msec. */ + +#if defined(PJMEDIA_STREAM_ENABLE_KA) && PJMEDIA_STREAM_ENABLE_KA!=0 + pj_bool_t use_ka; /**< Stream keep-alive and NAT hole punch + (see #PJMEDIA_STREAM_ENABLE_KA) + is enabled? */ +#endif + + pjmedia_vid_codec_info codec_info; /**< Incoming codec format info. */ + pjmedia_vid_codec_param *codec_param; /**< Optional codec param. */ + + pj_bool_t rtcp_sdes_bye_disabled; + /**< Disable automatic sending of RTCP + SDES and BYE. */ + + pjmedia_vid_stream_rc_config rc_cfg; + /**< Stream send rate control settings. */ +} pjmedia_vid_stream_info; + + +/** + * This function will initialize the video stream info based on information + * in both SDP session descriptors for the specified stream index. + * The remaining information will be taken from default codec parameters. + * If socket info array is specified, the socket will be copied to the + * session info as well. + * + * @param si Stream info structure to be initialized. + * @param pool Pool to allocate memory. + * @param endpt PJMEDIA endpoint instance. + * @param local Local SDP session descriptor. + * @param remote Remote SDP session descriptor. + * @param stream_idx Media stream index in the session descriptor. + * + * @return PJ_SUCCESS if stream info is successfully initialized. + */ +PJ_DECL(pj_status_t) +pjmedia_vid_stream_info_from_sdp(pjmedia_vid_stream_info *si, + pj_pool_t *pool, + pjmedia_endpt *endpt, + const pjmedia_sdp_session *local, + const pjmedia_sdp_session *remote, + unsigned stream_idx); + + +/** + * Initialize the video stream rate control with default settings. + * + * @param cfg Video stream rate control structure to be initialized. + */ +PJ_DECL(void) +pjmedia_vid_stream_rc_config_default(pjmedia_vid_stream_rc_config *cfg); + + +/* + * Opaque declaration for video stream. + */ +typedef struct pjmedia_vid_stream pjmedia_vid_stream; + + +/** + * Create a video stream based on the specified parameter. After the video + * stream has been created, application normally would want to get the media + * port interface of the stream, by calling pjmedia_vid_stream_get_port(). + * The media port interface exports put_frame() and get_frame() function, + * used to transmit and receive media frames from the stream. + * + * Without application calling put_frame() and get_frame(), there will be + * no media frames transmitted or received by the stream. + * + * @param endpt Media endpoint. + * @param pool Optional pool to allocate memory for the stream. If + * this is not specified, one will be created internally. + * A large number of memory may be needed because jitter + * buffer needs to preallocate some storage. + * @param info Stream information to create the stream. Upon return, + * this info will be updated with the information from + * the instantiated codec. Note that if the "pool" + * argument is NULL, some fields in this "info" parameter + * will be allocated from the internal pool of the + * stream, which means that they will only remain valid + * as long as the stream is not destroyed. + * @param tp Media transport instance used to transmit and receive + * RTP/RTCP packets to/from the underlying network. + * @param user_data Arbitrary user data (for future callback feature). + * @param p_stream Pointer to receive the video stream. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_stream_create( + pjmedia_endpt *endpt, + pj_pool_t *pool, + pjmedia_vid_stream_info *info, + pjmedia_transport *tp, + void *user_data, + pjmedia_vid_stream **p_stream); + +/** + * Destroy the video stream. + * + * @param stream The video stream. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_stream_destroy(pjmedia_vid_stream *stream); + + +/** + * Get the media port interface of the stream. The media port interface + * declares put_frame() and get_frame() function, which is the only + * way for application to transmit and receive media frames from the + * stream. As bidirectional video streaming may have different video + * formats in the encoding and decoding direction, there are two media + * ports exported by the video stream, one for each direction. + * + * @param stream The video stream. + * @param dir The video direction. + * @param p_port Pointer to receive the port interface. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_stream_get_port( + pjmedia_vid_stream *stream, + pjmedia_dir dir, + pjmedia_port **p_port); + + +/** + * Get the media transport object associated with this stream. + * + * @param st The video stream. + * + * @return The transport object being used by the stream. + */ +PJ_DECL(pjmedia_transport*) pjmedia_vid_stream_get_transport( + pjmedia_vid_stream *st); + + +/** + * Get the stream statistics. See also #pjmedia_stream_get_stat_jbuf() + * + * @param stream The video stream. + * @param stat Media stream statistics. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_stream_get_stat( + const pjmedia_vid_stream *stream, + pjmedia_rtcp_stat *stat); + +/** + * Reset the video stream statistics. + * + * @param stream The video stream. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_stream_reset_stat(pjmedia_vid_stream *stream); + + +/** + * Get current jitter buffer state. See also #pjmedia_stream_get_stat() + * + * @param stream The video stream. + * @param state Jitter buffer state. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_stream_get_stat_jbuf( + const pjmedia_vid_stream *stream, + pjmedia_jb_state *state); + + +/** + * Get the stream info. + * + * @param stream The video stream. + * @param info Video stream info. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_stream_get_info( + const pjmedia_vid_stream *stream, + pjmedia_vid_stream_info *info); + + +/** + * Start the video stream. This will start the appropriate channels + * in the video stream, depending on the video direction that was set + * when the stream was created. + * + * @param stream The video stream. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_stream_start(pjmedia_vid_stream *stream); + + +/** + * Query if the stream is started on the specified direction. + * + * @param stream The video stream. + * @param dir The direction to be checked. + * + * @return PJ_TRUE if stream is started. + */ +PJ_DECL(pj_bool_t) pjmedia_vid_stream_is_running(pjmedia_vid_stream *stream, + pjmedia_dir dir); + +/** + * Pause stream channels. + * + * @param stream The video stream. + * @param dir Which channel direction to pause. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_stream_pause(pjmedia_vid_stream *stream, + pjmedia_dir dir); + +/** + * Resume stream channels. + * + * @param stream The video stream. + * @param dir Which channel direction to resume. + * + * @return PJ_SUCCESS on success; + */ +PJ_DECL(pj_status_t) pjmedia_vid_stream_resume(pjmedia_vid_stream *stream, + pjmedia_dir dir); + + +/** + * Force stream to send video keyframe on the next transmission. + * + * @param stream The video stream. + * + * @return PJ_SUCCESS on success; + */ +PJ_DECL(pj_status_t) pjmedia_vid_stream_send_keyframe( + pjmedia_vid_stream *stream); + + +/** + * Send RTCP SDES for the media stream. + * + * @param stream The media stream. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_stream_send_rtcp_sdes( + pjmedia_vid_stream *stream); + + +/** + * Send RTCP BYE for the media stream. + * + * @param stream The media stream. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_vid_stream_send_rtcp_bye( + pjmedia_vid_stream *stream); + + +/** + * @} + */ + +PJ_END_DECL + + +#endif /* __PJMEDIA_VID_STREAM_H__ */ diff --git a/pjmedia/include/pjmedia/vid_tee.h b/pjmedia/include/pjmedia/vid_tee.h new file mode 100644 index 0000000..faff8ab --- /dev/null +++ b/pjmedia/include/pjmedia/vid_tee.h @@ -0,0 +1,142 @@ +/* $Id: vid_tee.h 3664 2011-07-19 03:42:28Z nanang $ */ +/* + * Copyright (C) 2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_VID_TEE_H__ +#define __PJMEDIA_VID_TEE_H__ + +/** + * @file vid_tee.h + * @brief Video tee (source duplicator). + */ +#include + +/** + * @addtogroup PJMEDIA_VID_TEE Video source duplicator + * @ingroup PJMEDIA_PORT + * @brief Duplicate video data from a media port into multiple media port + * destinations + * @{ + * + * This section describes media port to duplicate video data in the stream. + * + * A video tee branches video stream flow from one source port to multiple + * destination ports by simply duplicating the video data supplied by the + * source port and delivering the copy to all registered destinations. + * + * The video tee is a unidirectional port, i.e: data flows from source port + * to destination ports only. Also, the video source port MUST actively call + * pjmedia_port_put_frame() to the video tee and the video destination ports + * MUST NEVER call pjmedia_port_get_frame() to the video tee. Please note that + * there is no specific order of which destination port will receive a frame + * from the video tee. + * + * The video tee is not thread-safe, so it is application responsibility + * to synchronize video tee operations, e.g: make sure the source port is + * paused during adding or removing a destination port. + */ + +PJ_BEGIN_DECL + + +/** + * Enumeration of video tee flags. + */ +typedef enum pjmedia_vid_tee_flag +{ + /** + * Tell the video tee that the destination port will do in-place + * processing, so the delivered data may be modified by this port. + * If this flag is used, buffer will be copied before being given to + * the destination port. + */ + PJMEDIA_VID_TEE_DST_DO_IN_PLACE_PROC = 4, + +} pjmedia_vid_tee_flag; + + +/** + * Create a video tee port with the specified source media port. Application + * should destroy the tee with pjmedia_port_destroy() as usual. Note that + * destroying the tee does not destroy its destination ports. + * + * @param pool The pool. + * @param fmt The source media port's format. + * @param max_dst_cnt The maximum number of destination ports supported. + * @param p_vid_tee Pointer to receive the video tee port. + * + * @return PJ_SUCCESS on success, or the appropriate + * error code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_tee_create(pj_pool_t *pool, + const pjmedia_format *fmt, + unsigned max_dst_cnt, + pjmedia_port **p_vid_tee); + +/** + * Add a destination media port to the video tee. For this function, the + * destination port's media format must match the source format. + * + * @param vid_tee The video tee. + * @param option Video tee option, see @pjmedia_vid_tee_flag. + * @param port The destination media port. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_tee_add_dst_port(pjmedia_port *vid_tee, + unsigned option, + pjmedia_port *port); + + +/** + * Add a destination media port to the video tee. This function will also + * create a converter if the destination port's media format does not match + * the source format. + * + * @param vid_tee The video tee. + * @param option Video tee option, see @pjmedia_vid_tee_flag. + * @param port The destination media port. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_tee_add_dst_port2(pjmedia_port *vid_tee, + unsigned option, + pjmedia_port *port); + + +/** + * Remove a destination media port from the video tee. + * + * @param vid_tee The video tee. + * @param port The destination media port to be removed. + * + * @return PJ_SUCCESS on success, or the appropriate error + * code. + */ +PJ_DECL(pj_status_t) pjmedia_vid_tee_remove_dst_port(pjmedia_port *vid_tee, + pjmedia_port *port); + + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJMEDIA_VID_TEE_H__ */ diff --git a/pjmedia/include/pjmedia/wav_playlist.h b/pjmedia/include/pjmedia/wav_playlist.h new file mode 100644 index 0000000..a81e16e --- /dev/null +++ b/pjmedia/include/pjmedia/wav_playlist.h @@ -0,0 +1,105 @@ +/* $Id: wav_playlist.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_WAV_PLAYLIST_H__ +#define __PJMEDIA_WAV_PLAYLIST_H__ + +/** + * @file wav_playlist.h + * @brief WAV file playlist. + */ +#include + + + +PJ_BEGIN_DECL + + +/** + * @defgroup PJMEDIA_WAV_PLAYLIST WAV File Play List + * @ingroup PJMEDIA_PORT + * @brief Audio playback of multiple WAV files + * @{ + * + * The WAV play list port enables application to play back multiple + * WAV files in a playlist. + */ + +/** + * Create a WAV playlist from the array of WAV file names. The WAV + * files must have the same clock rate, number of channels, and bits + * per sample, or otherwise this function will return error. + * + * @param pool Pool to create memory buffers for this port. + * @param port_label Optional label to set as the port name. + * @param file_list Array of WAV file names. + * @param file_count Number of files in the array. + * @param ptime The duration (in miliseconds) of each frame read + * from this port. If the value is zero, the default + * duration (20ms) will be used. + * @param options Optional options. Application may specify + * PJMEDIA_FILE_NO_LOOP to prevent play back loop. + * @param buff_size Buffer size to be allocated. If the value is zero or + * negative, the port will use default buffer size (which + * is about 4KB). + * @param p_port Pointer to receive the file port instance. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_wav_playlist_create(pj_pool_t *pool, + const pj_str_t *port_label, + const pj_str_t file_list[], + int file_count, + unsigned ptime, + unsigned options, + pj_ssize_t buff_size, + pjmedia_port **p_port); + + +/** + * Register a callback to be called when the file reading has reached the + * end of file of the last file. If the file is set to play repeatedly, + * then the callback will be called multiple times. Note that only one + * callback can be registered for each file port. + * + * @param port The WAV play list port. + * @param user_data User data to be specified in the callback + * @param cb Callback to be called. If the callback returns non- + * PJ_SUCCESS, the playback will stop. Note that if + * application destroys the file port in the callback, + * it must return non-PJ_SUCCESS here. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_wav_playlist_set_eof_cb(pjmedia_port *port, + void *user_data, + pj_status_t (*cb)(pjmedia_port *port, + void *usr_data)); + + +/** + * @} + */ + + +PJ_END_DECL + + +#endif /* __PJMEDIA_WAV_PLAYLIST_H__ */ diff --git a/pjmedia/include/pjmedia/wav_port.h b/pjmedia/include/pjmedia/wav_port.h new file mode 100644 index 0000000..884a2a9 --- /dev/null +++ b/pjmedia/include/pjmedia/wav_port.h @@ -0,0 +1,290 @@ +/* $Id: wav_port.h 4793 2014-03-14 04:09:50Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_WAV_PORT_H__ +#define __PJMEDIA_WAV_PORT_H__ + +/** + * @file wav_port.h + * @brief WAV file player and writer. + */ +#include + + + +PJ_BEGIN_DECL + + +/** + * @defgroup PJMEDIA_FILE_PLAY WAV File Player + * @ingroup PJMEDIA_PORT + * @brief Audio playback from WAV file + * @{ + */ + +/** + * WAV file player options. + */ +enum pjmedia_file_player_option +{ + /** + * Tell the file player to return NULL frame when the whole + * file has been played. + */ + PJMEDIA_FILE_NO_LOOP = 1 +}; + + +/** + * Additional information about the WAV player. + */ +typedef struct pjmedia_wav_player_info +{ + /** + * Format ID of the payload. + */ + pjmedia_format_id fmt_id; + + /** + * The number of bits per sample of the file payload. For example, + * the value is 16 for PCM WAV and 8 for Alaw/Ulas WAV files. + */ + unsigned payload_bits_per_sample; + + /** + * The WAV payload size in bytes. + */ + pj_uint32_t size_bytes; + + /** + * The WAV payload size in samples. + */ + pj_uint32_t size_samples; + +} pjmedia_wav_player_info; + + +/** + * Create a media port to play streams from a WAV file. WAV player port + * supports for reading WAV file with uncompressed 16 bit PCM format or + * compressed G.711 A-law/U-law format. + * + * @param pool Pool to create memory buffers for this port. + * @param filename File name to open. + * @param ptime The duration (in miliseconds) of each frame read + * from this port. If the value is zero, the default + * duration (20ms) will be used. + * @param flags Port creation flags. + * @param buff_size Buffer size to be allocated. If the value is zero or + * negative, the port will use default buffer size (which + * is about 4KB). + * @param p_port Pointer to receive the file port instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_wav_player_port_create( pj_pool_t *pool, + const char *filename, + unsigned ptime, + unsigned flags, + pj_ssize_t buff_size, + pjmedia_port **p_port ); + +/** + * Get additional info about the file player. + * + * @param port The file port. + * @param i The info. + * + * @return PJ_SUCCESS on success or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_wav_player_get_info(pjmedia_port *port, + pjmedia_wav_player_info *i); + +/** + * Get the data length, in bytes. + * + * @param port The file player port. + * + * @return The length of the data, in bytes. On error, the + * error code is given as negative value. + */ +PJ_DECL(pj_ssize_t) pjmedia_wav_player_get_len(pjmedia_port *port); + + +/** + * Set the file play position of WAV player. + * + * @param port The file player port. + * @param offset Playback position in bytes, relative to the start of + * the payload. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_wav_player_port_set_pos( pjmedia_port *port, + pj_uint32_t offset ); + + +/** + * Get the file play position of WAV player, in bytes. + * + * @param port The file player port. + * + * @return The current play position, in bytes. On error, the + * error code is given as negative value. + */ +PJ_DECL(pj_ssize_t) pjmedia_wav_player_port_get_pos( pjmedia_port *port ); + + +/** + * Register a callback to be called when the file reading has reached the + * end of file. If the file is set to play repeatedly, then the callback + * will be called multiple times. Note that only one callback can be + * registered for each file port. + * + * @param port The file player port. + * @param user_data User data to be specified in the callback + * @param cb Callback to be called. If the callback returns non- + * PJ_SUCCESS, the playback will stop. Note that if + * application destroys the file port in the callback, + * it must return non-PJ_SUCCESS here. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_wav_player_set_eof_cb( pjmedia_port *port, + void *user_data, + pj_status_t (*cb)(pjmedia_port *port, + void *usr_data)); + +/** + * @} + */ + + +/** + * @defgroup PJMEDIA_FILE_REC File Writer (Recorder) + * @ingroup PJMEDIA_PORT + * @brief Audio capture/recording to WAV file + * @{ + */ + + +/** + * WAV file writer options. + */ +enum pjmedia_file_writer_option +{ + /** + * Tell the file writer to save the audio in PCM format. + */ + PJMEDIA_FILE_WRITE_PCM = 0, + + /** + * Tell the file writer to save the audio in G711 Alaw format. + */ + PJMEDIA_FILE_WRITE_ALAW = 1, + + /** + * Tell the file writer to save the audio in G711 Alaw format. + */ + PJMEDIA_FILE_WRITE_ULAW = 2, +}; + + +/** + * Create a media port to record streams to a WAV file. Note that the port + * must be closed properly (with #pjmedia_port_destroy()) so that the WAV + * header can be filled with correct values (such as the file length). + * WAV writer port supports for writing audio in uncompressed 16 bit PCM format + * or compressed G.711 U-law/A-law format, this needs to be specified in + * \a flags param. + * + * @param pool Pool to create memory buffers for this port. + * @param filename File name. + * @param clock_rate The sampling rate. + * @param channel_count Number of channels. + * @param samples_per_frame Number of samples per frame. + * @param bits_per_sample Number of bits per sample (eg 16). + * @param flags Port creation flags, see + * #pjmedia_file_writer_option. + * @param buff_size Buffer size to be allocated. If the value is + * zero or negative, the port will use default buffer + * size (which is about 4KB). + * @param p_port Pointer to receive the file port instance. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjmedia_wav_writer_port_create(pj_pool_t *pool, + const char *filename, + unsigned clock_rate, + unsigned channel_count, + unsigned samples_per_frame, + unsigned bits_per_sample, + unsigned flags, + pj_ssize_t buff_size, + pjmedia_port **p_port ); + + +/** + * Get current writing position. Note that this does not necessarily match + * the size written to the file, since the WAV writer employs some internal + * buffering. Also the value reported here only indicates the payload size + * (it does not include the size of the WAV header), + * + * @param port The file writer port. + * + * @return Positive value to indicate the position (in bytes), + * or negative value containing the error code. + */ +PJ_DECL(pj_ssize_t) pjmedia_wav_writer_port_get_pos( pjmedia_port *port ); + + +/** + * Register the callback to be called when the file writing has reached + * certain size. Application can use this callback, for example, to limit + * the size of the output file. + * + * @param port The file writer port. + * @param pos The file position on which the callback will be called. + * @param user_data User data to be specified in the callback, and will be + * given on the callback. + * @param cb Callback to be called. If the callback returns non- + * PJ_SUCCESS, the writing will stop. Note that if + * application destroys the port in the callback, it must + * return non-PJ_SUCCESS here. + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) +pjmedia_wav_writer_port_set_cb( pjmedia_port *port, + pj_size_t pos, + void *user_data, + pj_status_t (*cb)(pjmedia_port *port, + void *usr_data)); + + +/** + * @} + */ + + +PJ_END_DECL + + +#endif /* __PJMEDIA_WAV_PORT_H__ */ diff --git a/pjmedia/include/pjmedia/wave.h b/pjmedia/include/pjmedia/wave.h new file mode 100644 index 0000000..a1fec7c --- /dev/null +++ b/pjmedia/include/pjmedia/wave.h @@ -0,0 +1,184 @@ +/* $Id: wave.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_WAVE_H__ +#define __PJMEDIA_WAVE_H__ + + +/** + * @file wave.h + * @brief WAVE file manipulation. + */ +#include + +/** + * @defgroup PJMEDIA_FILE_FORMAT File Formats + * @brief Supported file formats + */ + + +/** + * @defgroup PJMEDIA_WAVE WAVE Header + * @ingroup PJMEDIA_FILE_FORMAT + * @brief Representation of RIFF/WAVE file format + * @{ + * + * This the the low level representation of RIFF/WAVE file format. For + * higher abstraction, please see \ref PJMEDIA_FILE_PLAY and + * \ref PJMEDIA_FILE_REC. + */ + + +PJ_BEGIN_DECL + +/** + * Standard RIFF tag to identify RIFF file format in the WAVE header. + */ +#define PJMEDIA_RIFF_TAG ('F'<<24|'F'<<16|'I'<<8|'R') + +/** + * Standard WAVE tag to identify WAVE header. + */ +#define PJMEDIA_WAVE_TAG ('E'<<24|'V'<<16|'A'<<8|'W') + +/** + * Standard FMT tag to identify format chunks. + */ +#define PJMEDIA_FMT_TAG (' '<<24|'t'<<16|'m'<<8|'f') + +/** + * Standard DATA tag to identify data chunks. + */ +#define PJMEDIA_DATA_TAG ('a'<<24|'t'<<16|'a'<<8|'d') + +/** + * Standard FACT tag to identify fact chunks. + */ +#define PJMEDIA_FACT_TAG ('t'<<24|'c'<<16|'a'<<8|'f') + + +/** + * Enumeration of format compression tag. + */ +typedef enum { + PJMEDIA_WAVE_FMT_TAG_PCM = 1, + PJMEDIA_WAVE_FMT_TAG_ALAW = 6, + PJMEDIA_WAVE_FMT_TAG_ULAW = 7 +} pjmedia_wave_fmt_tag; + + +/** + * This file describes the simpler/canonical version of a WAVE file. + * It does not support the full RIFF format specification. + */ +#pragma pack(2) +struct pjmedia_wave_hdr +{ + /** This structure describes RIFF WAVE file header */ + struct { + pj_uint32_t riff; /**< "RIFF" ASCII tag. */ + pj_uint32_t file_len; /**< File length minus 8 bytes */ + pj_uint32_t wave; /**< "WAVE" ASCII tag. */ + } riff_hdr; + + /** This structure describes format chunks/header */ + struct { + pj_uint32_t fmt; /**< "fmt " ASCII tag. */ + pj_uint32_t len; /**< 16 for PCM. */ + pj_uint16_t fmt_tag; /**< 1 for PCM */ + pj_uint16_t nchan; /**< Number of channels. */ + pj_uint32_t sample_rate; /**< Sampling rate. */ + pj_uint32_t bytes_per_sec; /**< Average bytes per second. */ + pj_uint16_t block_align; /**< nchannels * bits / 8 */ + pj_uint16_t bits_per_sample; /**< Bits per sample. */ + } fmt_hdr; + + /** The data header preceeds the actual data in the file. */ + struct { + pj_uint32_t data; /**< "data" ASCII tag. */ + pj_uint32_t len; /**< Data length. */ + } data_hdr; +}; +#pragma pack() + +/** + * @see pjmedia_wave_hdr + */ +typedef struct pjmedia_wave_hdr pjmedia_wave_hdr; + +/** + * This structure describes generic RIFF subchunk header. + */ +typedef struct pjmedia_wave_subchunk +{ + pj_uint32_t id; /**< Subchunk ASCII tag. */ + pj_uint32_t len; /**< Length following this field */ +} pjmedia_wave_subchunk; + + +/** + * Normalize subchunk header from little endian (the representation of + * RIFF file) into host's endian. + */ +#if defined(PJ_IS_BIG_ENDIAN) && PJ_IS_BIG_ENDIAN!=0 +# define PJMEDIA_WAVE_NORMALIZE_SUBCHUNK(ch) \ + do { \ + (ch)->id = pj_swap32((ch)->id); \ + (ch)->len = pj_swap32((ch)->len); \ + } while (0) +#else +# define PJMEDIA_WAVE_NORMALIZE_SUBCHUNK(ch) +#endif + + +/** + * On big-endian hosts, this function swaps the byte order of the values + * in the WAVE header fields. On little-endian hosts, this function does + * nothing. + * + * Application SHOULD call this function after reading the WAVE header + * chunks from a file. + * + * @param hdr The WAVE header. + */ +PJ_DECL(void) pjmedia_wave_hdr_file_to_host( pjmedia_wave_hdr *hdr ); + + +/** + * On big-endian hosts, this function swaps the byte order of the values + * in the WAVE header fields. On little-endian hosts, this function does + * nothing. + * + * Application SHOULD call this function before writing the WAVE header + * to a file. + * + * @param hdr The WAVE header. + */ +PJ_DECL(void) pjmedia_wave_hdr_host_to_file( pjmedia_wave_hdr *hdr ); + + +PJ_END_DECL + +/** + * @} + */ + + +#endif /* __PJMEDIA_WAVE_H__ */ + diff --git a/pjmedia/include/pjmedia/wsola.h b/pjmedia/include/pjmedia/wsola.h new file mode 100644 index 0000000..8f76025 --- /dev/null +++ b/pjmedia/include/pjmedia/wsola.h @@ -0,0 +1,219 @@ +/* $Id: wsola.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_WSOLA_H__ +#define __PJMEDIA_WSOLA_H__ + +/** + * @file wsola.h + * @brief Waveform Similarity Based Overlap-Add (WSOLA) + */ +#include + +/** + * @defgroup PJMED_WSOLA Waveform Similarity Based Overlap-Add (WSOLA) + * @ingroup PJMEDIA_FRAME_OP + * @brief Time-scale modification to audio without affecting the pitch + * @{ + * + * This section describes Waveform Similarity Based Overlap-Add (WSOLA) + * implementation in PJMEDIA. The WSOLA API here can be used both to + * compress (speed-up) and stretch (expand, slow down) audio playback + * without altering the pitch, or as a mean for performing packet loss + * concealment (WSOLA). + * + * The WSOLA implementation is used by \ref PJMED_DELAYBUF and \ref PJMED_PLC. + */ + +PJ_BEGIN_DECL + + +/** + * Opaque declaration for WSOLA structure. + */ +typedef struct pjmedia_wsola pjmedia_wsola; + + +/** + * WSOLA options, can be combined with bitmask operation. + */ +enum pjmedia_wsola_option +{ + /** + * Disable Hanning window to conserve memory. + */ + PJMEDIA_WSOLA_NO_HANNING = 1, + + /** + * Specify that the WSOLA will not be used for PLC. + */ + PJMEDIA_WSOLA_NO_PLC = 2, + + /** + * Specify that the WSOLA will not be used to discard frames in + * non-contiguous buffer. + */ + PJMEDIA_WSOLA_NO_DISCARD = 4, + + /** + * Disable fade-in and fade-out feature in the transition between + * actual and synthetic frames in WSOLA. With fade feature enabled, + * WSOLA will only generate a limited number of synthetic frames + * (configurable with #pjmedia_wsola_set_max_expand()), fading out + * the volume on every more samples it generates, and when it reaches + * the limit it will only generate silence. + */ + PJMEDIA_WSOLA_NO_FADING = 8 +}; + + + +/** + * Create and initialize WSOLA. + * + * @param pool Pool to allocate memory for WSOLA. + * @param clock_rate Sampling rate of audio playback. + * @param samples_per_frame Number of samples per frame. + * @param channel_count Number of channels. + * @param options Option flags, bitmask combination of + * #pjmedia_wsola_option. + * @param p_wsola Pointer to receive WSOLA structure. + * + * @return PJ_SUCCESS or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjmedia_wsola_create(pj_pool_t *pool, + unsigned clock_rate, + unsigned samples_per_frame, + unsigned channel_count, + unsigned options, + pjmedia_wsola **p_wsola); + + +/** + * Specify maximum number of continuous synthetic frames that can be + * generated by WSOLA, in milliseconds. This option will only take + * effect if fading is not disabled via the option when the WSOLA + * session was created. Default value is PJMEDIA_WSOLA_MAX_EXPAND_MSEC + * (see also the documentation of PJMEDIA_WSOLA_MAX_EXPAND_MSEC for + * more information). + * + * @param wsola The WSOLA session + * @param msec The duration. + * + * @return PJ_SUCCESS normally. + */ +PJ_DECL(pj_status_t) pjmedia_wsola_set_max_expand(pjmedia_wsola *wsola, + unsigned msec); + + +/** + * Destroy WSOLA. + * + * @param wsola WSOLA session. + * + * @return PJ_SUCCESS normally. + */ +PJ_DECL(pj_status_t) pjmedia_wsola_destroy(pjmedia_wsola *wsola); + + +/** + * Reset the buffer contents of WSOLA. + * + * @param wsola WSOLA session. + * @param options Reset options, must be zero for now. + * + * @return PJ_SUCCESS normally. + */ +PJ_DECL(pj_status_t) pjmedia_wsola_reset(pjmedia_wsola *wsola, + unsigned options); + + +/** + * Give one good frame to WSOLA to be kept as reference. Application + * must continuously give WSOLA good frames to keep its session up to + * date with current playback. Depending on the WSOLA implementation, + * this function may modify the content of the frame. + * + * @param wsola WSOLA session. + * @param frm The frame, which length must match the samples per + * frame setting of the WSOLA session. + * @param prev_lost If application previously generated a synthetic + * frame with #pjmedia_wsola_generate() before calling + * this function, specify whether that was because of + * packet lost. If so, set this parameter to PJ_TRUE + * to make WSOLA interpolate this frame with its buffer. + * Otherwise if this value is PJ_FALSE, WSOLA will + * just append this frame to the end of its buffer. + * + * @return PJ_SUCCESS normally. + */ +PJ_DECL(pj_status_t) pjmedia_wsola_save(pjmedia_wsola *wsola, + pj_int16_t frm[], + pj_bool_t prev_lost); + +/** + * Generate one synthetic frame from WSOLA. + * + * @param wsola WSOLA session. + * @param frm Buffer to receive the frame. + * + * @return PJ_SUCCESS normally. + */ +PJ_DECL(pj_status_t) pjmedia_wsola_generate(pjmedia_wsola *wsola, + pj_int16_t frm[]); + + +/** + * Compress or compact the specified buffer by removing some audio samples + * from the buffer, without altering the pitch. For this function to work, + * total length of the buffer must be more than twice \a erase_cnt. + * + * @param wsola WSOLA session. + * @param buf1 Pointer to buffer. + * @param buf1_cnt Number of samples in the buffer. + * @param buf2 Pointer to second buffer, if the buffer is not + * contiguous. Otherwise this parameter must be NULL. + * @param buf2_cnt Number of samples in the second buffer, if the buffer + * is not contiguous. Otherwise this parameter should be + * zero. + * @param erase_cnt On input, specify the number of samples to be erased. + * This function may erase more or less than the requested + * number, and the actual number of samples erased will be + * given on this argument upon returning from the function. + * + * @return PJ_SUCCESS if some samples have been erased, PJ_ETOOSMALL + * if buffer is too small to be reduced, PJ_EINVAL if any + * of the parameters are not valid. + */ +PJ_DECL(pj_status_t) pjmedia_wsola_discard(pjmedia_wsola *wsola, + pj_int16_t buf1[], + unsigned buf1_cnt, + pj_int16_t buf2[], + unsigned buf2_cnt, + unsigned *erase_cnt); + + +PJ_END_DECL + +/** + * @} + */ + +#endif /* __PJMEDIA_WSOLA_H__ */ + diff --git a/pjmedia/include/pjmedia_audiodev.h b/pjmedia/include/pjmedia_audiodev.h new file mode 100644 index 0000000..867a1b7 --- /dev/null +++ b/pjmedia/include/pjmedia_audiodev.h @@ -0,0 +1,33 @@ +/* $Id: pjmedia_audiodev.h 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_AUDIODEV_H__ +#define __PJMEDIA_AUDIODEV_H__ + +/** + * @file pjmedia_audiodev.h + * @brief PJMEDIA main header file. + */ + +#include +#include +#include + +#endif /* __PJMEDIA_AUDIODEV_H__ */ + diff --git a/pjmedia/include/pjmedia_videodev.h b/pjmedia/include/pjmedia_videodev.h new file mode 100644 index 0000000..c3c9bb0 --- /dev/null +++ b/pjmedia/include/pjmedia_videodev.h @@ -0,0 +1,31 @@ +/* $Id: pjmedia_videodev.h 4016 2012-04-04 05:05:50Z bennylp $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef __PJMEDIA_VIDEODEV_H__ +#define __PJMEDIA_VIDEODEV_H__ + +/** + * @file pjmedia_videodev.h + * @brief PJMEDIA main header file. + */ + +#include +#include +#include + +#endif /* __PJMEDIA_VIDEODEV_H__ */ diff --git a/pjmedia/src/pjmedia-audiodev/alsa_dev.c b/pjmedia/src/pjmedia-audiodev/alsa_dev.c new file mode 100644 index 0000000..b7a57db --- /dev/null +++ b/pjmedia/src/pjmedia-audiodev/alsa_dev.c @@ -0,0 +1,997 @@ +/* $Id: alsa_dev.c 4818 2014-04-16 07:15:50Z bennylp $ */ +/* + * Copyright (C) 2009-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2007-2009 Keystream AB and Konftel AB, All rights reserved. + * Author: + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include + +#if defined(PJMEDIA_AUDIO_DEV_HAS_ALSA) && PJMEDIA_AUDIO_DEV_HAS_ALSA + +#include +#include +#include +#include +#include +#include +#include +#include + + +#define THIS_FILE "alsa_dev.c" +#define ALSA_DEVICE_NAME "plughw:%d,%d" +#define ALSASOUND_PLAYBACK 1 +#define ALSASOUND_CAPTURE 2 +#define MAX_SOUND_CARDS 5 +#define MAX_SOUND_DEVICES_PER_CARD 5 +#define MAX_DEVICES 32 + +/* Set to 1 to enable tracing */ +#if 0 +# define TRACE_(expr) PJ_LOG(5,expr) +#else +# define TRACE_(expr) +#endif + +/* + * Factory prototypes + */ +static pj_status_t alsa_factory_init(pjmedia_aud_dev_factory *f); +static pj_status_t alsa_factory_destroy(pjmedia_aud_dev_factory *f); +static pj_status_t alsa_factory_refresh(pjmedia_aud_dev_factory *f); +static unsigned alsa_factory_get_dev_count(pjmedia_aud_dev_factory *f); +static pj_status_t alsa_factory_get_dev_info(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_dev_info *info); +static pj_status_t alsa_factory_default_param(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_param *param); +static pj_status_t alsa_factory_create_stream(pjmedia_aud_dev_factory *f, + const pjmedia_aud_param *param, + pjmedia_aud_rec_cb rec_cb, + pjmedia_aud_play_cb play_cb, + void *user_data, + pjmedia_aud_stream **p_strm); + +/* + * Stream prototypes + */ +static pj_status_t alsa_stream_get_param(pjmedia_aud_stream *strm, + pjmedia_aud_param *param); +static pj_status_t alsa_stream_get_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + void *value); +static pj_status_t alsa_stream_set_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + const void *value); +static pj_status_t alsa_stream_start(pjmedia_aud_stream *strm); +static pj_status_t alsa_stream_stop(pjmedia_aud_stream *strm); +static pj_status_t alsa_stream_destroy(pjmedia_aud_stream *strm); + + +struct alsa_factory +{ + pjmedia_aud_dev_factory base; + pj_pool_factory *pf; + pj_pool_t *pool; + pj_pool_t *base_pool; + + unsigned dev_cnt; + pjmedia_aud_dev_info devs[MAX_DEVICES]; +}; + +struct alsa_stream +{ + pjmedia_aud_stream base; + + /* Common */ + pj_pool_t *pool; + struct alsa_factory *af; + void *user_data; + pjmedia_aud_param param; /* Running parameter */ + int rec_id; /* Capture device id */ + int quit; + + /* Playback */ + snd_pcm_t *pb_pcm; + snd_pcm_uframes_t pb_frames; /* samples_per_frame */ + pjmedia_aud_play_cb pb_cb; + unsigned pb_buf_size; + char *pb_buf; + pj_thread_t *pb_thread; + + /* Capture */ + snd_pcm_t *ca_pcm; + snd_pcm_uframes_t ca_frames; /* samples_per_frame */ + pjmedia_aud_rec_cb ca_cb; + unsigned ca_buf_size; + char *ca_buf; + pj_thread_t *ca_thread; +}; + +static pjmedia_aud_dev_factory_op alsa_factory_op = +{ + &alsa_factory_init, + &alsa_factory_destroy, + &alsa_factory_get_dev_count, + &alsa_factory_get_dev_info, + &alsa_factory_default_param, + &alsa_factory_create_stream, + &alsa_factory_refresh +}; + +static pjmedia_aud_stream_op alsa_stream_op = +{ + &alsa_stream_get_param, + &alsa_stream_get_cap, + &alsa_stream_set_cap, + &alsa_stream_start, + &alsa_stream_stop, + &alsa_stream_destroy +}; + +static void null_alsa_error_handler (const char *file, + int line, + const char *function, + int err, + const char *fmt, + ...) +{ + PJ_UNUSED_ARG(file); + PJ_UNUSED_ARG(line); + PJ_UNUSED_ARG(function); + PJ_UNUSED_ARG(err); + PJ_UNUSED_ARG(fmt); +} + +static void alsa_error_handler (const char *file, + int line, + const char *function, + int err, + const char *fmt, + ...) +{ + char err_msg[128]; + int index, len; + va_list arg; + +#ifndef NDEBUG + index = snprintf (err_msg, sizeof(err_msg), "ALSA lib %s:%i:(%s) ", + file, line, function); +#else + index = snprintf (err_msg, sizeof(err_msg), "ALSA lib: "); +#endif + if (index < 1 || index >= (int)sizeof(err_msg)) { + index = sizeof(err_msg)-1; + err_msg[index] = '\0'; + goto print_msg; + } + + va_start (arg, fmt); + if (index < sizeof(err_msg)-1) { + len = vsnprintf( err_msg+index, sizeof(err_msg)-index, fmt, arg); + if (len < 1 || len >= (int)sizeof(err_msg)-index) + len = sizeof(err_msg)-index-1; + index += len; + err_msg[index] = '\0'; + } + va_end(arg); + if (err && index < sizeof(err_msg)-1) { + len = snprintf( err_msg+index, sizeof(err_msg)-index, ": %s", + snd_strerror(err)); + if (len < 1 || len >= (int)sizeof(err_msg)-index) + len = sizeof(err_msg)-index-1; + index += len; + err_msg[index] = '\0'; + } +print_msg: + PJ_LOG (4,(THIS_FILE, "%s", err_msg)); +} + + +static pj_status_t add_dev (struct alsa_factory *af, const char *dev_name) +{ + pjmedia_aud_dev_info *adi; + snd_pcm_t* pcm; + int pb_result, ca_result; + + if (af->dev_cnt >= PJ_ARRAY_SIZE(af->devs)) + return PJ_ETOOMANY; + + adi = &af->devs[af->dev_cnt]; + + TRACE_((THIS_FILE, "add_dev (%s): Enter", dev_name)); + + /* Try to open the device in playback mode */ + pb_result = snd_pcm_open (&pcm, dev_name, SND_PCM_STREAM_PLAYBACK, 0); + if (pb_result >= 0) { + TRACE_((THIS_FILE, "Try to open the device for playback - success")); + snd_pcm_close (pcm); + } else { + TRACE_((THIS_FILE, "Try to open the device for playback - failure")); + } + + /* Try to open the device in capture mode */ + ca_result = snd_pcm_open (&pcm, dev_name, SND_PCM_STREAM_CAPTURE, 0); + if (ca_result >= 0) { + TRACE_((THIS_FILE, "Try to open the device for capture - success")); + snd_pcm_close (pcm); + } else { + TRACE_((THIS_FILE, "Try to open the device for capture - failure")); + } + + /* Check if the device could be opened in playback or capture mode */ + if (pb_result<0 && ca_result<0) { + TRACE_((THIS_FILE, "Unable to open sound device %s", dev_name)); + return PJMEDIA_EAUD_NODEV; + } + + /* Reset device info */ + pj_bzero(adi, sizeof(*adi)); + + /* Set device name */ + strncpy(adi->name, dev_name, sizeof(adi->name)); + + /* Check the number of playback channels */ + adi->output_count = (pb_result>=0) ? 1 : 0; + + /* Check the number of capture channels */ + adi->input_count = (ca_result>=0) ? 1 : 0; + + /* Set the default sample rate */ + adi->default_samples_per_sec = 8000; + + /* Driver name */ + strcpy(adi->driver, "ALSA"); + + ++af->dev_cnt; + + PJ_LOG (5,(THIS_FILE, "Added sound device %s", adi->name)); + + return PJ_SUCCESS; +} + + +/* Create ALSA audio driver. */ +pjmedia_aud_dev_factory* pjmedia_alsa_factory(pj_pool_factory *pf) +{ + struct alsa_factory *af; + pj_pool_t *pool; + + pool = pj_pool_create(pf, "alsa_aud_base", 256, 256, NULL); + af = PJ_POOL_ZALLOC_T(pool, struct alsa_factory); + af->pf = pf; + af->base_pool = pool; + af->base.op = &alsa_factory_op; + + return &af->base; +} + + +/* API: init factory */ +static pj_status_t alsa_factory_init(pjmedia_aud_dev_factory *f) +{ + pj_status_t status = alsa_factory_refresh(f); + if (PJ_SUCCESS != status) + return status; + + PJ_LOG(4,(THIS_FILE, "ALSA initialized")); + return PJ_SUCCESS; +} + + +/* API: destroy factory */ +static pj_status_t alsa_factory_destroy(pjmedia_aud_dev_factory *f) +{ + struct alsa_factory *af = (struct alsa_factory*)f; + + if (af->pool) + pj_pool_release(af->pool); + + if (af->base_pool) { + pj_pool_t *pool = af->base_pool; + af->base_pool = NULL; + pj_pool_release(pool); + } + + /* Restore handler */ + snd_lib_error_set_handler(NULL); + + return PJ_SUCCESS; +} + + +/* API: refresh the device list */ +static pj_status_t alsa_factory_refresh(pjmedia_aud_dev_factory *f) +{ + struct alsa_factory *af = (struct alsa_factory*)f; + char **hints, **n; + int err; + + TRACE_((THIS_FILE, "pjmedia_snd_init: Enumerate sound devices")); + + if (af->pool != NULL) { + pj_pool_release(af->pool); + af->pool = NULL; + } + + af->pool = pj_pool_create(af->pf, "alsa_aud", 256, 256, NULL); + af->dev_cnt = 0; + + /* Enumerate sound devices */ + err = snd_device_name_hint(-1, "pcm", (void***)&hints); + if (err != 0) + return PJMEDIA_EAUD_SYSERR; + + /* Set a null error handler prior to enumeration to suppress errors */ + snd_lib_error_set_handler(null_alsa_error_handler); + + n = hints; + while (*n != NULL) { + char *name = snd_device_name_get_hint(*n, "NAME"); + if (name != NULL && 0 != strcmp("null", name)) { + add_dev(af, name); + free(name); + } + n++; + } + + /* Install error handler after enumeration, otherwise we'll get many + * error messages about invalid card/device ID. + */ + snd_lib_error_set_handler(alsa_error_handler); + + err = snd_device_name_free_hint((void**)hints); + + PJ_LOG(4,(THIS_FILE, "ALSA driver found %d devices", af->dev_cnt)); + + return PJ_SUCCESS; +} + + +/* API: get device count */ +static unsigned alsa_factory_get_dev_count(pjmedia_aud_dev_factory *f) +{ + struct alsa_factory *af = (struct alsa_factory*)f; + return af->dev_cnt; +} + + +/* API: get device info */ +static pj_status_t alsa_factory_get_dev_info(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_dev_info *info) +{ + struct alsa_factory *af = (struct alsa_factory*)f; + + PJ_ASSERT_RETURN(index>=0 && indexdev_cnt, PJ_EINVAL); + + pj_memcpy(info, &af->devs[index], sizeof(*info)); + info->caps = PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY | + PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY; + return PJ_SUCCESS; +} + +/* API: create default parameter */ +static pj_status_t alsa_factory_default_param(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_param *param) +{ + struct alsa_factory *af = (struct alsa_factory*)f; + pjmedia_aud_dev_info *adi; + + PJ_ASSERT_RETURN(index>=0 && indexdev_cnt, PJ_EINVAL); + + adi = &af->devs[index]; + + pj_bzero(param, sizeof(*param)); + if (adi->input_count && adi->output_count) { + param->dir = PJMEDIA_DIR_CAPTURE_PLAYBACK; + param->rec_id = index; + param->play_id = index; + } else if (adi->input_count) { + param->dir = PJMEDIA_DIR_CAPTURE; + param->rec_id = index; + param->play_id = PJMEDIA_AUD_INVALID_DEV; + } else if (adi->output_count) { + param->dir = PJMEDIA_DIR_PLAYBACK; + param->play_id = index; + param->rec_id = PJMEDIA_AUD_INVALID_DEV; + } else { + return PJMEDIA_EAUD_INVDEV; + } + + param->clock_rate = adi->default_samples_per_sec; + param->channel_count = 1; + param->samples_per_frame = adi->default_samples_per_sec * 20 / 1000; + param->bits_per_sample = 16; + param->flags = adi->caps; + param->input_latency_ms = PJMEDIA_SND_DEFAULT_REC_LATENCY; + param->output_latency_ms = PJMEDIA_SND_DEFAULT_PLAY_LATENCY; + + return PJ_SUCCESS; +} + + +static int pb_thread_func (void *arg) +{ + struct alsa_stream* stream = (struct alsa_stream*) arg; + snd_pcm_t* pcm = stream->pb_pcm; + int size = stream->pb_buf_size; + snd_pcm_uframes_t nframes = stream->pb_frames; + void* user_data = stream->user_data; + char* buf = stream->pb_buf; + pj_timestamp tstamp; + int result; + + pj_bzero (buf, size); + tstamp.u64 = 0; + + TRACE_((THIS_FILE, "pb_thread_func(%u): Started", + (unsigned)syscall(SYS_gettid))); + + snd_pcm_prepare (pcm); + + while (!stream->quit) { + pjmedia_frame frame; + + frame.type = PJMEDIA_FRAME_TYPE_AUDIO; + frame.buf = buf; + frame.size = size; + frame.timestamp.u64 = tstamp.u64; + frame.bit_info = 0; + + result = stream->pb_cb (user_data, &frame); + if (result != PJ_SUCCESS || stream->quit) + break; + + if (frame.type != PJMEDIA_FRAME_TYPE_AUDIO) + pj_bzero (buf, size); + + result = snd_pcm_writei (pcm, buf, nframes); + if (result == -EPIPE) { + PJ_LOG (4,(THIS_FILE, "pb_thread_func: underrun!")); + snd_pcm_prepare (pcm); + } else if (result < 0) { + PJ_LOG (4,(THIS_FILE, "pb_thread_func: error writing data!")); + } + + tstamp.u64 += nframes; + } + + snd_pcm_drain (pcm); + TRACE_((THIS_FILE, "pb_thread_func: Stopped")); + return PJ_SUCCESS; +} + + + +static int ca_thread_func (void *arg) +{ + struct alsa_stream* stream = (struct alsa_stream*) arg; + snd_pcm_t* pcm = stream->ca_pcm; + int size = stream->ca_buf_size; + snd_pcm_uframes_t nframes = stream->ca_frames; + void* user_data = stream->user_data; + char* buf = stream->ca_buf; + pj_timestamp tstamp; + int result; + struct sched_param param; + pthread_t* thid; + + thid = (pthread_t*) pj_thread_get_os_handle (pj_thread_this()); + param.sched_priority = sched_get_priority_max (SCHED_RR); + PJ_LOG (5,(THIS_FILE, "ca_thread_func(%u): Set thread priority " + "for audio capture thread.", + (unsigned)syscall(SYS_gettid))); + result = pthread_setschedparam (*thid, SCHED_RR, ¶m); + if (result) { + if (result == EPERM) + PJ_LOG (5,(THIS_FILE, "Unable to increase thread priority, " + "root access needed.")); + else + PJ_LOG (5,(THIS_FILE, "Unable to increase thread priority, " + "error: %d", + result)); + } + + pj_bzero (buf, size); + tstamp.u64 = 0; + + TRACE_((THIS_FILE, "ca_thread_func(%u): Started", + (unsigned)syscall(SYS_gettid))); + + snd_pcm_prepare (pcm); + + while (!stream->quit) { + pjmedia_frame frame; + + pj_bzero (buf, size); + result = snd_pcm_readi (pcm, buf, nframes); + if (result == -EPIPE) { + PJ_LOG (4,(THIS_FILE, "ca_thread_func: overrun!")); + snd_pcm_prepare (pcm); + continue; + } else if (result < 0) { + PJ_LOG (4,(THIS_FILE, "ca_thread_func: error reading data!")); + } + if (stream->quit) + break; + + frame.type = PJMEDIA_FRAME_TYPE_AUDIO; + frame.buf = (void*) buf; + frame.size = size; + frame.timestamp.u64 = tstamp.u64; + frame.bit_info = 0; + + result = stream->ca_cb (user_data, &frame); + if (result != PJ_SUCCESS || stream->quit) + break; + + tstamp.u64 += nframes; + } + snd_pcm_drain (pcm); + TRACE_((THIS_FILE, "ca_thread_func: Stopped")); + + return PJ_SUCCESS; +} + + +static pj_status_t open_playback (struct alsa_stream* stream, + const pjmedia_aud_param *param) +{ + snd_pcm_hw_params_t* params; + snd_pcm_format_t format; + int result; + unsigned int rate; + snd_pcm_uframes_t tmp_buf_size; + snd_pcm_uframes_t tmp_period_size; + + if (param->play_id < 0 || param->play_id >= stream->af->dev_cnt) + return PJMEDIA_EAUD_INVDEV; + + /* Open PCM for playback */ + PJ_LOG (5,(THIS_FILE, "open_playback: Open playback device '%s'", + stream->af->devs[param->play_id].name)); + result = snd_pcm_open (&stream->pb_pcm, + stream->af->devs[param->play_id].name, + SND_PCM_STREAM_PLAYBACK, + 0); + if (result < 0) + return PJMEDIA_EAUD_SYSERR; + + /* Allocate a hardware parameters object. */ + snd_pcm_hw_params_alloca (¶ms); + + /* Fill it in with default values. */ + snd_pcm_hw_params_any (stream->pb_pcm, params); + + /* Set interleaved mode */ + snd_pcm_hw_params_set_access (stream->pb_pcm, params, + SND_PCM_ACCESS_RW_INTERLEAVED); + + /* Set format */ + switch (param->bits_per_sample) { + case 8: + TRACE_((THIS_FILE, "open_playback: set format SND_PCM_FORMAT_S8")); + format = SND_PCM_FORMAT_S8; + break; + case 16: + TRACE_((THIS_FILE, "open_playback: set format SND_PCM_FORMAT_S16_LE")); + format = SND_PCM_FORMAT_S16_LE; + break; + case 24: + TRACE_((THIS_FILE, "open_playback: set format SND_PCM_FORMAT_S24_LE")); + format = SND_PCM_FORMAT_S24_LE; + break; + case 32: + TRACE_((THIS_FILE, "open_playback: set format SND_PCM_FORMAT_S32_LE")); + format = SND_PCM_FORMAT_S32_LE; + break; + default: + TRACE_((THIS_FILE, "open_playback: set format SND_PCM_FORMAT_S16_LE")); + format = SND_PCM_FORMAT_S16_LE; + break; + } + snd_pcm_hw_params_set_format (stream->pb_pcm, params, format); + + /* Set number of channels */ + TRACE_((THIS_FILE, "open_playback: set channels: %d", + param->channel_count)); + snd_pcm_hw_params_set_channels (stream->pb_pcm, params, + param->channel_count); + + /* Set clock rate */ + rate = param->clock_rate; + TRACE_((THIS_FILE, "open_playback: set clock rate: %d", rate)); + snd_pcm_hw_params_set_rate_near (stream->pb_pcm, params, &rate, NULL); + TRACE_((THIS_FILE, "open_playback: clock rate set to: %d", rate)); + + /* Set period size to samples_per_frame frames. */ + stream->pb_frames = (snd_pcm_uframes_t) param->samples_per_frame / + param->channel_count; + TRACE_((THIS_FILE, "open_playback: set period size: %d", + stream->pb_frames)); + tmp_period_size = stream->pb_frames; + snd_pcm_hw_params_set_period_size_near (stream->pb_pcm, params, + &tmp_period_size, NULL); + TRACE_((THIS_FILE, "open_playback: period size set to: %d", + tmp_period_size)); + + /* Set the sound device buffer size and latency */ + if (param->flags & PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY) + tmp_buf_size = (rate / 1000) * param->output_latency_ms; + else + tmp_buf_size = (rate / 1000) * PJMEDIA_SND_DEFAULT_PLAY_LATENCY; + snd_pcm_hw_params_set_buffer_size_near (stream->pb_pcm, params, + &tmp_buf_size); + stream->param.output_latency_ms = tmp_buf_size / (rate / 1000); + + /* Set our buffer */ + stream->pb_buf_size = stream->pb_frames * param->channel_count * + (param->bits_per_sample/8); + stream->pb_buf = (char*) pj_pool_alloc(stream->pool, stream->pb_buf_size); + + TRACE_((THIS_FILE, "open_playback: buffer size set to: %d", + (int)tmp_buf_size)); + TRACE_((THIS_FILE, "open_playback: playback_latency set to: %d ms", + (int)stream->param.output_latency_ms)); + + /* Activate the parameters */ + result = snd_pcm_hw_params (stream->pb_pcm, params); + if (result < 0) { + snd_pcm_close (stream->pb_pcm); + return PJMEDIA_EAUD_SYSERR; + } + + PJ_LOG (5,(THIS_FILE, "Opened device alsa(%s) for playing, sample rate=%d" + ", ch=%d, bits=%d, period size=%d frames, latency=%d ms", + stream->af->devs[param->play_id].name, + rate, param->channel_count, + param->bits_per_sample, stream->pb_frames, + (int)stream->param.output_latency_ms)); + + return PJ_SUCCESS; +} + + +static pj_status_t open_capture (struct alsa_stream* stream, + const pjmedia_aud_param *param) +{ + snd_pcm_hw_params_t* params; + snd_pcm_format_t format; + int result; + unsigned int rate; + snd_pcm_uframes_t tmp_buf_size; + snd_pcm_uframes_t tmp_period_size; + + if (param->rec_id < 0 || param->rec_id >= stream->af->dev_cnt) + return PJMEDIA_EAUD_INVDEV; + + /* Open PCM for capture */ + PJ_LOG (5,(THIS_FILE, "open_capture: Open capture device '%s'", + stream->af->devs[param->rec_id].name)); + result = snd_pcm_open (&stream->ca_pcm, + stream->af->devs[param->rec_id].name, + SND_PCM_STREAM_CAPTURE, + 0); + if (result < 0) + return PJMEDIA_EAUD_SYSERR; + + /* Allocate a hardware parameters object. */ + snd_pcm_hw_params_alloca (¶ms); + + /* Fill it in with default values. */ + snd_pcm_hw_params_any (stream->ca_pcm, params); + + /* Set interleaved mode */ + snd_pcm_hw_params_set_access (stream->ca_pcm, params, + SND_PCM_ACCESS_RW_INTERLEAVED); + + /* Set format */ + switch (param->bits_per_sample) { + case 8: + TRACE_((THIS_FILE, "open_capture: set format SND_PCM_FORMAT_S8")); + format = SND_PCM_FORMAT_S8; + break; + case 16: + TRACE_((THIS_FILE, "open_capture: set format SND_PCM_FORMAT_S16_LE")); + format = SND_PCM_FORMAT_S16_LE; + break; + case 24: + TRACE_((THIS_FILE, "open_capture: set format SND_PCM_FORMAT_S24_LE")); + format = SND_PCM_FORMAT_S24_LE; + break; + case 32: + TRACE_((THIS_FILE, "open_capture: set format SND_PCM_FORMAT_S32_LE")); + format = SND_PCM_FORMAT_S32_LE; + break; + default: + TRACE_((THIS_FILE, "open_capture: set format SND_PCM_FORMAT_S16_LE")); + format = SND_PCM_FORMAT_S16_LE; + break; + } + snd_pcm_hw_params_set_format (stream->ca_pcm, params, format); + + /* Set number of channels */ + TRACE_((THIS_FILE, "open_capture: set channels: %d", + param->channel_count)); + snd_pcm_hw_params_set_channels (stream->ca_pcm, params, + param->channel_count); + + /* Set clock rate */ + rate = param->clock_rate; + TRACE_((THIS_FILE, "open_capture: set clock rate: %d", rate)); + snd_pcm_hw_params_set_rate_near (stream->ca_pcm, params, &rate, NULL); + TRACE_((THIS_FILE, "open_capture: clock rate set to: %d", rate)); + + /* Set period size to samples_per_frame frames. */ + stream->ca_frames = (snd_pcm_uframes_t) param->samples_per_frame / + param->channel_count; + TRACE_((THIS_FILE, "open_capture: set period size: %d", + stream->ca_frames)); + tmp_period_size = stream->ca_frames; + snd_pcm_hw_params_set_period_size_near (stream->ca_pcm, params, + &tmp_period_size, NULL); + TRACE_((THIS_FILE, "open_capture: period size set to: %d", + tmp_period_size)); + + /* Set the sound device buffer size and latency */ + if (param->flags & PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY) + tmp_buf_size = (rate / 1000) * param->input_latency_ms; + else + tmp_buf_size = (rate / 1000) * PJMEDIA_SND_DEFAULT_REC_LATENCY; + snd_pcm_hw_params_set_buffer_size_near (stream->ca_pcm, params, + &tmp_buf_size); + stream->param.input_latency_ms = tmp_buf_size / (rate / 1000); + + /* Set our buffer */ + stream->ca_buf_size = stream->ca_frames * param->channel_count * + (param->bits_per_sample/8); + stream->ca_buf = (char*) pj_pool_alloc (stream->pool, stream->ca_buf_size); + + TRACE_((THIS_FILE, "open_capture: buffer size set to: %d", + (int)tmp_buf_size)); + TRACE_((THIS_FILE, "open_capture: capture_latency set to: %d ms", + (int)stream->param.input_latency_ms)); + + /* Activate the parameters */ + result = snd_pcm_hw_params (stream->ca_pcm, params); + if (result < 0) { + snd_pcm_close (stream->ca_pcm); + return PJMEDIA_EAUD_SYSERR; + } + + PJ_LOG (5,(THIS_FILE, "Opened device alsa(%s) for capture, sample rate=%d" + ", ch=%d, bits=%d, period size=%d frames, latency=%d ms", + stream->af->devs[param->rec_id].name, + rate, param->channel_count, + param->bits_per_sample, stream->ca_frames, + (int)stream->param.input_latency_ms)); + + return PJ_SUCCESS; +} + + +/* API: create stream */ +static pj_status_t alsa_factory_create_stream(pjmedia_aud_dev_factory *f, + const pjmedia_aud_param *param, + pjmedia_aud_rec_cb rec_cb, + pjmedia_aud_play_cb play_cb, + void *user_data, + pjmedia_aud_stream **p_strm) +{ + struct alsa_factory *af = (struct alsa_factory*)f; + pj_status_t status; + pj_pool_t* pool; + struct alsa_stream* stream; + + pool = pj_pool_create (af->pf, "alsa%p", 1024, 1024, NULL); + if (!pool) + return PJ_ENOMEM; + + /* Allocate and initialize comon stream data */ + stream = PJ_POOL_ZALLOC_T (pool, struct alsa_stream); + stream->base.op = &alsa_stream_op; + stream->pool = pool; + stream->af = af; + stream->user_data = user_data; + stream->pb_cb = play_cb; + stream->ca_cb = rec_cb; + stream->quit = 0; + pj_memcpy(&stream->param, param, sizeof(*param)); + + /* Init playback */ + if (param->dir & PJMEDIA_DIR_PLAYBACK) { + status = open_playback (stream, param); + if (status != PJ_SUCCESS) { + pj_pool_release (pool); + return status; + } + } + + /* Init capture */ + if (param->dir & PJMEDIA_DIR_CAPTURE) { + status = open_capture (stream, param); + if (status != PJ_SUCCESS) { + if (param->dir & PJMEDIA_DIR_PLAYBACK) + snd_pcm_close (stream->pb_pcm); + pj_pool_release (pool); + return status; + } + } + + *p_strm = &stream->base; + return PJ_SUCCESS; +} + + +/* API: get running parameter */ +static pj_status_t alsa_stream_get_param(pjmedia_aud_stream *s, + pjmedia_aud_param *pi) +{ + struct alsa_stream *stream = (struct alsa_stream*)s; + + PJ_ASSERT_RETURN(s && pi, PJ_EINVAL); + + pj_memcpy(pi, &stream->param, sizeof(*pi)); + + return PJ_SUCCESS; +} + + +/* API: get capability */ +static pj_status_t alsa_stream_get_cap(pjmedia_aud_stream *s, + pjmedia_aud_dev_cap cap, + void *pval) +{ + struct alsa_stream *stream = (struct alsa_stream*)s; + + PJ_ASSERT_RETURN(s && pval, PJ_EINVAL); + + if (cap==PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY && + (stream->param.dir & PJMEDIA_DIR_CAPTURE)) + { + /* Recording latency */ + *(unsigned*)pval = stream->param.input_latency_ms; + return PJ_SUCCESS; + } else if (cap==PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY && + (stream->param.dir & PJMEDIA_DIR_PLAYBACK)) + { + /* Playback latency */ + *(unsigned*)pval = stream->param.output_latency_ms; + return PJ_SUCCESS; + } else { + return PJMEDIA_EAUD_INVCAP; + } +} + + +/* API: set capability */ +static pj_status_t alsa_stream_set_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + const void *value) +{ + PJ_UNUSED_ARG(strm); + PJ_UNUSED_ARG(cap); + PJ_UNUSED_ARG(value); + + return PJMEDIA_EAUD_INVCAP; +} + + +/* API: start stream */ +static pj_status_t alsa_stream_start (pjmedia_aud_stream *s) +{ + struct alsa_stream *stream = (struct alsa_stream*)s; + pj_status_t status = PJ_SUCCESS; + + stream->quit = 0; + if (stream->param.dir & PJMEDIA_DIR_PLAYBACK) { + status = pj_thread_create (stream->pool, + "alsasound_playback", + pb_thread_func, + stream, + 0, //ZERO, + 0, + &stream->pb_thread); + if (status != PJ_SUCCESS) + return status; + } + + if (stream->param.dir & PJMEDIA_DIR_CAPTURE) { + status = pj_thread_create (stream->pool, + "alsasound_playback", + ca_thread_func, + stream, + 0, //ZERO, + 0, + &stream->ca_thread); + if (status != PJ_SUCCESS) { + stream->quit = PJ_TRUE; + pj_thread_join(stream->pb_thread); + pj_thread_destroy(stream->pb_thread); + stream->pb_thread = NULL; + } + } + + return status; +} + + +/* API: stop stream */ +static pj_status_t alsa_stream_stop (pjmedia_aud_stream *s) +{ + struct alsa_stream *stream = (struct alsa_stream*)s; + + stream->quit = 1; + + if (stream->pb_thread) { + TRACE_((THIS_FILE, + "alsa_stream_stop(%u): Waiting for playback to stop.", + (unsigned)syscall(SYS_gettid))); + pj_thread_join (stream->pb_thread); + TRACE_((THIS_FILE, + "alsa_stream_stop(%u): playback stopped.", + (unsigned)syscall(SYS_gettid))); + pj_thread_destroy(stream->pb_thread); + stream->pb_thread = NULL; + } + + if (stream->ca_thread) { + TRACE_((THIS_FILE, + "alsa_stream_stop(%u): Waiting for capture to stop.", + (unsigned)syscall(SYS_gettid))); + pj_thread_join (stream->ca_thread); + TRACE_((THIS_FILE, + "alsa_stream_stop(%u): capture stopped.", + (unsigned)syscall(SYS_gettid))); + pj_thread_destroy(stream->ca_thread); + stream->ca_thread = NULL; + } + + return PJ_SUCCESS; +} + + + +static pj_status_t alsa_stream_destroy (pjmedia_aud_stream *s) +{ + struct alsa_stream *stream = (struct alsa_stream*)s; + + alsa_stream_stop (s); + + if (stream->param.dir & PJMEDIA_DIR_PLAYBACK) { + snd_pcm_close (stream->pb_pcm); + stream->pb_pcm = NULL; + } + if (stream->param.dir & PJMEDIA_DIR_CAPTURE) { + snd_pcm_close (stream->ca_pcm); + stream->ca_pcm = NULL; + } + + pj_pool_release (stream->pool); + + return PJ_SUCCESS; +} + +#endif /* PJMEDIA_AUDIO_DEV_HAS_ALSA */ diff --git a/pjmedia/src/pjmedia-audiodev/android_jni_dev.c b/pjmedia/src/pjmedia-audiodev/android_jni_dev.c new file mode 100644 index 0000000..279bb3c --- /dev/null +++ b/pjmedia/src/pjmedia-audiodev/android_jni_dev.c @@ -0,0 +1,1038 @@ +/* $Id: android_jni_dev.c 5157 2015-08-10 09:11:39Z nanang $ */ +/* + * Copyright (C) 2012-2012 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2010-2012 Regis Montoya (aka r3gis - www.r3gis.fr) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +/* This file is the implementation of Android JNI audio device. + * The original code was originally part of CSipSimple + * (http://code.google.com/p/csipsimple/) and was kindly donated + * by Regis Montoya. + */ + +#include +#include +#include +#include +#include +#include + +#if defined(PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI) && \ + PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI != 0 + +#include +#include +#include + +#define THIS_FILE "android_jni_dev.c" +#define DRIVER_NAME "Android JNI" + +struct android_aud_factory +{ + pjmedia_aud_dev_factory base; + pj_pool_factory *pf; + pj_pool_t *pool; +}; + +/* + * Sound stream descriptor. + * This struct may be used for both unidirectional or bidirectional sound + * streams. + */ +struct android_aud_stream +{ + pjmedia_aud_stream base; + pj_pool_t *pool; + pj_str_t name; + pjmedia_dir dir; + pjmedia_aud_param param; + + int bytes_per_sample; + pj_uint32_t samples_per_sec; + unsigned samples_per_frame; + int channel_count; + void *user_data; + pj_bool_t quit_flag; + pj_bool_t running; + + /* Record */ + jobject record; + jclass record_class; + unsigned rec_buf_size; + pjmedia_aud_rec_cb rec_cb; + pj_bool_t rec_thread_exited; + pj_thread_t *rec_thread; + pj_sem_t *rec_sem; + pj_timestamp rec_timestamp; + + /* Track */ + jobject track; + jclass track_class; + unsigned play_buf_size; + pjmedia_aud_play_cb play_cb; + pj_bool_t play_thread_exited; + pj_thread_t *play_thread; + pj_sem_t *play_sem; + pj_timestamp play_timestamp; +}; + +/* Factory prototypes */ +static pj_status_t android_init(pjmedia_aud_dev_factory *f); +static pj_status_t android_destroy(pjmedia_aud_dev_factory *f); +static pj_status_t android_refresh(pjmedia_aud_dev_factory *f); +static unsigned android_get_dev_count(pjmedia_aud_dev_factory *f); +static pj_status_t android_get_dev_info(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_dev_info *info); +static pj_status_t android_default_param(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_param *param); +static pj_status_t android_create_stream(pjmedia_aud_dev_factory *f, + const pjmedia_aud_param *param, + pjmedia_aud_rec_cb rec_cb, + pjmedia_aud_play_cb play_cb, + void *user_data, + pjmedia_aud_stream **p_aud_strm); + +/* Stream prototypes */ +static pj_status_t strm_get_param(pjmedia_aud_stream *strm, + pjmedia_aud_param *param); +static pj_status_t strm_get_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + void *value); +static pj_status_t strm_set_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + const void *value); +static pj_status_t strm_start(pjmedia_aud_stream *strm); +static pj_status_t strm_stop(pjmedia_aud_stream *strm); +static pj_status_t strm_destroy(pjmedia_aud_stream *strm); + +static pjmedia_aud_dev_factory_op android_op = +{ + &android_init, + &android_destroy, + &android_get_dev_count, + &android_get_dev_info, + &android_default_param, + &android_create_stream, + &android_refresh +}; + +static pjmedia_aud_stream_op android_strm_op = +{ + &strm_get_param, + &strm_get_cap, + &strm_set_cap, + &strm_start, + &strm_stop, + &strm_destroy +}; + +extern JavaVM *pj_jni_jvm; + +static pj_bool_t attach_jvm(JNIEnv **jni_env) +{ + if ((*pj_jni_jvm)->GetEnv(pj_jni_jvm, (void **)jni_env, + JNI_VERSION_1_4) < 0) + { + if ((*pj_jni_jvm)->AttachCurrentThread(pj_jni_jvm, jni_env, NULL) < 0) + { + jni_env = NULL; + return PJ_FALSE; + } + return PJ_TRUE; + } + + return PJ_FALSE; +} + +#define detach_jvm(attached) \ + if (attached) \ + (*pj_jni_jvm)->DetachCurrentThread(pj_jni_jvm); + +/* Thread priority utils */ +/* TODO : port it to pj_thread functions */ +#define THREAD_PRIORITY_AUDIO -16 +#define THREAD_PRIORITY_URGENT_AUDIO -19 + +pj_status_t set_android_thread_priority(int priority) +{ + jclass process_class; + jmethodID set_prio_method; + jthrowable exc; + pj_status_t result = PJ_SUCCESS; + JNIEnv *jni_env = 0; + pj_bool_t attached = attach_jvm(&jni_env); + + PJ_ASSERT_RETURN(jni_env, PJ_FALSE); + + /* Get pointer to the java class */ + process_class = (jclass)(*jni_env)->NewGlobalRef(jni_env, + (*jni_env)->FindClass(jni_env, "android/os/Process")); + if (process_class == 0) { + PJ_LOG(4, (THIS_FILE, "Unable to find os process class")); + result = PJ_EIGNORED; + goto on_return; + } + + /* Get the id of set thread priority function */ + set_prio_method = (*jni_env)->GetStaticMethodID(jni_env, process_class, + "setThreadPriority", + "(I)V"); + if (set_prio_method == 0) { + PJ_LOG(4, (THIS_FILE, "Unable to find setThreadPriority() method")); + result = PJ_EIGNORED; + goto on_return; + } + + /* Set the thread priority */ + (*jni_env)->CallStaticVoidMethod(jni_env, process_class, set_prio_method, + priority); + exc = (*jni_env)->ExceptionOccurred(jni_env); + if (exc) { + (*jni_env)->ExceptionDescribe(jni_env); + (*jni_env)->ExceptionClear(jni_env); + PJ_LOG(4, (THIS_FILE, "Failure in setting thread priority using " + "Java API, fallback to setpriority()")); + setpriority(PRIO_PROCESS, 0, priority); + } else { + PJ_LOG(4, (THIS_FILE, "Setting thread priority successful")); + } + +on_return: + detach_jvm(attached); + return result; +} + + +static int AndroidRecorderCallback(void *userData) +{ + struct android_aud_stream *stream = (struct android_aud_stream *)userData; + jmethodID read_method=0, record_method=0, stop_method=0; + int size = stream->rec_buf_size; + jbyteArray inputBuffer; + jbyte *buf; + JNIEnv *jni_env = 0; + pj_bool_t attached = attach_jvm(&jni_env); + + PJ_ASSERT_RETURN(jni_env, 0); + + if (!stream->record) { + goto on_return; + } + + PJ_LOG(5, (THIS_FILE, "Recorder thread started")); + + /* Get methods ids */ + read_method = (*jni_env)->GetMethodID(jni_env, stream->record_class, + "read", "([BII)I"); + record_method = (*jni_env)->GetMethodID(jni_env, stream->record_class, + "startRecording", "()V"); + stop_method = (*jni_env)->GetMethodID(jni_env, stream->record_class, + "stop", "()V"); + if (read_method==0 || record_method==0 || stop_method==0) { + PJ_LOG(3, (THIS_FILE, "Unable to get recording methods")); + goto on_return; + } + + /* Create a buffer for frames read */ + inputBuffer = (*jni_env)->NewByteArray(jni_env, size); + if (inputBuffer == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to allocate input buffer")); + goto on_return; + } + + /* Start recording + * setpriority(PRIO_PROCESS, 0, -19); //ANDROID_PRIORITY_AUDIO + * set priority is probably not enough because it does not change the thread + * group in scheduler + * Temporary solution is to call the java api to set the thread priority. + * A cool solution would be to port (if possible) the code from the + * android os regarding set_sched groups + */ + set_android_thread_priority(THREAD_PRIORITY_URGENT_AUDIO); + (*jni_env)->CallVoidMethod(jni_env, stream->record, record_method); + + while (!stream->quit_flag) { + pjmedia_frame frame; + pj_status_t status; + int bytesRead; + + if (!stream->running) { + (*jni_env)->CallVoidMethod(jni_env, stream->record, stop_method); + pj_sem_wait(stream->rec_sem); + if (stream->quit_flag) + break; + (*jni_env)->CallVoidMethod(jni_env, stream->record, record_method); + } + + bytesRead = (*jni_env)->CallIntMethod(jni_env, stream->record, + read_method, inputBuffer, + 0, size); + if (bytesRead <= 0 || bytesRead != size) { + PJ_LOG (4, (THIS_FILE, "Record thread : error %d reading data", + bytesRead)); + continue; + } + + buf = (*jni_env)->GetByteArrayElements(jni_env, inputBuffer, 0); + frame.type = PJMEDIA_FRAME_TYPE_AUDIO; + frame.size = size; + frame.bit_info = 0; + frame.buf = (void *)buf; + frame.timestamp.u64 = stream->rec_timestamp.u64; + + status = (*stream->rec_cb)(stream->user_data, &frame); + (*jni_env)->ReleaseByteArrayElements(jni_env, inputBuffer, buf, + JNI_ABORT); + if (status != PJ_SUCCESS || stream->quit_flag) + break; + + stream->rec_timestamp.u64 += stream->param.samples_per_frame / + stream->param.channel_count; + } + + (*jni_env)->DeleteLocalRef(jni_env, inputBuffer); + +on_return: + detach_jvm(attached); + PJ_LOG(5, (THIS_FILE, "Recorder thread stopped")); + stream->rec_thread_exited = 1; + + return 0; +} + + +static int AndroidTrackCallback(void *userData) +{ + struct android_aud_stream *stream = (struct android_aud_stream*) userData; + jmethodID write_method=0, play_method=0, stop_method=0, flush_method=0; + int size = stream->play_buf_size; + jbyteArray outputBuffer; + jbyte *buf; + JNIEnv *jni_env = 0; + pj_bool_t attached = attach_jvm(&jni_env); + + if (!stream->track) { + goto on_return; + } + + PJ_LOG(5, (THIS_FILE, "Playback thread started")); + + /* Get methods ids */ + write_method = (*jni_env)->GetMethodID(jni_env, stream->track_class, + "write", "([BII)I"); + play_method = (*jni_env)->GetMethodID(jni_env, stream->track_class, + "play", "()V"); + stop_method = (*jni_env)->GetMethodID(jni_env, stream->track_class, + "stop", "()V"); + flush_method = (*jni_env)->GetMethodID(jni_env, stream->track_class, + "flush", "()V"); + if (write_method==0 || play_method==0 || stop_method==0 || + flush_method==0) + { + PJ_LOG(3, (THIS_FILE, "Unable to get audio track methods")); + goto on_return; + } + + outputBuffer = (*jni_env)->NewByteArray(jni_env, size); + if (outputBuffer == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to allocate output buffer")); + goto on_return; + } + buf = (*jni_env)->GetByteArrayElements(jni_env, outputBuffer, 0); + + /* Start playing */ + set_android_thread_priority(THREAD_PRIORITY_URGENT_AUDIO); + (*jni_env)->CallVoidMethod(jni_env, stream->track, play_method); + + while (!stream->quit_flag) { + pjmedia_frame frame; + pj_status_t status; + int bytesWritten; + + if (!stream->running) { + (*jni_env)->CallVoidMethod(jni_env, stream->track, stop_method); + (*jni_env)->CallVoidMethod(jni_env, stream->track, flush_method); + pj_sem_wait(stream->play_sem); + if (stream->quit_flag) + break; + (*jni_env)->CallVoidMethod(jni_env, stream->track, play_method); + } + + frame.type = PJMEDIA_FRAME_TYPE_AUDIO; + frame.size = size; + frame.buf = (void *)buf; + frame.timestamp.u64 = stream->play_timestamp.u64; + frame.bit_info = 0; + + status = (*stream->play_cb)(stream->user_data, &frame); + if (status != PJ_SUCCESS) + continue; + + if (frame.type != PJMEDIA_FRAME_TYPE_AUDIO) + pj_bzero(frame.buf, frame.size); + + (*jni_env)->ReleaseByteArrayElements(jni_env, outputBuffer, buf, + JNI_COMMIT); + + /* Write to the device output. */ + bytesWritten = (*jni_env)->CallIntMethod(jni_env, stream->track, + write_method, outputBuffer, + 0, size); + if (bytesWritten <= 0 || bytesWritten != size) { + PJ_LOG(4, (THIS_FILE, "Player thread: Error %d writing data", + bytesWritten)); + continue; + } + + stream->play_timestamp.u64 += stream->param.samples_per_frame / + stream->param.channel_count; + }; + + (*jni_env)->ReleaseByteArrayElements(jni_env, outputBuffer, buf, 0); + (*jni_env)->DeleteLocalRef(jni_env, outputBuffer); + +on_return: + detach_jvm(attached); + PJ_LOG(5, (THIS_FILE, "Player thread stopped")); + stream->play_thread_exited = 1; + + return 0; +} + +/* + * Init Android audio driver. + */ +pjmedia_aud_dev_factory* pjmedia_android_factory(pj_pool_factory *pf) +{ + struct android_aud_factory *f; + pj_pool_t *pool; + + pool = pj_pool_create(pf, "androidjni", 256, 256, NULL); + f = PJ_POOL_ZALLOC_T(pool, struct android_aud_factory); + f->pf = pf; + f->pool = pool; + f->base.op = &android_op; + + return &f->base; +} + +/* API: Init factory */ +static pj_status_t android_init(pjmedia_aud_dev_factory *f) +{ + PJ_UNUSED_ARG(f); + + PJ_LOG(4, (THIS_FILE, "Android JNI sound library initialized")); + + return PJ_SUCCESS; +} + + +/* API: refresh the list of devices */ +static pj_status_t android_refresh(pjmedia_aud_dev_factory *f) +{ + PJ_UNUSED_ARG(f); + return PJ_SUCCESS; +} + + +/* API: Destroy factory */ +static pj_status_t android_destroy(pjmedia_aud_dev_factory *f) +{ + struct android_aud_factory *pa = (struct android_aud_factory*)f; + pj_pool_t *pool; + + PJ_LOG(4, (THIS_FILE, "Android JNI sound library shutting down..")); + + pool = pa->pool; + pa->pool = NULL; + pj_pool_release(pool); + + return PJ_SUCCESS; +} + +/* API: Get device count. */ +static unsigned android_get_dev_count(pjmedia_aud_dev_factory *f) +{ + PJ_UNUSED_ARG(f); + return 1; +} + +/* API: Get device info. */ +static pj_status_t android_get_dev_info(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_dev_info *info) +{ + PJ_UNUSED_ARG(f); + + pj_bzero(info, sizeof(*info)); + + pj_ansi_strcpy(info->name, "Android JNI"); + info->default_samples_per_sec = 8000; + info->caps = PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING; + info->input_count = 1; + info->output_count = 1; + + return PJ_SUCCESS; +} + +/* API: fill in with default parameter. */ +static pj_status_t android_default_param(pjmedia_aud_dev_factory *f, + unsigned index, + pjmedia_aud_param *param) +{ + pjmedia_aud_dev_info adi; + pj_status_t status; + + status = android_get_dev_info(f, index, &adi); + if (status != PJ_SUCCESS) + return status; + + pj_bzero(param, sizeof(*param)); + if (adi.input_count && adi.output_count) { + param->dir = PJMEDIA_DIR_CAPTURE_PLAYBACK; + param->rec_id = index; + param->play_id = index; + } else if (adi.input_count) { + param->dir = PJMEDIA_DIR_CAPTURE; + param->rec_id = index; + param->play_id = PJMEDIA_AUD_INVALID_DEV; + } else if (adi.output_count) { + param->dir = PJMEDIA_DIR_PLAYBACK; + param->play_id = index; + param->rec_id = PJMEDIA_AUD_INVALID_DEV; + } else { + return PJMEDIA_EAUD_INVDEV; + } + + param->clock_rate = adi.default_samples_per_sec; + param->channel_count = 1; + param->samples_per_frame = adi.default_samples_per_sec * 20 / 1000; + param->bits_per_sample = 16; + param->input_latency_ms = PJMEDIA_SND_DEFAULT_REC_LATENCY; + param->output_latency_ms = PJMEDIA_SND_DEFAULT_PLAY_LATENCY; + + return PJ_SUCCESS; +} + +/* API: create stream */ +static pj_status_t android_create_stream(pjmedia_aud_dev_factory *f, + const pjmedia_aud_param *param, + pjmedia_aud_rec_cb rec_cb, + pjmedia_aud_play_cb play_cb, + void *user_data, + pjmedia_aud_stream **p_aud_strm) +{ + struct android_aud_factory *pa = (struct android_aud_factory*)f; + pj_pool_t *pool; + struct android_aud_stream *stream; + pj_status_t status = PJ_SUCCESS; + int state = 0; + int buffSize, inputBuffSizePlay, inputBuffSizeRec; + int channelInCfg, channelOutCfg, sampleFormat; + jmethodID constructor_method=0, bufsize_method = 0; + jmethodID method_id = 0; + jclass jcl; + JNIEnv *jni_env = 0; + pj_bool_t attached; + + PJ_ASSERT_RETURN(param->channel_count >= 1 && param->channel_count <= 2, + PJ_EINVAL); + PJ_ASSERT_RETURN(param->bits_per_sample==8 || param->bits_per_sample==16, + PJ_EINVAL); + PJ_ASSERT_RETURN(play_cb && rec_cb && p_aud_strm, PJ_EINVAL); + + pool = pj_pool_create(pa->pf, "jnistrm", 1024, 1024, NULL); + if (!pool) + return PJ_ENOMEM; + + PJ_LOG(4, (THIS_FILE, "Creating Android JNI stream")); + + stream = PJ_POOL_ZALLOC_T(pool, struct android_aud_stream); + stream->pool = pool; + pj_strdup2_with_null(pool, &stream->name, "JNI stream"); + stream->dir = PJMEDIA_DIR_CAPTURE_PLAYBACK; + pj_memcpy(&stream->param, param, sizeof(*param)); + stream->user_data = user_data; + stream->rec_cb = rec_cb; + stream->play_cb = play_cb; + buffSize = stream->param.samples_per_frame*stream->param.bits_per_sample/8; + stream->rec_buf_size = stream->play_buf_size = buffSize; + channelInCfg = (param->channel_count == 1)? 16 /*CHANNEL_IN_MONO*/: + 12 /*CHANNEL_IN_STEREO*/; + channelOutCfg = (param->channel_count == 1)? 4 /*CHANNEL_OUT_MONO*/: + 12 /*CHANNEL_OUT_STEREO*/; + sampleFormat = (param->bits_per_sample == 8)? 3 /*ENCODING_PCM_8BIT*/: + 2 /*ENCODING_PCM_16BIT*/; + + attached = attach_jvm(&jni_env); + + if (stream->dir & PJMEDIA_DIR_CAPTURE) { + /* Find audio record class and create global ref */ + jcl = (*jni_env)->FindClass(jni_env, "android/media/AudioRecord"); + if (jcl == NULL) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio record class")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + stream->record_class = (jclass)(*jni_env)->NewGlobalRef(jni_env, jcl); + (*jni_env)->DeleteLocalRef(jni_env, jcl); + if (stream->record_class == 0) { + status = PJ_ENOMEM; + goto on_error; + } + + /* Get the min buffer size function */ + bufsize_method = (*jni_env)->GetStaticMethodID(jni_env, + stream->record_class, + "getMinBufferSize", + "(III)I"); + if (bufsize_method == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio record " + "getMinBufferSize() method")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + + inputBuffSizeRec = (*jni_env)->CallStaticIntMethod(jni_env, + stream->record_class, + bufsize_method, + param->clock_rate, + channelInCfg, + sampleFormat); + if (inputBuffSizeRec <= 0) { + PJ_LOG(3, (THIS_FILE, "Unsupported audio record params")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + } + + if (stream->dir & PJMEDIA_DIR_PLAYBACK) { + /* Find audio track class and create global ref */ + jcl = (*jni_env)->FindClass(jni_env, "android/media/AudioTrack"); + if (jcl == NULL) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio track class")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + stream->track_class = (jclass)(*jni_env)->NewGlobalRef(jni_env, jcl); + (*jni_env)->DeleteLocalRef(jni_env, jcl); + if (stream->track_class == 0) { + status = PJ_ENOMEM; + goto on_error; + } + + /* Get the min buffer size function */ + bufsize_method = (*jni_env)->GetStaticMethodID(jni_env, + stream->track_class, + "getMinBufferSize", + "(III)I"); + if (bufsize_method == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio track " + "getMinBufferSize() method")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + + inputBuffSizePlay = (*jni_env)->CallStaticIntMethod(jni_env, + stream->track_class, + bufsize_method, + param->clock_rate, + channelOutCfg, + sampleFormat); + if (inputBuffSizePlay <= 0) { + PJ_LOG(3, (THIS_FILE, "Unsupported audio track params")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + } + + if (stream->dir & PJMEDIA_DIR_CAPTURE) { + jthrowable exc; + int mic_source = 0; /* DEFAULT: default audio source */ + + /* Get pointer to the constructor */ + constructor_method = (*jni_env)->GetMethodID(jni_env, + stream->record_class, + "", "(IIIII)V"); + if (constructor_method == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio record's constructor")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + + if (mic_source == 0) { + /* Android-L (android-21) removes __system_property_get + * from the NDK. + */ + /* + char sdk_version[PROP_VALUE_MAX]; + pj_str_t pj_sdk_version; + int sdk_v; + + __system_property_get("ro.build.version.sdk", sdk_version); + pj_sdk_version = pj_str(sdk_version); + sdk_v = pj_strtoul(&pj_sdk_version); + if (sdk_v > 10) + */ + mic_source = 7; /* VOICE_COMMUNICATION */ + } + PJ_LOG(4, (THIS_FILE, "Using audio input source : %d", mic_source)); + + do { + stream->record = (*jni_env)->NewObject(jni_env, + stream->record_class, + constructor_method, + mic_source, + param->clock_rate, + channelInCfg, + sampleFormat, + inputBuffSizeRec); + if (stream->record == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to create audio record object")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + + exc = (*jni_env)->ExceptionOccurred(jni_env); + if (exc) { + (*jni_env)->ExceptionDescribe(jni_env); + (*jni_env)->ExceptionClear(jni_env); + PJ_LOG(3, (THIS_FILE, "Failure in audio record's constructor")); + if (mic_source == 0) { + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + mic_source = 0; + PJ_LOG(4, (THIS_FILE, "Trying the default audio source.")); + continue; + } + + /* Check state */ + method_id = (*jni_env)->GetMethodID(jni_env, stream->record_class, + "getState", "()I"); + if (method_id == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio record getState() " + "method")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + state = (*jni_env)->CallIntMethod(jni_env, stream->record, + method_id); + if (state == 0) { /* STATE_UNINITIALIZED */ + PJ_LOG(3, (THIS_FILE, "Failure in initializing audio record.")); + if (mic_source == 0) { + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + mic_source = 0; + PJ_LOG(4, (THIS_FILE, "Trying the default audio source.")); + } + } while (state == 0); + + stream->record = (*jni_env)->NewGlobalRef(jni_env, stream->record); + if (stream->record == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to create audio record global ref.")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + + status = pj_sem_create(stream->pool, NULL, 0, 1, &stream->rec_sem); + if (status != PJ_SUCCESS) + goto on_error; + + status = pj_thread_create(stream->pool, "android_recorder", + AndroidRecorderCallback, stream, 0, 0, + &stream->rec_thread); + if (status != PJ_SUCCESS) + goto on_error; + + PJ_LOG(4, (THIS_FILE, "Audio record initialized successfully.")); + } + + if (stream->dir & PJMEDIA_DIR_PLAYBACK) { + jthrowable exc; + + /* Get pointer to the constructor */ + constructor_method = (*jni_env)->GetMethodID(jni_env, + stream->track_class, + "", "(IIIIII)V"); + if (constructor_method == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio track's constructor.")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + + stream->track = (*jni_env)->NewObject(jni_env, + stream->track_class, + constructor_method, + 0, /* STREAM_VOICE_CALL */ + param->clock_rate, + channelOutCfg, + sampleFormat, + inputBuffSizePlay, + 1 /* MODE_STREAM */); + if (stream->track == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to create audio track object.")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + + exc = (*jni_env)->ExceptionOccurred(jni_env); + if (exc) { + (*jni_env)->ExceptionDescribe(jni_env); + (*jni_env)->ExceptionClear(jni_env); + PJ_LOG(3, (THIS_FILE, "Failure in audio track's constructor")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + + stream->track = (*jni_env)->NewGlobalRef(jni_env, stream->track); + if (stream->track == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to create audio track's global ref")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + + /* Check state */ + method_id = (*jni_env)->GetMethodID(jni_env, stream->track_class, + "getState", "()I"); + if (method_id == 0) { + PJ_LOG(3, (THIS_FILE, "Unable to find audio track getState() " + "method")); + status = PJMEDIA_EAUD_SYSERR; + goto on_error; + } + state = (*jni_env)->CallIntMethod(jni_env, stream->track, + method_id); + if (state == 0) { /* STATE_UNINITIALIZED */ + PJ_LOG(3, (THIS_FILE, "Failure in initializing audio track.")); + status = PJMEDIA_EAUD_INIT; + goto on_error; + } + + status = pj_sem_create(stream->pool, NULL, 0, 1, &stream->play_sem); + if (status != PJ_SUCCESS) + goto on_error; + + status = pj_thread_create(stream->pool, "android_track", + AndroidTrackCallback, stream, 0, 0, + &stream->play_thread); + if (status != PJ_SUCCESS) + goto on_error; + + PJ_LOG(4, (THIS_FILE, "Audio track initialized successfully.")); + } + + if (param->flags & PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING) { + strm_set_cap(&stream->base, PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING, + ¶m->output_vol); + } + + /* Done */ + stream->base.op = &android_strm_op; + *p_aud_strm = &stream->base; + + detach_jvm(attached); + + return PJ_SUCCESS; + +on_error: + detach_jvm(attached); + strm_destroy(&stream->base); + return status; +} + +/* API: Get stream parameters */ +static pj_status_t strm_get_param(pjmedia_aud_stream *s, + pjmedia_aud_param *pi) +{ + struct android_aud_stream *strm = (struct android_aud_stream*)s; + PJ_ASSERT_RETURN(strm && pi, PJ_EINVAL); + pj_memcpy(pi, &strm->param, sizeof(*pi)); + + if (strm_get_cap(s, PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING, + &pi->output_vol) == PJ_SUCCESS) + { + pi->flags |= PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING; + } + + return PJ_SUCCESS; +} + +/* API: get capability */ +static pj_status_t strm_get_cap(pjmedia_aud_stream *s, + pjmedia_aud_dev_cap cap, + void *pval) +{ + struct android_aud_stream *strm = (struct android_aud_stream*)s; + pj_status_t status = PJMEDIA_EAUD_INVCAP; + + PJ_ASSERT_RETURN(s && pval, PJ_EINVAL); + + if (cap==PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING && + (strm->param.dir & PJMEDIA_DIR_PLAYBACK)) + { + } + + return status; +} + +/* API: set capability */ +static pj_status_t strm_set_cap(pjmedia_aud_stream *s, + pjmedia_aud_dev_cap cap, + const void *value) +{ + struct android_aud_stream *stream = (struct android_aud_stream*)s; + JNIEnv *jni_env = 0; + pj_bool_t attached; + + PJ_ASSERT_RETURN(s && value, PJ_EINVAL); + + if (cap==PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING && + (stream->param.dir & PJMEDIA_DIR_PLAYBACK)) + { + if (stream->track) { + jmethodID vol_method = 0; + int retval; + float vol = *(int *)value; + + attached = attach_jvm(&jni_env); + + vol_method = (*jni_env)->GetMethodID(jni_env, stream->track_class, + "setStereoVolume", "(FF)I"); + if (vol_method) { + retval = (*jni_env)->CallIntMethod(jni_env, stream->track, + vol_method, + vol/100, vol/100); + } + + detach_jvm(attached); + + if (vol_method && retval == 0) + return PJ_SUCCESS; + } + } + + return PJMEDIA_EAUD_INVCAP; +} + +/* API: start stream. */ +static pj_status_t strm_start(pjmedia_aud_stream *s) +{ + struct android_aud_stream *stream = (struct android_aud_stream*)s; + + if (!stream->running) { + stream->running = PJ_TRUE; + if (stream->record) + pj_sem_post(stream->rec_sem); + if (stream->track) + pj_sem_post(stream->play_sem); + } + + PJ_LOG(4, (THIS_FILE, "Android JNI stream started")); + + return PJ_SUCCESS; +} + +/* API: stop stream. */ +static pj_status_t strm_stop(pjmedia_aud_stream *s) +{ + struct android_aud_stream *stream = (struct android_aud_stream*)s; + + if (!stream->running) + return PJ_SUCCESS; + + stream->running = PJ_FALSE; + PJ_LOG(4,(THIS_FILE, "Android JNI stream stopped")); + + return PJ_SUCCESS; +} + +/* API: destroy stream. */ +static pj_status_t strm_destroy(pjmedia_aud_stream *s) +{ + struct android_aud_stream *stream = (struct android_aud_stream*)s; + JNIEnv *jni_env = 0; + jmethodID release_method=0; + pj_bool_t attached; + + PJ_LOG(4,(THIS_FILE, "Destroying Android JNI stream...")); + + stream->quit_flag = PJ_TRUE; + + /* Stop the stream */ + strm_stop(s); + + attached = attach_jvm(&jni_env); + + if (stream->record){ + if (stream->rec_thread) { + pj_sem_post(stream->rec_sem); + pj_thread_join(stream->rec_thread); + pj_thread_destroy(stream->rec_thread); + stream->rec_thread = NULL; + } + + if (stream->rec_sem) { + pj_sem_destroy(stream->rec_sem); + stream->rec_sem = NULL; + } + + release_method = (*jni_env)->GetMethodID(jni_env, stream->record_class, + "release", "()V"); + (*jni_env)->CallVoidMethod(jni_env, stream->record, release_method); + + (*jni_env)->DeleteGlobalRef(jni_env, stream->record); + (*jni_env)->DeleteGlobalRef(jni_env, stream->record_class); + stream->record = NULL; + stream->record_class = NULL; + PJ_LOG(4, (THIS_FILE, "Audio record released")); + } + + if (stream->track) { + if (stream->play_thread) { + pj_sem_post(stream->play_sem); + pj_thread_join(stream->play_thread); + pj_thread_destroy(stream->play_thread); + stream->play_thread = NULL; + } + + if (stream->play_sem) { + pj_sem_destroy(stream->play_sem); + stream->play_sem = NULL; + } + + release_method = (*jni_env)->GetMethodID(jni_env, stream->track_class, + "release", "()V"); + (*jni_env)->CallVoidMethod(jni_env, stream->track, release_method); + + (*jni_env)->DeleteGlobalRef(jni_env, stream->track); + (*jni_env)->DeleteGlobalRef(jni_env, stream->track_class); + stream->track = NULL; + stream->track_class = NULL; + PJ_LOG(3, (THIS_FILE, "Audio track released")); + } + + pj_pool_release(stream->pool); + PJ_LOG(4, (THIS_FILE, "Android JNI stream destroyed")); + + detach_jvm(attached); + return PJ_SUCCESS; +} + +#endif /* PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI */ diff --git a/pjmedia/src/pjmedia-audiodev/audiodev.c b/pjmedia/src/pjmedia-audiodev/audiodev.c new file mode 100644 index 0000000..7494e3f --- /dev/null +++ b/pjmedia/src/pjmedia-audiodev/audiodev.c @@ -0,0 +1,847 @@ +/* $Id: audiodev.c 4879 2014-07-16 04:21:54Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include + +#define THIS_FILE "audiodev.c" + +#define DEFINE_CAP(name, info) {name, info} + +/* Capability names */ +static struct cap_info +{ + const char *name; + const char *info; +} cap_infos[] = +{ + DEFINE_CAP("ext-fmt", "Extended/non-PCM format"), + DEFINE_CAP("latency-in", "Input latency/buffer size setting"), + DEFINE_CAP("latency-out", "Output latency/buffer size setting"), + DEFINE_CAP("vol-in", "Input volume setting"), + DEFINE_CAP("vol-out", "Output volume setting"), + DEFINE_CAP("meter-in", "Input meter"), + DEFINE_CAP("meter-out", "Output meter"), + DEFINE_CAP("route-in", "Input routing"), + DEFINE_CAP("route-out", "Output routing"), + DEFINE_CAP("aec", "Accoustic echo cancellation"), + DEFINE_CAP("aec-tail", "Tail length setting for AEC"), + DEFINE_CAP("vad", "Voice activity detection"), + DEFINE_CAP("cng", "Comfort noise generation"), + DEFINE_CAP("plg", "Packet loss concealment") +}; + + +/* + * The device index seen by application and driver is different. + * + * At application level, device index is index to global list of device. + * At driver level, device index is index to device list on that particular + * factory only. + */ +#define MAKE_DEV_ID(f_id, index) (((f_id & 0xFFFF) << 16) | (index & 0xFFFF)) +#define GET_INDEX(dev_id) ((dev_id) & 0xFFFF) +#define GET_FID(dev_id) ((dev_id) >> 16) +#define DEFAULT_DEV_ID 0 + + +/* extern functions to create factories */ +#if PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO +pjmedia_aud_dev_factory* pjmedia_pa_factory(pj_pool_factory *pf); +#endif + +#if PJMEDIA_AUDIO_DEV_HAS_COREAUDIO +pjmedia_aud_dev_factory* pjmedia_coreaudio_factory(pj_pool_factory *pf); +#endif + +#if PJMEDIA_AUDIO_DEV_HAS_ALSA +pjmedia_aud_dev_factory* pjmedia_alsa_factory(pj_pool_factory *pf); +#endif + +#if PJMEDIA_AUDIO_DEV_HAS_OPENSL +pjmedia_aud_dev_factory* pjmedia_opensl_factory(pj_pool_factory *pf); +#endif + +#if PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI +pjmedia_aud_dev_factory* pjmedia_android_factory(pj_pool_factory *pf); +#endif + +#if PJMEDIA_AUDIO_DEV_HAS_BB10 +pjmedia_aud_dev_factory* pjmedia_bb10_factory(pj_pool_factory *pf); +#endif + +#if PJMEDIA_AUDIO_DEV_HAS_WMME +pjmedia_aud_dev_factory* pjmedia_wmme_factory(pj_pool_factory *pf); +#endif + +#if PJMEDIA_AUDIO_DEV_HAS_BDIMAD +pjmedia_aud_dev_factory* pjmedia_bdimad_factory(pj_pool_factory *pf); +#endif + +#if PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS +pjmedia_aud_dev_factory* pjmedia_symb_vas_factory(pj_pool_factory *pf); +#endif + +#if PJMEDIA_AUDIO_DEV_HAS_SYMB_APS +pjmedia_aud_dev_factory* pjmedia_aps_factory(pj_pool_factory *pf); +#endif + +#if PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA +pjmedia_aud_dev_factory* pjmedia_symb_mda_factory(pj_pool_factory *pf); +#endif + +#if PJMEDIA_AUDIO_DEV_HAS_NULL_AUDIO +pjmedia_aud_dev_factory* pjmedia_null_audio_factory(pj_pool_factory *pf); +#endif + +#define MAX_DRIVERS 16 +#define MAX_DEVS 64 + + +/* driver structure */ +struct driver +{ + /* Creation function */ + pjmedia_aud_dev_factory_create_func_ptr create; + /* Factory instance */ + pjmedia_aud_dev_factory *f; + char name[32]; /* Driver name */ + unsigned dev_cnt; /* Number of devices */ + unsigned start_idx; /* Start index in global list */ + int rec_dev_idx;/* Default capture device. */ + int play_dev_idx;/* Default playback device */ + int dev_idx; /* Default device. */ +}; + +/* The audio subsystem */ +static struct aud_subsys +{ + unsigned init_count; /* How many times init() is called */ + pj_pool_factory *pf; /* The pool factory. */ + + unsigned drv_cnt; /* Number of drivers. */ + struct driver drv[MAX_DRIVERS]; /* Array of drivers. */ + + unsigned dev_cnt; /* Total number of devices. */ + pj_uint32_t dev_list[MAX_DEVS];/* Array of device IDs. */ + +} aud_subsys; + +/* API: get capability name/info */ +PJ_DEF(const char*) pjmedia_aud_dev_cap_name(pjmedia_aud_dev_cap cap, + const char **p_desc) +{ + const char *desc; + unsigned i; + + if (p_desc==NULL) p_desc = &desc; + + for (i=0; iname; \ + *size = sizeof(param->name) + + switch (cap) { + case PJMEDIA_AUD_DEV_CAP_EXT_FORMAT: + FIELD_INFO(ext_fmt); + break; + case PJMEDIA_AUD_DEV_CAP_INPUT_LATENCY: + FIELD_INFO(input_latency_ms); + break; + case PJMEDIA_AUD_DEV_CAP_OUTPUT_LATENCY: + FIELD_INFO(output_latency_ms); + break; + case PJMEDIA_AUD_DEV_CAP_INPUT_VOLUME_SETTING: + FIELD_INFO(input_vol); + break; + case PJMEDIA_AUD_DEV_CAP_OUTPUT_VOLUME_SETTING: + FIELD_INFO(output_vol); + break; + case PJMEDIA_AUD_DEV_CAP_INPUT_ROUTE: + FIELD_INFO(input_route); + break; + case PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE: + FIELD_INFO(output_route); + break; + case PJMEDIA_AUD_DEV_CAP_EC: + FIELD_INFO(ec_enabled); + break; + case PJMEDIA_AUD_DEV_CAP_EC_TAIL: + FIELD_INFO(ec_tail_ms); + break; + /* vad is no longer in "fmt" in 2.0. + case PJMEDIA_AUD_DEV_CAP_VAD: + FIELD_INFO(ext_fmt.vad); + break; + */ + case PJMEDIA_AUD_DEV_CAP_CNG: + FIELD_INFO(cng_enabled); + break; + case PJMEDIA_AUD_DEV_CAP_PLC: + FIELD_INFO(plc_enabled); + break; + default: + return PJMEDIA_EAUD_INVCAP; + } + +#undef FIELD_INFO + + return PJ_SUCCESS; +} + +/* API: set cap value to param */ +PJ_DEF(pj_status_t) pjmedia_aud_param_set_cap( pjmedia_aud_param *param, + pjmedia_aud_dev_cap cap, + const void *pval) +{ + void *cap_ptr; + unsigned cap_size; + pj_status_t status; + + status = get_cap_pointer(param, cap, &cap_ptr, &cap_size); + if (status != PJ_SUCCESS) + return status; + + pj_memcpy(cap_ptr, pval, cap_size); + param->flags |= cap; + + return PJ_SUCCESS; +} + +/* API: get cap value from param */ +PJ_DEF(pj_status_t) pjmedia_aud_param_get_cap( const pjmedia_aud_param *param, + pjmedia_aud_dev_cap cap, + void *pval) +{ + void *cap_ptr; + unsigned cap_size; + pj_status_t status; + + status = get_cap_pointer(param, cap, &cap_ptr, &cap_size); + if (status != PJ_SUCCESS) + return status; + + if ((param->flags & cap) == 0) { + pj_bzero(cap_ptr, cap_size); + return PJMEDIA_EAUD_INVCAP; + } + + pj_memcpy(pval, cap_ptr, cap_size); + return PJ_SUCCESS; +} + +/* Internal: init driver */ +static pj_status_t init_driver(unsigned drv_idx, pj_bool_t refresh) +{ + struct driver *drv = &aud_subsys.drv[drv_idx]; + pjmedia_aud_dev_factory *f; + unsigned i, dev_cnt; + pj_status_t status; + + if (!refresh && drv->create) { + /* Create the factory */ + f = (*drv->create)(aud_subsys.pf); + if (!f) + return PJ_EUNKNOWN; + + /* Call factory->init() */ + status = f->op->init(f); + if (status != PJ_SUCCESS) { + f->op->destroy(f); + return status; + } + } else { + f = drv->f; + } + + if (!f) + return PJ_EUNKNOWN; + + /* Get number of devices */ + dev_cnt = f->op->get_dev_count(f); + if (dev_cnt + aud_subsys.dev_cnt > MAX_DEVS) { + PJ_LOG(4,(THIS_FILE, "%d device(s) cannot be registered because" + " there are too many devices", + aud_subsys.dev_cnt + dev_cnt - MAX_DEVS)); + dev_cnt = MAX_DEVS - aud_subsys.dev_cnt; + } + + /* enabling this will cause pjsua-lib initialization to fail when there + * is no sound device installed in the system, even when pjsua has been + * run with --null-audio + * + if (dev_cnt == 0) { + f->op->destroy(f); + return PJMEDIA_EAUD_NODEV; + } + */ + + /* Fill in default devices */ + drv->play_dev_idx = drv->rec_dev_idx = + drv->dev_idx = PJMEDIA_AUD_INVALID_DEV; + for (i=0; iop->get_dev_info(f, i, &info); + if (status != PJ_SUCCESS) { + f->op->destroy(f); + return status; + } + + if (drv->name[0]=='\0') { + /* Set driver name */ + pj_ansi_strncpy(drv->name, info.driver, sizeof(drv->name)); + drv->name[sizeof(drv->name)-1] = '\0'; + } + + if (drv->play_dev_idx < 0 && info.output_count) { + /* Set default playback device */ + drv->play_dev_idx = i; + } + if (drv->rec_dev_idx < 0 && info.input_count) { + /* Set default capture device */ + drv->rec_dev_idx = i; + } + if (drv->dev_idx < 0 && info.input_count && + info.output_count) + { + /* Set default capture and playback device */ + drv->dev_idx = i; + } + + if (drv->play_dev_idx >= 0 && drv->rec_dev_idx >= 0 && + drv->dev_idx >= 0) + { + /* Done. */ + break; + } + } + + /* Register the factory */ + drv->f = f; + drv->f->sys.drv_idx = drv_idx; + drv->start_idx = aud_subsys.dev_cnt; + drv->dev_cnt = dev_cnt; + + /* Register devices to global list */ + for (i=0; if) { + drv->f->op->destroy(drv->f); + drv->f = NULL; + } + + pj_bzero(drv, sizeof(*drv)); + drv->play_dev_idx = drv->rec_dev_idx = + drv->dev_idx = PJMEDIA_AUD_INVALID_DEV; +} + +/* API: Initialize the audio subsystem. */ +PJ_DEF(pj_status_t) pjmedia_aud_subsys_init(pj_pool_factory *pf) +{ + unsigned i; + pj_status_t status; + + /* Allow init() to be called multiple times as long as there is matching + * number of shutdown(). + */ + if (aud_subsys.init_count++ != 0) { + return PJ_SUCCESS; + } + + /* Register error subsystem */ + status = pj_register_strerror(PJMEDIA_AUDIODEV_ERRNO_START, + PJ_ERRNO_SPACE_SIZE, + &pjmedia_audiodev_strerror); + pj_assert(status == PJ_SUCCESS); + + /* Init */ + aud_subsys.pf = pf; + aud_subsys.drv_cnt = 0; + aud_subsys.dev_cnt = 0; + + /* Register creation functions */ +#if PJMEDIA_AUDIO_DEV_HAS_OPENSL + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_opensl_factory; +#endif +#if PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_android_factory; +#endif +#if PJMEDIA_AUDIO_DEV_HAS_BB10 + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_bb10_factory; +#endif +#if PJMEDIA_AUDIO_DEV_HAS_ALSA + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_alsa_factory; +#endif +#if PJMEDIA_AUDIO_DEV_HAS_COREAUDIO + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_coreaudio_factory; +#endif +#if PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_pa_factory; +#endif +#if PJMEDIA_AUDIO_DEV_HAS_WMME + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_wmme_factory; +#endif +#if PJMEDIA_AUDIO_DEV_HAS_BDIMAD + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_bdimad_factory; +#endif +#if PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_symb_vas_factory; +#endif +#if PJMEDIA_AUDIO_DEV_HAS_SYMB_APS + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_aps_factory; +#endif +#if PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_symb_mda_factory; +#endif +#if PJMEDIA_AUDIO_DEV_HAS_NULL_AUDIO + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_null_audio_factory; +#endif + + /* Initialize each factory and build the device ID list */ + for (i=0; icreate == adf) { + for (j = drv->start_idx; j < drv->start_idx + drv->dev_cnt; j++) + { + aud_subsys.dev_list[j] = (pj_uint32_t)PJMEDIA_AUD_INVALID_DEV; + } + + deinit_driver(i); + return PJ_SUCCESS; + } + } + + return PJMEDIA_EAUD_ERR; +} + +/* API: get the pool factory registered to the audio subsystem. */ +PJ_DEF(pj_pool_factory*) pjmedia_aud_subsys_get_pool_factory(void) +{ + return aud_subsys.pf; +} + +/* API: Shutdown the audio subsystem. */ +PJ_DEF(pj_status_t) pjmedia_aud_subsys_shutdown(void) +{ + unsigned i; + + /* Allow shutdown() to be called multiple times as long as there is matching + * number of init(). + */ + if (aud_subsys.init_count == 0) { + return PJ_SUCCESS; + } + --aud_subsys.init_count; + + if (aud_subsys.init_count == 0) { + for (i=0; if && drv->f->op->refresh) { + pj_status_t status = drv->f->op->refresh(drv->f); + if (status != PJ_SUCCESS) { + PJ_PERROR(4, (THIS_FILE, status, "Unable to refresh device " + "list for %s", drv->name)); + } + } + init_driver(i, PJ_TRUE); + } + return PJ_SUCCESS; +} + +/* API: Get the number of sound devices installed in the system. */ +PJ_DEF(unsigned) pjmedia_aud_dev_count(void) +{ + return aud_subsys.dev_cnt; +} + +/* Internal: convert local index to global device index */ +static pj_status_t make_global_index(unsigned drv_idx, + pjmedia_aud_dev_index *id) +{ + if (*id < 0) { + return PJ_SUCCESS; + } + + /* Check that factory still exists */ + PJ_ASSERT_RETURN(aud_subsys.drv[drv_idx].f, PJ_EBUG); + + /* Check that device index is valid */ + PJ_ASSERT_RETURN(*id>=0 && *id<(int)aud_subsys.drv[drv_idx].dev_cnt, + PJ_EBUG); + + *id += aud_subsys.drv[drv_idx].start_idx; + return PJ_SUCCESS; +} + +/* Internal: lookup device id */ +static pj_status_t lookup_dev(pjmedia_aud_dev_index id, + pjmedia_aud_dev_factory **p_f, + unsigned *p_local_index) +{ + int f_id, index; + + if (id < 0) { + unsigned i; + + if (id == PJMEDIA_AUD_INVALID_DEV) + return PJMEDIA_EAUD_INVDEV; + + for (i=0; idev_idx >= 0) { + id = drv->dev_idx; + make_global_index(i, &id); + break; + } else if (id==PJMEDIA_AUD_DEFAULT_CAPTURE_DEV && + drv->rec_dev_idx >= 0) + { + id = drv->rec_dev_idx; + make_global_index(i, &id); + break; + } else if (id==PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV && + drv->play_dev_idx >= 0) + { + id = drv->play_dev_idx; + make_global_index(i, &id); + break; + } + } + + if (id < 0) { + return PJMEDIA_EAUD_NODEFDEV; + } + } + + f_id = GET_FID(aud_subsys.dev_list[id]); + index = GET_INDEX(aud_subsys.dev_list[id]); + + if (f_id < 0 || f_id >= (int)aud_subsys.drv_cnt) + return PJMEDIA_EAUD_INVDEV; + + if (index < 0 || index >= (int)aud_subsys.drv[f_id].dev_cnt) + return PJMEDIA_EAUD_INVDEV; + + *p_f = aud_subsys.drv[f_id].f; + *p_local_index = (unsigned)index; + + return PJ_SUCCESS; + +} + +/* API: Get device information. */ +PJ_DEF(pj_status_t) pjmedia_aud_dev_get_info(pjmedia_aud_dev_index id, + pjmedia_aud_dev_info *info) +{ + pjmedia_aud_dev_factory *f; + unsigned index; + pj_status_t status; + + PJ_ASSERT_RETURN(info && id!=PJMEDIA_AUD_INVALID_DEV, PJ_EINVAL); + PJ_ASSERT_RETURN(aud_subsys.pf, PJMEDIA_EAUD_INIT); + + status = lookup_dev(id, &f, &index); + if (status != PJ_SUCCESS) + return status; + + return f->op->get_dev_info(f, index, info); +} + +/* API: find device */ +PJ_DEF(pj_status_t) pjmedia_aud_dev_lookup( const char *drv_name, + const char *dev_name, + pjmedia_aud_dev_index *id) +{ + pjmedia_aud_dev_factory *f = NULL; + unsigned drv_idx, dev_idx; + + PJ_ASSERT_RETURN(drv_name && dev_name && id, PJ_EINVAL); + PJ_ASSERT_RETURN(aud_subsys.pf, PJMEDIA_EAUD_INIT); + + for (drv_idx=0; drv_idxop->get_dev_info(f, dev_idx, &info); + if (status != PJ_SUCCESS) + return status; + + if (!pj_ansi_stricmp(dev_name, info.name)) + break; + } + + if (dev_idx==aud_subsys.drv[drv_idx].dev_cnt) + return PJ_ENOTFOUND; + + *id = dev_idx; + make_global_index(drv_idx, id); + + return PJ_SUCCESS; +} + +/* API: Initialize the audio device parameters with default values for the + * specified device. + */ +PJ_DEF(pj_status_t) pjmedia_aud_dev_default_param(pjmedia_aud_dev_index id, + pjmedia_aud_param *param) +{ + pjmedia_aud_dev_factory *f; + unsigned index; + pj_status_t status; + + PJ_ASSERT_RETURN(param && id!=PJMEDIA_AUD_INVALID_DEV, PJ_EINVAL); + PJ_ASSERT_RETURN(aud_subsys.pf, PJMEDIA_EAUD_INIT); + + status = lookup_dev(id, &f, &index); + if (status != PJ_SUCCESS) + return status; + + status = f->op->default_param(f, index, param); + if (status != PJ_SUCCESS) + return status; + + /* Normalize device IDs */ + make_global_index(f->sys.drv_idx, ¶m->rec_id); + make_global_index(f->sys.drv_idx, ¶m->play_id); + + return PJ_SUCCESS; +} + +/* API: Open audio stream object using the specified parameters. */ +PJ_DEF(pj_status_t) pjmedia_aud_stream_create(const pjmedia_aud_param *prm, + pjmedia_aud_rec_cb rec_cb, + pjmedia_aud_play_cb play_cb, + void *user_data, + pjmedia_aud_stream **p_aud_strm) +{ + pjmedia_aud_dev_factory *rec_f=NULL, *play_f=NULL, *f=NULL; + pjmedia_aud_param param; + pj_status_t status; + + PJ_ASSERT_RETURN(prm && prm->dir && p_aud_strm, PJ_EINVAL); + PJ_ASSERT_RETURN(aud_subsys.pf, PJMEDIA_EAUD_INIT); + PJ_ASSERT_RETURN(prm->dir==PJMEDIA_DIR_CAPTURE || + prm->dir==PJMEDIA_DIR_PLAYBACK || + prm->dir==PJMEDIA_DIR_CAPTURE_PLAYBACK, + PJ_EINVAL); + + /* Must make copy of param because we're changing device ID */ + pj_memcpy(¶m, prm, sizeof(param)); + + /* Normalize rec_id */ + if (param.dir & PJMEDIA_DIR_CAPTURE) { + unsigned index; + + if (param.rec_id < 0) + param.rec_id = PJMEDIA_AUD_DEFAULT_CAPTURE_DEV; + + status = lookup_dev(param.rec_id, &rec_f, &index); + if (status != PJ_SUCCESS) + return status; + + param.rec_id = index; + f = rec_f; + } + + /* Normalize play_id */ + if (param.dir & PJMEDIA_DIR_PLAYBACK) { + unsigned index; + + if (param.play_id < 0) + param.play_id = PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV; + + status = lookup_dev(param.play_id, &play_f, &index); + if (status != PJ_SUCCESS) + return status; + + param.play_id = index; + f = play_f; + } + + PJ_ASSERT_RETURN(f != NULL, PJ_EBUG); + + /* For now, rec_id and play_id must belong to the same factory */ + PJ_ASSERT_RETURN((param.dir != PJMEDIA_DIR_CAPTURE_PLAYBACK) || + (rec_f == play_f), + PJMEDIA_EAUD_INVDEV); + + /* Create the stream */ + status = f->op->create_stream(f, ¶m, rec_cb, play_cb, + user_data, p_aud_strm); + if (status != PJ_SUCCESS) + return status; + + /* Assign factory id to the stream */ + (*p_aud_strm)->sys.drv_idx = f->sys.drv_idx; + return PJ_SUCCESS; +} + +/* API: Get the running parameters for the specified audio stream. */ +PJ_DEF(pj_status_t) pjmedia_aud_stream_get_param(pjmedia_aud_stream *strm, + pjmedia_aud_param *param) +{ + pj_status_t status; + + PJ_ASSERT_RETURN(strm && param, PJ_EINVAL); + PJ_ASSERT_RETURN(aud_subsys.pf, PJMEDIA_EAUD_INIT); + + status = strm->op->get_param(strm, param); + if (status != PJ_SUCCESS) + return status; + + /* Normalize device id's */ + make_global_index(strm->sys.drv_idx, ¶m->rec_id); + make_global_index(strm->sys.drv_idx, ¶m->play_id); + + return PJ_SUCCESS; +} + +/* API: Get the value of a specific capability of the audio stream. */ +PJ_DEF(pj_status_t) pjmedia_aud_stream_get_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + void *value) +{ + return strm->op->get_cap(strm, cap, value); +} + +/* API: Set the value of a specific capability of the audio stream. */ +PJ_DEF(pj_status_t) pjmedia_aud_stream_set_cap(pjmedia_aud_stream *strm, + pjmedia_aud_dev_cap cap, + const void *value) +{ + return strm->op->set_cap(strm, cap, value); +} + +/* API: Start the stream. */ +PJ_DEF(pj_status_t) pjmedia_aud_stream_start(pjmedia_aud_stream *strm) +{ + return strm->op->start(strm); +} + +/* API: Stop the stream. */ +PJ_DEF(pj_status_t) pjmedia_aud_stream_stop(pjmedia_aud_stream *strm) +{ + return strm->op->stop(strm); +} + +/* API: Destroy the stream. */ +PJ_DEF(pj_status_t) pjmedia_aud_stream_destroy(pjmedia_aud_stream *strm) +{ + return strm->op->destroy(strm); +} + + diff --git a/pjmedia/src/pjmedia-audiodev/audiotest.c b/pjmedia/src/pjmedia-audiodev/audiotest.c new file mode 100644 index 0000000..82893f5 --- /dev/null +++ b/pjmedia/src/pjmedia-audiodev/audiotest.c @@ -0,0 +1,269 @@ +/* $Id: audiotest.c 3553 2011-05-05 06:14:19Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * Copyright (C) 2003-2008 Benny Prijono + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#include +#include +#include +#include + +#define THIS_FILE "audiotest.c" + +/* Test duration in msec */ +#define DURATION 10000 + +/* Skip the first msec from the calculation */ +#define SKIP_DURATION 1000 + +/* Division helper */ +#define DIV_ROUND_UP(a,b) (((a) + ((b) - 1)) / (b)) +#define DIV_ROUND(a,b) (((a) + ((b)/2 - 1)) / (b)) + +struct stream_data +{ + pj_uint32_t first_timestamp; + pj_uint32_t last_timestamp; + pj_timestamp last_called; + pj_math_stat delay; +}; + +struct test_data +{ + pj_pool_t *pool; + const pjmedia_aud_param *param; + pjmedia_aud_test_results *result; + pj_bool_t running; + pj_bool_t has_error; + pj_mutex_t *mutex; + + struct stream_data capture_data; + struct stream_data playback_data; +}; + +static pj_status_t play_cb(void *user_data, pjmedia_frame *frame) +{ + struct test_data *test_data = (struct test_data *)user_data; + struct stream_data *strm_data = &test_data->playback_data; + + pj_mutex_lock(test_data->mutex); + + /* Skip frames when test is not started or test has finished */ + if (!test_data->running) { + pj_bzero(frame->buf, frame->size); + pj_mutex_unlock(test_data->mutex); + return PJ_SUCCESS; + } + + /* Save last timestamp seen (to calculate drift) */ + strm_data->last_timestamp = frame->timestamp.u32.lo; + + if (strm_data->last_called.u64 == 0) { + /* Init vars. */ + pj_get_timestamp(&strm_data->last_called); + pj_math_stat_init(&strm_data->delay); + strm_data->first_timestamp = frame->timestamp.u32.lo; + } else { + pj_timestamp now; + unsigned delay; + + /* Calculate frame interval */ + pj_get_timestamp(&now); + delay = pj_elapsed_usec(&strm_data->last_called, &now); + strm_data->last_called = now; + + /* Update frame interval statistic */ + pj_math_stat_update(&strm_data->delay, delay); + } + + pj_bzero(frame->buf, frame->size); + + pj_mutex_unlock(test_data->mutex); + + return PJ_SUCCESS; +} + +static pj_status_t rec_cb(void *user_data, pjmedia_frame *frame) +{ + struct test_data *test_data = (struct test_data*)user_data; + struct stream_data *strm_data = &test_data->capture_data; + + pj_mutex_lock(test_data->mutex); + + /* Skip frames when test is not started or test has finished */ + if (!test_data->running) { + pj_mutex_unlock(test_data->mutex); + return PJ_SUCCESS; + } + + /* Save last timestamp seen (to calculate drift) */ + strm_data->last_timestamp = frame->timestamp.u32.lo; + + if (strm_data->last_called.u64 == 0) { + /* Init vars. */ + pj_get_timestamp(&strm_data->last_called); + pj_math_stat_init(&strm_data->delay); + strm_data->first_timestamp = frame->timestamp.u32.lo; + } else { + pj_timestamp now; + unsigned delay; + + /* Calculate frame interval */ + pj_get_timestamp(&now); + delay = pj_elapsed_usec(&strm_data->last_called, &now); + strm_data->last_called = now; + + /* Update frame interval statistic */ + pj_math_stat_update(&strm_data->delay, delay); + } + + pj_mutex_unlock(test_data->mutex); + return PJ_SUCCESS; +} + +static void app_perror(const char *title, pj_status_t status) +{ + char errmsg[PJ_ERR_MSG_SIZE]; + + pj_strerror(status, errmsg, sizeof(errmsg)); + printf( "%s: %s (err=%d)\n", + title, errmsg, status); +} + + +PJ_DEF(pj_status_t) pjmedia_aud_test( const pjmedia_aud_param *param, + pjmedia_aud_test_results *result) +{ + pj_status_t status = PJ_SUCCESS; + pjmedia_aud_stream *strm; + struct test_data test_data; + unsigned ptime, tmp; + + /* + * Init test parameters + */ + pj_bzero(&test_data, sizeof(test_data)); + test_data.param = param; + test_data.result = result; + + test_data.pool = pj_pool_create(pjmedia_aud_subsys_get_pool_factory(), + "audtest", 1000, 1000, NULL); + pj_mutex_create_simple(test_data.pool, "sndtest", &test_data.mutex); + + /* + * Open device. + */ + status = pjmedia_aud_stream_create(test_data.param, &rec_cb, &play_cb, + &test_data, &strm); + if (status != PJ_SUCCESS) { + app_perror("Unable to open device", status); + pj_pool_release(test_data.pool); + return status; + } + + + /* Sleep for a while to let sound device "settles" */ + pj_thread_sleep(200); + + /* + * Start the stream. + */ + status = pjmedia_aud_stream_start(strm); + if (status != PJ_SUCCESS) { + app_perror("Unable to start capture stream", status); + pjmedia_aud_stream_destroy(strm); + pj_pool_release(test_data.pool); + return status; + } + + PJ_LOG(3,(THIS_FILE, + " Please wait while test is in progress (~%d secs)..", + (DURATION+SKIP_DURATION)/1000)); + + /* Let the stream runs for few msec/sec to get stable result. + * (capture normally begins with frames available simultaneously). + */ + pj_thread_sleep(SKIP_DURATION); + + + /* Begin gather data */ + test_data.running = 1; + + /* + * Let the test runs for a while. + */ + pj_thread_sleep(DURATION); + + + /* + * Close stream. + */ + test_data.running = 0; + pjmedia_aud_stream_destroy(strm); + pj_pool_release(test_data.pool); + + + /* + * Gather results + */ + ptime = param->samples_per_frame * 1000 / param->clock_rate; + + tmp = pj_math_stat_get_stddev(&test_data.capture_data.delay); + result->rec.frame_cnt = test_data.capture_data.delay.n; + result->rec.min_interval = DIV_ROUND(test_data.capture_data.delay.min, 1000); + result->rec.max_interval = DIV_ROUND(test_data.capture_data.delay.max, 1000); + result->rec.avg_interval = DIV_ROUND(test_data.capture_data.delay.mean, 1000); + result->rec.dev_interval = DIV_ROUND(tmp, 1000); + result->rec.max_burst = DIV_ROUND_UP(result->rec.max_interval, ptime); + + tmp = pj_math_stat_get_stddev(&test_data.playback_data.delay); + result->play.frame_cnt = test_data.playback_data.delay.n; + result->play.min_interval = DIV_ROUND(test_data.playback_data.delay.min, 1000); + result->play.max_interval = DIV_ROUND(test_data.playback_data.delay.max, 1000); + result->play.avg_interval = DIV_ROUND(test_data.playback_data.delay.mean, 1000); + result->play.dev_interval = DIV_ROUND(tmp, 1000); + result->play.max_burst = DIV_ROUND_UP(result->play.max_interval, ptime); + + /* Check drifting */ + if (param->dir == PJMEDIA_DIR_CAPTURE_PLAYBACK) { + int play_diff, cap_diff, drift; + + play_diff = test_data.playback_data.last_timestamp - + test_data.playback_data.first_timestamp; + cap_diff = test_data.capture_data.last_timestamp - + test_data.capture_data.first_timestamp; + drift = play_diff > cap_diff? play_diff - cap_diff : + cap_diff - play_diff; + + /* Allow one frame tolerance for clock drift detection */ + if (drift < (int)param->samples_per_frame) { + result->rec_drift_per_sec = 0; + } else { + unsigned msec_dur; + + msec_dur = (test_data.capture_data.last_timestamp - + test_data.capture_data.first_timestamp) * 1000 / + test_data.param->clock_rate; + + result->rec_drift_per_sec = drift * 1000 / msec_dur; + + } + } + + return test_data.has_error? PJ_EUNKNOWN : PJ_SUCCESS; +} + diff --git a/pjmedia/src/pjmedia-audiodev/bb10_dev.c b/pjmedia/src/pjmedia-audiodev/bb10_dev.c new file mode 100644 index 0000000..7c371e0 --- /dev/null +++ b/pjmedia/src/pjmedia-audiodev/bb10_dev.c @@ -0,0 +1,1176 @@ +/* $Id: bb10_dev.c 4782 2014-03-06 05:15:19Z bennylp $ */ +/* + * Copyright (C) 2008-2012 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/* + * This is the implementation of BlackBerry 10 (BB10) audio device. + * Original code was kindly donated by Truphone Ltd. (http://www.truphone.com) + * The key methods here are bb10_capture_open, bb10_play_open together + * with the capture and play threads ca_thread_func and pb_thread_func + */ + +#include +#include +#include +#include +#include +#include + +#if defined(PJMEDIA_AUDIO_DEV_HAS_BB10) && PJMEDIA_AUDIO_DEV_HAS_BB10 != 0 + +#ifndef PJ_BBSDK_VER + /* Format: 0xMMNNRR: MM: major, NN: minor, RR: revision */ +# define PJ_BBSDK_VER 0x100006 +#endif + +#include +#include +#include +#include +#include +#include +#include +#if PJ_BBSDK_VER >= 0x100006 +#include